|
ACTS
Experiment-independent tracking
|
Generates a portal box around a volume that already contains surfaces. More...
#include <detray/builders/cylinder_portal_generator.hpp>
Classes | |
| struct | boundaries |
| Save the boundaries of the cylinder after autofitting the portals. More... | |
Public Member Functions | |
| cylinder_portal_generator (const cylinder_portal_config< scalar_t > &cfg) | |
Construct from configuration cfg. | |
| 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 |
| Create minimum aabbs around all surfaces that are passed and then construct cylinder and disc portals using the measures of the global aabb. | |
| auto | push_back (std::vector< surface_data< detector_t > > &&) -> void override |
| Ignore inserted surface records; portal geometry is derived from the existing volume surfaces when this generator is invoked. | |
| void | push_back (surface_data< detector_t > &&) override |
| Add data to the factory. | |
| auto | size () const -> dindex override |
| const boundaries & | volume_boundaries () const |
| Access the volume boundaries after fitting. | |
| 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. | |
Generates a portal box around a volume that already contains surfaces.
| detector_t | the type of detector the volume belongs to. |
|
explicit |
Construct from configuration cfg.
| cfg | Configuration for bounds, envelope, and adjacent volumes. |
|
overridevirtual |
Clear all data in the factory.
Implements detray::surface_factory_interface< detector_t >.
|
overridevirtual |
Create minimum aabbs around all surfaces that are passed and then construct cylinder and disc portals using the measures of the global aabb.
| volume | the volume the portals need to be added to. |
| surfaces | the surface collection to wrap and to add the portals to |
| transforms | the transforms of the surfaces. |
| masks | the masks of the surfaces. |
| ctx | the geometry context (not needed for portals). |
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 >.
|
override |
| const boundaries & detray::cylinder_portal_generator< detector_t >::volume_boundaries | ( | ) | const |
Access the volume boundaries after fitting.