ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
detray::endcap_generator< detector_t, mask_shape_t > Class Template Referencefinal

Generates surfaces for an endcap layer consisting of two rings. More...

#include <detray/test/common/factories/endcap_generator.hpp>

Inheritance diagram for detray::endcap_generator< detector_t, mask_shape_t >:
[legend]
Collaboration diagram for detray::endcap_generator< detector_t, mask_shape_t >:
[legend]

Public Member Functions

 endcap_generator (const endcap_generator_config< scalar_t > &cfg)
 Build an endcap layer according to the parameters given in.
auto operator() (typename detector_t::volume_type &volume, typename detector_t::surface_lookup_container &surfaces, typename detector_t::transform_container &transforms, typename detector_t::mask_container &masks, typename detector_t::geometry_context ctx={}) -> dindex_range override
 Create a pixel tracker endcap layer with two rings.
auto size () const -> dindex override
void clear () override
 This is a surface generator, no external surface data needed.
void push_back (surface_data< detector_t > &&) override
 Add data to the factory.
auto push_back (std::vector< surface_data< detector_t > > &&) -> void override
 Ignore supplied surface data because this factory generates its own.
Public Member Functions inherited from detray::surface_factory_interface< detector_t >
virtual dindex size () const =0
virtual void push_back (std::vector< surface_data< detector_t > > &&data)=0

Additional Inherited Members

Public Types inherited from detray::surface_factory_interface< detector_t >
using navigation_link = typename detector_t::surface_type::navigation_link
 Navigation link type used by surfaces produced by the factory.
Protected Member Functions inherited from detray::surface_factory_interface< detector_t >
template<typename container_t, typename... Args>
dindex insert_in_container (container_t &cont, const typename container_t::value_type value, const dindex idx, Args &&...args) const
 Insert a value in a container at a specific index.

Detailed Description

template<concepts::detector detector_t, typename mask_shape_t = trapezoid2D>
class detray::endcap_generator< detector_t, mask_shape_t >

Generates surfaces for an endcap layer consisting of two rings.

Template Parameters
detector_tthe type of detector the layer should be added to

Constructor & Destructor Documentation

◆ endcap_generator()

template<concepts::detector detector_t, typename mask_shape_t = trapezoid2D>
detray::endcap_generator< detector_t, mask_shape_t >::endcap_generator ( const endcap_generator_config< scalar_t > & cfg)
explicit

Build an endcap layer according to the parameters given in.

Parameters
cfg

Member Function Documentation

◆ clear()

template<concepts::detector detector_t, typename mask_shape_t = trapezoid2D>
void detray::endcap_generator< detector_t, mask_shape_t >::clear ( )
overridevirtual

This is a surface generator, no external surface data needed.

Implements detray::surface_factory_interface< detector_t >.

◆ operator()()

template<concepts::detector detector_t, typename mask_shape_t = trapezoid2D>
auto detray::endcap_generator< detector_t, mask_shape_t >::operator() ( typename detector_t::volume_type & volume,
typename detector_t::surface_lookup_container & surfaces,
typename detector_t::transform_container & transforms,
typename detector_t::mask_container & masks,
typename detector_t::geometry_context ctx = {} )->dindex_range
overridevirtual

Create a pixel tracker endcap layer with two rings.

Parameters
volumethe volume the portals need to be added to.
surfacesthe surface collection to wrap and to add the portals to
transformsthe transforms of the surfaces.
masksthe masks of the surfaces.
ctxthe geometry context (not needed for portals).
Returns
range of generated surfaces

Implements detray::surface_factory_interface< detector_t >.

◆ push_back()

template<concepts::detector detector_t, typename mask_shape_t = trapezoid2D>
void detray::endcap_generator< detector_t, mask_shape_t >::push_back ( surface_data< detector_t > && data)
overridevirtual

Add data to the factory.

Parameters
dataSurface record to append.

Implements detray::surface_factory_interface< detector_t >.

◆ size()

template<concepts::detector detector_t, typename mask_shape_t = trapezoid2D>
auto detray::endcap_generator< detector_t, mask_shape_t >::size ( ) const->dindex
override
Returns
the number of surfaces this factory will produce