|
ACTS
Experiment-independent tracking
|
Generates track states with momentum directions in a uniform angle space. More...
#include <detray/test/common/event_generator/uniform_track_generator.hpp>
Public Types | |
| using | configuration = uniform_track_generator_config<scalar_t> |
| Configure how tracks are generated. | |
| using | iterator_t = iterator |
| Iterator type used to enumerate generated tracks. | |
| using | track_type = track_t |
| Track type produced by the generator. | |
Public Member Functions | |
| constexpr | uniform_track_generator ()=default |
| Default constructor. | |
| constexpr | uniform_track_generator (configuration cfg) |
Construct from external configuration cfg. | |
| uniform_track_generator (std::size_t n_phi, std::size_t n_theta, scalar_t p_mag=1.f *unit< scalar_t >::GeV, bool uniform_eta=false, scalar_t charge=-1.f *unit< scalar_t >::e) | |
| Paramtetrized constructor for quick construction of simple tasks. | |
| uniform_track_generator (uniform_track_generator &&other) noexcept | |
| Move constructor. | |
| constexpr auto | begin () noexcept -> iterator |
| constexpr configuration & | config () |
| Access the configuration. | |
| constexpr auto | end () noexcept -> iterator |
| constexpr uniform_track_generator & | operator= (const uniform_track_generator &other) |
| Copy assignment operator. | |
| constexpr auto | size () const noexcept -> std::size_t |
Generates track states with momentum directions in a uniform angle space.
It generates the track instances on the fly according to given parameters and with the momentum direction determined by phi and theta angles, which are advanced as the iteration proceeds. The angle space spans theta [0, pi) x phi [-pi, pi), while the step sizes (and with them the number of generated tracks) are configurable.
| track_t | the type of track parametrization that should be used. |
|
explicitconstexpr |
Construct from external configuration cfg.
| cfg | Track generation configuration. |
| detray::uniform_track_generator< track_t, generator_t >::uniform_track_generator | ( | std::size_t | n_phi, |
| std::size_t | n_theta, | ||
| scalar_t | p_mag = 1.f * unit<scalar_t>::GeV, | ||
| bool | uniform_eta = false, | ||
| scalar_t | charge = -1.f * unit<scalar_t>::e ) |
Paramtetrized constructor for quick construction of simple tasks.
configuration type| n_theta | the number of steps in the theta space |
| n_phi | the number of steps in the phi space |
| p_mag | magnitude of the track momentum (in GeV) |
| uniform_eta | uniformly step through eta space instead of theta |
| charge | charge of particle (e) |
|
noexcept |
Move constructor.
| other | Generator to move from. |
|
constexprnoexcept |
|
constexpr |
Access the configuration.
|
constexprnoexcept |
|
constexpr |
Copy assignment operator.
| other | Generator to copy from. |
|
constexprnoexcept |