ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FW::EventGenerator Exception Referencefinal

#include <acts/blob/master/Examples/Algorithms/Generators/ACTFW/Generators/EventGenerator.hpp>

+ Inheritance diagram for FW::EventGenerator:
+ Collaboration diagram for FW::EventGenerator:

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::Loggerlogger () const
 

Private Attributes

Config m_cfg
 
std::unique_ptr< const
Acts::Logger
m_logger
 

Detailed Description

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

Member Typedef Documentation

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

Definition at line 50 of file EventGenerator.hpp.

View newest version in sPHENIX GitHub at line 50 of file EventGenerator.hpp

Definition at line 49 of file EventGenerator.hpp.

View newest version in sPHENIX GitHub at line 49 of file EventGenerator.hpp

Constructor & Destructor Documentation

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.

Member Function Documentation

std::pair< size_t, size_t > FW::EventGenerator::availableEvents ( ) const
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.

const Acts::Logger& FW::EventGenerator::logger ( ) const
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.

std::string FW::EventGenerator::name ( ) const
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

FW::ProcessCode FW::EventGenerator::read ( const AlgorithmContext context)
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.

+ Here is the call graph for this function:

Member Data Documentation

Config FW::EventGenerator::m_cfg
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().

std::unique_ptr<const Acts::Logger> FW::EventGenerator::m_logger
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().


The documentation for this exception was generated from the following files: