ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/master/Examples/Algorithms/Generators/ACTFW/Generators/EventGenerator.hpp>
Classes | |
struct | Config |
struct | Generator |
Public Types | |
using | MultiplicityGenerator = std::function< size_t(RandomEngine &)> |
using | VertexGenerator = std::function< Acts::ActsVector< double, 4 >(RandomEngine &)> |
using | ProcessGenerator = std::function< std::vector< SimVertex >(RandomEngine &)> |
Public Member Functions | |
EventGenerator (const Config &cfg, Acts::Logging::Level lvl) | |
std::string | name () const overridefinal |
Name of the reader. | |
std::pair< size_t, size_t > | availableEvents () const finaloverride |
Available events range. Always return [0,SIZE_MAX) since we generate them. | |
ProcessCode | read (const AlgorithmContext &context) overridefinal |
Generate an event. | |
Public Member Functions inherited from FW::IReader | |
virtual | ~IReader ()=default |
Private Member Functions | |
const Acts::Logger & | logger () const |
Private Attributes | |
Config | m_cfg |
std::unique_ptr< const Acts::Logger > | m_logger |
Event generator based on separate process and vertex generators.
This must be a reader and not just an algorithm since it might read in pre-computed generator samples, e.g. via HEPMC, and therefore has an internal state that will be modified.
Definition at line 33 of file EventGenerator.hpp.
View newest version in sPHENIX GitHub at line 33 of file EventGenerator.hpp
using FW::EventGenerator::MultiplicityGenerator = std::function<size_t(RandomEngine&)> |
Combined set of generator functions.
Each generator creates a number of primary vertices (multiplicity), each with an separate vertex position and time (vertex), and a set of associated particles grouped into secondary vertices (process) anchored at the primary vertex position. The first group of particles generated by the process are the particles associated directly to the primary vertex.
The process generator is responsible for defining all components of the particle barcode except the primary vertex. The primary vertex will be set/overwritten by the event generator.
Definition at line 47 of file EventGenerator.hpp.
View newest version in sPHENIX GitHub at line 47 of file EventGenerator.hpp
using FW::EventGenerator::ProcessGenerator = std::function<std::vector<SimVertex>(RandomEngine&)> |
Definition at line 50 of file EventGenerator.hpp.
View newest version in sPHENIX GitHub at line 50 of file EventGenerator.hpp
using FW::EventGenerator::VertexGenerator = std::function<Acts::ActsVector<double, 4>(RandomEngine&)> |
Definition at line 49 of file EventGenerator.hpp.
View newest version in sPHENIX GitHub at line 49 of file EventGenerator.hpp
FW::EventGenerator::EventGenerator | ( | const Config & | cfg, |
Acts::Logging::Level | lvl | ||
) |
Definition at line 17 of file EventGenerator.cpp.
View newest version in sPHENIX GitHub at line 17 of file EventGenerator.cpp
References FW::EventGenerator::Config::generators, m_cfg, FW::EventGenerator::Config::output, and FW::EventGenerator::Config::randomNumbers.
|
finaloverridevirtual |
Available events range. Always return [0,SIZE_MAX) since we generate them.
Implements FW::IReader.
Definition at line 34 of file EventGenerator.cpp.
View newest version in sPHENIX GitHub at line 34 of file EventGenerator.cpp
References Acts::UnitConstants::u.
|
inlineprivate |
Definition at line 78 of file EventGenerator.hpp.
View newest version in sPHENIX GitHub at line 78 of file EventGenerator.hpp
References m_logger.
|
finaloverridevirtual |
Name of the reader.
Implements FW::IReader.
Definition at line 30 of file EventGenerator.cpp.
View newest version in sPHENIX GitHub at line 30 of file EventGenerator.cpp
|
finaloverridevirtual |
Generate an event.
Implements FW::IReader.
Definition at line 38 of file EventGenerator.cpp.
View newest version in sPHENIX GitHub at line 38 of file EventGenerator.cpp
References ACTS_DEBUG, ACTS_VERBOSE, FW::WhiteBoard::add(), FW::AlgorithmContext::eventNumber, FW::AlgorithmContext::eventStore, G4INCL::PhaseSpaceGenerator::generate(), n, particle, pid, and SUCCESS.
|
private |
Definition at line 80 of file EventGenerator.hpp.
View newest version in sPHENIX GitHub at line 80 of file EventGenerator.hpp
Referenced by EventGenerator().
|
private |
Definition at line 81 of file EventGenerator.hpp.
View newest version in sPHENIX GitHub at line 81 of file EventGenerator.hpp
Referenced by logger().