DD4hep  1.36.0
Detector Description Toolkit for High Energy Physics
Public Types | Public Member Functions | List of all members
dd4hep::sim::LCIOEventReader Class Referenceabstract

Base class to read lcio files. More...

#include <LCIOEventReader.h>

Inheritance diagram for dd4hep::sim::LCIOEventReader:
dd4hep::sim::Geant4EventReader dd4hep::sim::LCIOFileReader dd4hep::sim::LCIOStdHepReader

Public Types

using CollectionOwner = std::unique_ptr< EVENT::LCCollection, void(*)(EVENT::LCCollection *)>
 
- Public Types inherited from dd4hep::sim::Geant4EventReader
enum  EventReaderStatus {
  EVENT_READER_ERROR =0, EVENT_READER_OK =1, EVENT_READER_NO_DIRECT =2, EVENT_READER_NO_PRIMARIES =4,
  EVENT_READER_NO_FACTORY =6, EVENT_READER_IO_ERROR =8, EVENT_READER_EOF =10
}
 Status codes of the event reader object. Anything with NOT low-bit set is an error. More...
 
typedef Geant4Vertex Vertex
 
typedef Geant4Particle Particle
 
typedef std::vector< Particle * > Particles
 
typedef std::vector< Vertex * > Vertices
 

Public Member Functions

 LCIOEventReader (const std::string &nam)
 Initializing constructor. More...
 
virtual ~LCIOEventReader ()
 Default destructor. More...
 
virtual EventReaderStatus readParticles (int event_number, Vertices &vertices, std::vector< Particle * > &particles)
 Read an event and fill a vector of MCParticles. More...
 
virtual EventReaderStatus readParticleCollection (int event_number, CollectionOwner &particles)=0
 
- Public Member Functions inherited from dd4hep::sim::Geant4EventReader
 Geant4EventReader (const std::string &nam)
 Initializing constructor. More...
 
virtual ~Geant4EventReader ()
 Default destructor. More...
 
Geant4Contextcontext () const
 Get the context (from the input action) More...
 
void setInputAction (Geant4InputAction *action)
 Set the input action. More...
 
const std::string & name () const
 File name. More...
 
bool hasDirectAccess () const
 Flag if direct event access (by event sequence number) is supported (Default: false) More...
 
int currentEventNumber () const
 return current Event Number More...
 
virtual EventReaderStatus moveToEvent (int event_number)
 Move to the indicated event number. More...
 
virtual EventReaderStatus skipEvent ()
 Skip event. To be implemented for sequential sources. More...
 
virtual EventReaderStatus readParticles (int event_number, Vertices &vertices, Particles &particles)=0
 Read an event and fill a vector of MCParticles. More...
 
virtual EventReaderStatus setParameters (std::map< std::string, std::string > &)
 pass parameters to the event reader object More...
 
virtual void checkParameters (std::map< std::string, std::string > &)
 make sure that all parameters have been processed, otherwise throw exceptions More...
 
virtual void registerRunParameters ()
 Register Run Parameters. More...
 

Additional Inherited Members

- Protected Member Functions inherited from dd4hep::sim::Geant4EventReader
template<typename T >
void _getParameterValue (std::map< std::string, std::string > &parameters, std::string const &parameterName, T &parameter, T defaultValue)
 transform the string parameter value into the type of parameter More...
 
- Protected Attributes inherited from dd4hep::sim::Geant4EventReader
std::string m_name
 File name to be opened and read. More...
 
bool m_directAccess { false }
 Flag if direct event access is supported. To be explicitly set by subclass constructors. More...
 
int m_currEvent { 0 }
 Current event number. More...
 
Geant4InputActionm_inputAction { nullptr }
 The input action context. More...
 

Detailed Description

Base class to read lcio files.

Author
P.Kostka (main author)
M.Frank (code reshuffeling into new DDG4 scheme)
Version
1.0

Definition at line 36 of file LCIOEventReader.h.

Member Typedef Documentation

◆ CollectionOwner

using dd4hep::sim::LCIOEventReader::CollectionOwner = std::unique_ptr<EVENT::LCCollection, void(*)(EVENT::LCCollection*)>

unique_ptr type for a particle collection. The deleter is either a no-op (collection owned by the reader) or calls delete (caller-owned collection)

Definition at line 40 of file LCIOEventReader.h.

Constructor & Destructor Documentation

◆ LCIOEventReader()

LCIOEventReader::LCIOEventReader ( const std::string &  nam)

Initializing constructor.

Definition at line 50 of file LCIOEventReader.cpp.

◆ ~LCIOEventReader()

LCIOEventReader::~LCIOEventReader ( )
virtual

Default destructor.

Definition at line 56 of file LCIOEventReader.cpp.

Member Function Documentation

◆ readParticleCollection()

virtual EventReaderStatus dd4hep::sim::LCIOEventReader::readParticleCollection ( int  event_number,
CollectionOwner particles 
)
pure virtual

Read an event and return a LCCollectionVec of MCParticles. Implementations set particles to a CollectionOwner whose deleter reflects ownership: a no-op if the collection is owned by the reader, or delete if it is caller-owned.

Implemented in dd4hep::sim::LCIOStdHepReader, and dd4hep::sim::LCIOFileReader.

◆ readParticles()

LCIOEventReader::EventReaderStatus LCIOEventReader::readParticles ( int  event_number,
Vertices vertices,
std::vector< Particle * > &  particles 
)
virtual

Read an event and fill a vector of MCParticles.

Definition at line 62 of file LCIOEventReader.cpp.


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