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

#include <acts/blob/sPHENIX/Examples/Algorithms/Generators/ActsExamples/Generators/EventGenerator.hpp>

+ Inheritance diagram for ActsExamples::EventGenerator:
+ Collaboration diagram for ActsExamples::EventGenerator:

Classes

struct  Config
 
struct  Generator
 

Public Types

using MultiplicityGenerator = std::function< size_t(RandomEngine &)>
 
using VertexGenerator = std::function< Acts::Vector4D(RandomEngine &)>
 
using ParticlesGenerator = std::function< SimParticleContainer(RandomEngine &)>
 

Public Member Functions

 EventGenerator (const Config &cfg, Acts::Logging::Level lvl)
 
std::string name () const final
 Name of the reader.
 
std::pair< size_t, size_t > availableEvents () const final
 Available events range. Always return [0,SIZE_MAX) since we generate them.
 
ProcessCode read (const AlgorithmContext &context) final
 Generate an event.
 
- Public Member Functions inherited from ActsExamples::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 particles 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 49 of file EventGenerator.hpp.

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

Definition at line 48 of file EventGenerator.hpp.

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

Constructor & Destructor Documentation

ActsExamples::EventGenerator::EventGenerator ( const Config cfg,
Acts::Logging::Level  lvl 
)

Member Function Documentation

std::pair< size_t, size_t > ActsExamples::EventGenerator::availableEvents ( ) const
finalvirtual

Available events range. Always return [0,SIZE_MAX) since we generate them.

Implements ActsExamples::IReader.

Definition at line 35 of file EventGenerator.cpp.

View newest version in sPHENIX GitHub at line 35 of file EventGenerator.cpp

References Acts::UnitConstants::u.

const Acts::Logger& ActsExamples::EventGenerator::logger ( ) const
inlineprivate

Definition at line 75 of file EventGenerator.hpp.

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

References m_logger.

std::string ActsExamples::EventGenerator::name ( ) const
finalvirtual

Name of the reader.

Implements ActsExamples::IReader.

Definition at line 31 of file EventGenerator.cpp.

View newest version in sPHENIX GitHub at line 31 of file EventGenerator.cpp

Referenced by eicpy.verify.PythiaHistograms::__init__(), and eicpy.verify.DjangohHistograms::__init__().

+ Here is the caller graph for this function:

ActsExamples::ProcessCode ActsExamples::EventGenerator::read ( const AlgorithmContext context)
finalvirtual

Generate an event.

Implements ActsExamples::IReader.

Definition at line 40 of file EventGenerator.cpp.

View newest version in sPHENIX GitHub at line 40 of file EventGenerator.cpp

References ACTS_DEBUG, ACTS_VERBOSE, ActsExamples::WhiteBoard::add(), ActsExamples::AlgorithmContext::eventNumber, ActsExamples::AlgorithmContext::eventStore, n, particle, pid, Acts::Test::pos4(), and SUCCESS.

+ Here is the call graph for this function:

Member Data Documentation

Config ActsExamples::EventGenerator::m_cfg
private

Definition at line 77 of file EventGenerator.hpp.

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

Referenced by EventGenerator().

std::unique_ptr<const Acts::Logger> ActsExamples::EventGenerator::m_logger
private

Definition at line 78 of file EventGenerator.hpp.

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

Referenced by logger().


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