|
aegir
Phlex-based simulation framework for the SHiP experiment.
|
Namespaces | |
| namespace | clhep |
Classes | |
| class | PhiloxRng |
Typedefs | |
| using | mc_particle_generator = std::function< std::vector< SHiP::MCParticle >(phlex::data_cell_index const &)> |
| using | event_header_generator = std::function< SHiP::EventHeader(phlex::data_cell_index const &)> |
| using | PythiaTime = mp_units::quantity< ship::units::mm_per_c, double > |
Functions | |
| double | magnitude (std::array< double, 3 > const &v) |
| phlex::detail::provider_bundles | mc_particle_provider_bundles (phlex::product_selector const &selector, mc_particle_generator generate, phlex::concurrency max_concurrency, event_header_generator generate_header={}) |
| template<typename Registrar , typename Source > | |
| void | provide_constant (Registrar &s, char const *algorithm, std::shared_ptr< Source > source, char const *creator, char const *suffix, char const *layer) |
| int | pythia_seed (std::uint32_t base, int extra_streams=0) |
| template<typename Pythia > | |
| void | configure_beams (Pythia &pythia, int idA, int idB, ship::Energy beam_energy) |
| template<typename Pythia > | |
| void | stabilise_long_lived (Pythia &pythia, PythiaTime tau0_threshold) |
| template<typename Pythia > | |
| void | next_event (Pythia &pythia, std::string_view source_name, int max_attempts=10) |
| template<typename MCParticle > | |
| std::vector< MCParticle > | extract_particles (Pythia8::Event const &event, ship::Length z_offset=ship::Length::zero()) |
| std::uint32_t | resolve_seed (phlex::configuration const &config, std::string const &component) |
| template<auto U> | |
| mp_units::quantity< U, double > | get_quantity (phlex::configuration const &config, std::string const &key, mp_units::quantity< U, double > fallback) |
Read config key key as a quantity in the unit of fallback, e.g. | |
| using aegir::event_header_generator = typedef std::function<SHiP::EventHeader(phlex::data_cell_index const&)> |
| using aegir::mc_particle_generator = typedef std::function<std::vector<SHiP::MCParticle>(phlex::data_cell_index const&)> |
| using aegir::PythiaTime = typedef mp_units::quantity<ship::units::mm_per_c, double> |
| void aegir::configure_beams | ( | Pythia & | pythia, |
| int | idA, | ||
| int | idB, | ||
| ship::Energy | beam_energy | ||
| ) |
| std::vector< MCParticle > aegir::extract_particles | ( | Pythia8::Event const & | event, |
| ship::Length | z_offset = ship::Length::zero() |
||
| ) |
| mp_units::quantity< U, double > aegir::get_quantity | ( | phlex::configuration const & | config, |
| std::string const & | key, | ||
| mp_units::quantity< U, double > | fallback | ||
| ) |
Read config key key as a quantity in the unit of fallback, e.g.
auto beam_energy = get_quantity(config, "beam_energy", 400.0 * su::GeV);
|
inline |
|
inline |
| void aegir::next_event | ( | Pythia & | pythia, |
| std::string_view | source_name, | ||
| int | max_attempts = 10 |
||
| ) |
| void aegir::provide_constant | ( | Registrar & | s, |
| char const * | algorithm, | ||
| std::shared_ptr< Source > | source, | ||
| char const * | creator, | ||
| char const * | suffix, | ||
| char const * | layer | ||
| ) |
|
inline |
|
inline |
| void aegir::stabilise_long_lived | ( | Pythia & | pythia, |
| PythiaTime | tau0_threshold | ||
| ) |