|
ACTS
Experiment-independent tracking
|
How to generate surfaces with their corresponding masks and transforms. More...
#include <detray/builders/surface_factory_interface.hpp>
Public Types | |
| using | navigation_link = typename detector_t::surface_type::navigation_link |
| Navigation link type used by surfaces produced by the factory. | |
Public Member Functions | |
| virtual void | clear ()=0 |
| Clear all data in the factory. | |
| virtual 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=0 |
| Construct detector components from the data in the factory and add them the containers of a volume builder. | |
| virtual dindex | size () const =0 |
| virtual void | push_back (surface_data< detector_t > &&data)=0 |
| Add data to the factory. | |
| virtual void | push_back (std::vector< surface_data< detector_t > > &&data)=0 |
Protected Member Functions | |
| 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. | |
How to generate surfaces with their corresponding masks and transforms.
Can be hard coded surface generation or json reader.
|
pure virtual |
Clear all data in the factory.
Implemented in detray::barrel_generator< detector_t, mask_shape_t >, detray::cuboid_portal_generator< detector_t >, detray::cylinder_portal_generator< detector_t >, detray::endcap_generator< detector_t, mask_shape_t >, detray::factory_decorator< detector_t >, detray::telescope_generator< detector_t, mask_shape_t, trajectory_t >, and detray::wire_layer_generator< detector_t, mask_shape_t >.
|
protected |
Insert a value in a container at a specific index.
| cont | the container to be filled |
| value | the value to be put into the container |
| idx | the position where to insert the value |
| args | optional additional parameters for the container access |
|
pure virtual |
Construct detector components from the data in the factory and add them the containers of a volume builder.
| 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. |
Implemented in detray::barrel_generator< detector_t, mask_shape_t >, detray::cuboid_portal_generator< detector_t >, detray::cylinder_portal_generator< detector_t >, detray::endcap_generator< detector_t, mask_shape_t >, detray::factory_decorator< detector_t >, detray::homogeneous_material_factory< detector_t >, detray::homogeneous_material_generator< detector_t >, detray::material_map_factory< detector_t, index_t >, detray::material_map_generator< detector_t >, detray::surface_factory< detector_t, mask_shape_t >, detray::surface_factory< detector_t, unmasked<> >, detray::telescope_generator< detector_t, mask_shape_t, trajectory_t >, and detray::wire_layer_generator< detector_t, mask_shape_t >.
|
pure virtual |
| data | Surface records to append in order. |
Implemented in detray::factory_decorator< detector_t >.
|
pure virtual |
Add data to the factory.
| data | Surface record to append. |
Implemented in detray::barrel_generator< detector_t, mask_shape_t >, detray::cuboid_portal_generator< detector_t >, detray::cylinder_portal_generator< detector_t >, detray::endcap_generator< detector_t, mask_shape_t >, detray::factory_decorator< detector_t >, detray::surface_factory< detector_t, mask_shape_t >, detray::surface_factory< detector_t, unmasked<> >, detray::telescope_generator< detector_t, mask_shape_t, trajectory_t >, and detray::wire_layer_generator< detector_t, mask_shape_t >.
|
pure virtual |
Implemented in detray::factory_decorator< detector_t >.