|
ACTS
Experiment-independent tracking
|
Provides basic functionality to build detector volumes. More...
#include <detray/builders/volume_builder.hpp>
Public Types | |
| using | geo_obj_ids = typename detector_t::geo_obj_ids |
| Identifier enum for the detector's geometry object categories. | |
| using | scalar_t = dscalar<typename detector_t::algebra_type> |
| Scalar type used by this detector's geometry. | |
| using | volume_type = typename detector_t::volume_type |
| Volume descriptor type produced by the builder. | |
| Public Types inherited from detray::volume_builder_interface< detector_t > | |
| 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 | |
| volume_builder (const volume_id id, const dindex idx=0) | |
| Parametrized Constructor. | |
| void | add_surfaces (std::shared_ptr< surface_factory_interface< detector_t > > sf_factory, typename detector_t::geometry_context ctx={}) override |
| Add data for (a) new surface(s) to the builder. | |
| void | add_volume_placement (const typename detector_t::point3_type &t) override |
| Constructs a placement transform with identity rotation and translation. | |
| void | add_volume_placement (const typename detector_t::point3_type &t, const typename detector_t::vector3_type &x, const typename detector_t::vector3_type &z) override |
Constructs a placement transform from axes x and z and the translation t for the volume. | |
| void | add_volume_placement (const typename detector_t::transform3_type &trf={}) override |
| Adds a placement transform. | |
| auto | build (detector_t &det, const volume_builder_options &opt, typename detector_t::geometry_context ctx={}) -> typename detector_t::volume_type *override |
Build the volume with internal surfaces and portals and add it to the detector instance det. | |
| bool | has_accel () const override |
| void | has_accel (bool toggle) override |
| Toggles whether sensitive surfaces are added to the brute force method. | |
| std::string_view | name () override |
| auto | operator() () -> typename detector_t::volume_type &override |
| Access to the volume under construction - non-const. | |
| auto | operator() () const -> const typename detector_t::volume_type &override |
| Access to the volume under construction - const. | |
| void | set_name (std::string volume_name) override |
Sets the name volume_name for the volume. | |
| auto | vol_index () const -> dindex override |
| Public Member Functions inherited from detray::volume_builder_interface< detector_t > | |
| 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. | |
Protected Member Functions | |
| template<geo_obj_ids surface_id = static_cast<geo_obj_ids>(0)> | |
| auto | add_to_detector (const volume_builder_options &opt, const typename detector_t::geometry_context ctx, detector_t &det) noexcept(false) -> void |
| Adds a new full set of volume components (e.g. | |
| detector_t::mask_container & | masks () override |
| detector_t::surface_lookup_container & | surfaces () override |
| detector_t::transform_container & | transforms () override |
| Protected Member Functions inherited from detray::volume_builder_interface< detector_t > | |
Provides basic functionality to build detector volumes.
|
explicit |
Parametrized Constructor.
| id | flags the type of volume geometry (e.g. cylindrical, cuboid) |
| idx | the index of the volume in the detector volume container |
|
overridevirtual |
Add data for (a) new surface(s) to the builder.
| sf_factory | Factory that creates the surfaces and masks. |
| ctx | Geometry context used when constructing transforms. |
Implements detray::volume_builder_interface< detector_t >.
|
protected |
Adds a new full set of volume components (e.g.
transforms or masks) to the global detector data stores and updates all links.
| opt | Options controlling deduplication and geometry storage. |
| ctx | is the geometry_context of the call |
| det | is the detector instance that the volume should be added to |
|
override |
Constructs a placement transform with identity rotation and translation.
| t | for the volume |
|
override |
Constructs a placement transform from axes x and z and the translation t for the volume.
| t | Translation of the volume in global coordinates. |
| x | Local x axis in global coordinates. |
| z | Local z axis in global coordinates. |
|
override |
Adds a placement transform.
| trf | for the volume |
|
overridevirtual |
Build the volume with internal surfaces and portals and add it to the detector instance det.
| det | Detector that receives the built geometry. |
| opt | Options controlling volume construction. |
| ctx | Geometry context used when storing transforms. |
Implements detray::volume_builder_interface< detector_t >.
|
overridevirtual |
Implements detray::volume_builder_interface< detector_t >.
|
overridevirtual |
Toggles whether sensitive surfaces are added to the brute force method.
| toggle | True to retain sensitive surfaces in the brute-force accelerator. |
Implements detray::volume_builder_interface< detector_t >.
|
overrideprotectedvirtual |
Implements detray::volume_builder_interface< detector_t >.
|
overridevirtual |
Implements detray::volume_builder_interface< detector_t >.
|
overridevirtual |
Access to the volume under construction - non-const.
Implements detray::volume_builder_interface< detector_t >.
|
overridevirtual |
Access to the volume under construction - const.
Implements detray::volume_builder_interface< detector_t >.
|
overridevirtual |
Sets the name volume_name for the volume.
| volume_name | Name to assign to the volume. |
Implements detray::volume_builder_interface< detector_t >.
|
overrideprotectedvirtual |
Implements detray::volume_builder_interface< detector_t >.
|
overrideprotectedvirtual |
Implements detray::volume_builder_interface< detector_t >.
|
overridevirtual |
Implements detray::volume_builder_interface< detector_t >.