|
ACTS
Experiment-independent tracking
|
Decorator for the surface factories. More...
#include <detray/builders/surface_factory_interface.hpp>
Public Member Functions | |
| factory_decorator (std::unique_ptr< surface_factory_interface< detector_t > > factory) | |
| Wrap a concrete surface factory and forward interface calls to it. | |
| const surface_factory_interface< detector_t > * | get_factory () const |
| dindex | size () const override |
| Overwrite interface functions using callbacks to the base factory. | |
| void | push_back (surface_data< detector_t > &&data) override |
| Add data to the factory. | |
| void | push_back (std::vector< surface_data< detector_t > > &&data) override |
| Forward a batch of surface records to the wrapped factory. | |
| void | clear () override |
| Clear all data in the factory. | |
| 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 |
| Public Member Functions inherited from detray::surface_factory_interface< detector_t > | |
Protected Member Functions | |
| surface_factory_interface< detector_t > * | get_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. | |
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. | |
Decorator for the surface factories.
Delegates all mandatory method calls to the underlying surface factory
|
explicit |
Wrap a concrete surface factory and forward interface calls to it.
| factory | Factory whose behavior is decorated. |
|
overridevirtual |
Clear all data in the factory.
Implements detray::surface_factory_interface< detector_t >.
|
protected |
| const surface_factory_interface< detector_t > * detray::factory_decorator< detector_t >::get_factory | ( | ) | const |
|
overridevirtual |
| volume | Volume receiving the generated surfaces. |
| surfaces | Detector surface lookup to append to. |
| transforms | Detector transform store to append to. |
| masks | Detector mask store to append to. |
| ctx | Geometry context used when constructing transforms. |
Implements detray::surface_factory_interface< detector_t >.
Reimplemented in detray::homogeneous_material_factory< detector_t >, detray::homogeneous_material_generator< detector_t >, detray::material_map_factory< detector_t, index_t >, and detray::material_map_generator< detector_t >.
|
overridevirtual |
Forward a batch of surface records to the wrapped factory.
| data | Surface records to append in order. |
Implements detray::surface_factory_interface< detector_t >.
|
overridevirtual |
Add data to the factory.
| data | Surface record to append. |
Implements detray::surface_factory_interface< detector_t >.
|
overridevirtual |
Overwrite interface functions using callbacks to the base factory.
Implements detray::surface_factory_interface< detector_t >.