|
ACTS
Experiment-independent tracking
|
Interface for volume builders (and volume builder decorators). More...
#include <detray/builders/volume_builder_interface.hpp>
Public Types | |
| using | algebra_type = typename detector_t::algebra_type |
| Algebra type used by the detector. | |
| using | scalar_type = dscalar<algebra_type> |
| Scalar type used by the detector's algebra. | |
Public Member Functions | |
| virtual void | add_surfaces (std::shared_ptr< surface_factory_interface< detector_t > > sf_factory, typename detector_t::geometry_context ctx={})=0 |
| Add surfaces to the volume. | |
| virtual void | add_volume_placement (const dpoint3D< algebra_type > &t)=0 |
Add the transform for the volume placement from the translation t. | |
| virtual void | add_volume_placement (const dpoint3D< algebra_type > &t, const dvector3D< algebra_type > &x, const dvector3D< algebra_type > &z)=0 |
Add the transform for the volume placement from the translation t , the new x- and z-axis (x, z). | |
| virtual void | add_volume_placement (const dtransform3D< algebra_type > &trf={})=0 |
| Add the transform for the volume placement - copy. | |
| virtual auto | build (detector_t &det, const volume_builder_options &opt, typename detector_t::geometry_context ctx={}) -> typename detector_t::volume_type *=0 |
| Adds a volume and all of its contents to a detector. | |
| virtual bool | has_accel () const =0 |
| virtual void | has_accel (bool toggle)=0 |
| Toggles whether sensitive surfaces are added to the brute force method. | |
| virtual std::string_view | name ()=0 |
| virtual auto | operator() () -> typename detector_t::volume_type &=0 |
| Returns mutable access to the volume being built. | |
| virtual auto | operator() () const -> const typename detector_t::volume_type &=0 |
| Returns const access to the volume being built. | |
| virtual void | set_name (std::string volume_name)=0 |
Sets the name volume_name for the volume. | |
| virtual auto | vol_index () const -> dindex=0 |
Protected Member Functions | |
| virtual detector_t::surface_lookup_container & | surfaces ()=0 |
| Access to builder data. | |
| virtual detector_t::transform_container & | transforms ()=0 |
| Returns mutable access to the builder's transforms. | |
| virtual detector_t::mask_container & | masks ()=0 |
| Returns mutable access to the builder's masks. | |
Interface for volume builders (and volume builder decorators).
|
pure virtual |
Add surfaces to the volume.
| sf_factory | Factory that supplies surfaces for the volume. |
| ctx | Geometry context used while adding surfaces. |
Implemented in detray::homogeneous_material_builder< detector_t >, detray::material_map_builder< detector_t, DIM, mat_map_factory_t >, detray::volume_builder< detector_t >, and detray::volume_decorator< detector_t >.
|
pure virtual |
Add the transform for the volume placement from the translation t.
The rotation will be the identity matrix.
| t | Translation of the volume placement. |
|
pure virtual |
Add the transform for the volume placement from the translation t , the new x- and z-axis (x, z).
| t | Translation of the volume placement. |
| x | New x-axis of the placement. |
| z | New z-axis of the placement. |
|
pure virtual |
Add the transform for the volume placement - copy.
| trf | Transform to copy into the placement. |
|
pure virtual |
Adds a volume and all of its contents to a detector.
| det | Detector receiving the volume. |
| opt | Options controlling deduplication and sorting. |
| ctx | Geometry context used while building. |
Implemented in detray::grid_builder< detector_t, grid_t, bin_filler_t, grid_factory_t >, detray::grid_builder< detector_t, typename grid_factory_t< bin_t, serializer_t, typename detector_t::algebra_type >::template grid_type< axes< grid_shape_t, e_bounds, binning_ts... > >, grid_factory_t< bin_t, serializer_t, typename detector_t::algebra_type > >, detray::homogeneous_material_builder< detector_t >, detray::homogeneous_volume_material_builder< detector_t >, detray::material_map_builder< detector_t, DIM, mat_map_factory_t >, detray::volume_builder< detector_t >, and detray::volume_decorator< detector_t >.
|
pure virtual |
Implemented in detray::volume_builder< detector_t >, and detray::volume_decorator< detector_t >.
|
pure virtual |
Toggles whether sensitive surfaces are added to the brute force method.
| toggle | Whether to add sensitive surfaces to the brute force method. |
Implemented in detray::volume_builder< detector_t >, and detray::volume_decorator< detector_t >.
|
protectedpure virtual |
Returns mutable access to the builder's masks.
Implemented in detray::volume_builder< detector_t >, and detray::volume_decorator< detector_t >.
|
pure virtual |
Implemented in detray::volume_builder< detector_t >, and detray::volume_decorator< detector_t >.
|
pure virtual |
Returns mutable access to the volume being built.
Implemented in detray::volume_builder< detector_t >, and detray::volume_decorator< detector_t >.
|
pure virtual |
Returns const access to the volume being built.
Implemented in detray::volume_builder< detector_t >, and detray::volume_decorator< detector_t >.
|
pure virtual |
Sets the name volume_name for the volume.
| volume_name | Name to assign to the volume. |
Implemented in detray::volume_builder< detector_t >, and detray::volume_decorator< detector_t >.
|
protectedpure virtual |
Access to builder data.
Implemented in detray::volume_builder< detector_t >, and detray::volume_decorator< detector_t >.
|
protectedpure virtual |
Returns mutable access to the builder's transforms.
Implemented in detray::volume_builder< detector_t >, and detray::volume_decorator< detector_t >.
|
pure virtual |
init_vol Implemented in detray::volume_builder< detector_t >, and detray::volume_decorator< detector_t >.