|
|
constexpr | random_track_generator ()=default |
| | Default constructor.
|
| constexpr | random_track_generator (const configuration &cfg) |
| | Construct from external configuration.
|
| | random_track_generator (random_track_generator &&other) noexcept |
| | Move constructor.
|
| | random_track_generator (std::size_t n_tracks_, darray< scalar_t, 2 > mom_range={1.f *unit< scalar_t >::GeV, 1.f *unit< scalar_t >::GeV}, scalar_t charge=-1.f *unit< scalar_t >::e) |
| | Paramtetrized constructor for quick construction of simple tasks.
|
| auto | begin () noexcept -> iterator |
| constexpr configuration & | config () |
| | Access the configuration.
|
| auto | end () noexcept -> iterator |
| constexpr auto | size () const noexcept -> std::size_t |
template<typename track_t, typename generator_t = detail::random_numbers<dscalar<typename track_t::algebra_type>>>
class detray::random_track_generator< track_t, generator_t >
Generates track states with random momentum directions.
Generates the phi and theta angles of the track momentum according to a given random number distribution.
- Template Parameters
-
| track_t | the type of track parametrization that should be used. |
| generator_t | source of random numbers |
- Note
- Since the random number generator might not be copy constructible, neither is this generator. The iterators hold a reference to the rand generator, which must not be invalidated during the iteration.
-
the random numbers are clamped to fit the phi/theta ranges. This can effect distribution mean etc.