MarlinMT  0.1.0
marlinmt::StdHepFileSource Class Reference

StdHepFileSource class. More...

Inherits marlinmt::DataSourcePlugin.

Public Member Functions

 StdHepFileSource ()
 
 ~StdHepFileSource ()=default
 
void initialize () override
 Init data source. More...
 
bool readOne () override
 Read one record from the input stream. More...
 
- Public Member Functions inherited from marlinmt::DataSourcePlugin
virtual ~DataSourcePlugin ()=default
 
 DataSourcePlugin (const std::string &dstype)
 Constructor. More...
 
const std::string & type () const
 Get the data source type. More...
 
const std::string & description () const
 Get the data source description. More...
 
virtual void readAll ()
 Read the full stream until the end See readOne() for details. More...
 
void onEventRead (EventFunction func)
 Set the callback function to process on event read. More...
 
void onRunHeaderRead (RunHeaderFunction func)
 Set the callback function to process on run header read. More...
 
- Public Member Functions inherited from marlinmt::Component
 Component ()=delete
 No default constructor. More...
 
 Component (const Component &)=delete
 No copy or assignement. More...
 
Componentoperator= (const Component &)=delete
 
virtual ~Component ()=default
 Default destructor. More...
 
 Component (const std::string &type)
 Constructor with component type. More...
 
const std::string & type () const
 Get the component name. More...
 
const std::string & name () const
 Get the component name. More...
 
void setName (const std::string &n)
 Set the component name. More...
 
const std::string & description () const
 Get the component description. More...
 
void setDescription (const std::string &desc)
 Set the component description. More...
 
const Applicationapplication () const
 Get the application in which the component is registered. More...
 
Applicationapplication ()
 Get the application in which the component is registered. More...
 
template<class T >
Logging::StreamType log () const
 Log a message with specific log level. More...
 
Logging::StreamType debug () const
 Shortcut for log<DEBUG>() More...
 
Logging::StreamType message () const
 Shortcut for log<MESSAGE>() More...
 
Logging::StreamType warning () const
 Shortcut for log<WARNING>() More...
 
Logging::StreamType error () const
 Shortcut for log<ERROR>() More...
 
void setVerbosity (const std::string &level)
 Set the verbosity level. More...
 
const std::string & verbosity () const
 Get the verbosity level. More...
 
bool isInitialized () const
 Whether the component has been initialized. More...
 
void setup (Application *app)
 Setup the component. More...
 
void printParameters () const
 Print the component parameters. More...
 
template<class T >
void printParameters () const
 Print the component parameters at specific verbosity. More...
 
void setParameters (const ConfigSection &section, bool throwIfNotFound=false)
 Set the parameters from the configuration section. More...
 
void getParameters (ConfigSection &section, const std::set< std::string > &exclude={}) const
 Get the parameters from configurable object and populate the config section with. More...
 
- Public Member Functions inherited from marlinmt::Configurable
 Configurable ()=default
 
virtual ~Configurable ()=default
 
template<typename T >
std::shared_ptr< ParameterImpladdParameter (EParameterType paramType, const std::string &name, const std::string &desc, std::shared_ptr< T > value)
 Add a parameter. More...
 
template<typename T >
std::shared_ptr< ParameterImpladdParameter (EParameterType paramType, const std::string &name, const std::string &desc, std::shared_ptr< T > value, T defVal)
 Add a parameter. More...
 
template<typename T >
parameter (const std::string &name) const
 Get a parameter value. More...
 
template<typename T >
parameter (const std::string &name, const T &fallback) const
 Get a parameter value. More...
 
void checkParameter (const std::string &name) const
 Check if the parameter has been registered. More...
 
bool exists (const std::string &name) const
 Return true if the parameter has been registered. More...
 
bool isSet (const std::string &name) const
 Returns true if the parameter exists and is set, false otherwise. More...
 
void clear ()
 Remove all parameters. More...
 
void unset ()
 Unset all registered parameters. More...
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 

Private Types

using FileReader = std::shared_ptr< UTIL::LCStdHepRdr >
 

Private Attributes

StringParameter _fileName
 
IntParameter _maxRecordNumber
 
StringParameter _collectionName
 The stdhep file reader. More...
 
FileReader _fileReader {nullptr}
 Whether we are processing the first event. More...
 
bool _isFirstEvent {true}
 The current number of read events. More...
 
int _currentReadEvents {0}
 

Additional Inherited Members

- Public Types inherited from marlinmt::DataSourcePlugin
using EventFunction = std::function< void(std::shared_ptr< EventStore >)>
 
using RunHeaderFunction = std::function< void(std::shared_ptr< RunHeader >)>
 
- Public Types inherited from marlinmt::Component
using LoggerPtr = Logging::Logger
 
- Public Types inherited from marlinmt::Configurable
using ParameterMap = std::map< std::string, std::shared_ptr< ParameterImpl > >
 
using iterator = ParameterMap::iterator
 
using const_iterator = ParameterMap::const_iterator
 
- Protected Member Functions inherited from marlinmt::DataSourcePlugin
void processRunHeader (std::shared_ptr< RunHeader > rhdr)
 Must be called by daughter classes in readStream() to process an event in the framework. More...
 
void processEvent (std::shared_ptr< EventStore > event)
 Must be called by daughter classes in readStream() to process an event in the framework. More...
 
- Protected Attributes inherited from marlinmt::DataSourcePlugin
std::string _description {"No description"}
 < The data source description More...
 
- Protected Attributes inherited from marlinmt::Component
std::string _type {}
 The component type. More...
 
std::string _name {}
 The component name. More...
 
std::string _description {"No description"}
 The component description. More...
 
Application_application {nullptr}
 The application in which the component has been registered. More...
 
LoggerPtr _logger {nullptr}
 The logger instance. More...
 
StringParameter _verbosity { *this, "Verbosity", "The component verbosity level", "MESSAGE" }
 The verbosity level of the logger (parameter) More...
 
- Protected Attributes inherited from marlinmt::Configurable
ParameterMap _parameters {}
 The parameter map. More...
 

Detailed Description

StdHepFileSource class.

Definition at line 27 of file StdHepFileSource.cc.

Member Typedef Documentation

◆ FileReader

using marlinmt::StdHepFileSource::FileReader = std::shared_ptr<UTIL::LCStdHepRdr>
private

Definition at line 28 of file StdHepFileSource.cc.

Constructor & Destructor Documentation

◆ StdHepFileSource()

marlinmt::StdHepFileSource::StdHepFileSource ( )

Definition at line 59 of file StdHepFileSource.cc.

References marlinmt::Component::setDescription().

◆ ~StdHepFileSource()

marlinmt::StdHepFileSource::~StdHepFileSource ( )
default

Member Function Documentation

◆ initialize()

void marlinmt::StdHepFileSource::initialize ( )
overridevirtual

◆ readOne()

bool marlinmt::StdHepFileSource::readOne ( )
overridevirtual

Read one record from the input stream.

Users must call processRunHeader() or processEvent() to forward it to the framework. Returns true on success. If the end of the stream is reached, return false.

Implements marlinmt::DataSourcePlugin.

Definition at line 74 of file StdHepFileSource.cc.

References _collectionName, _currentReadEvents, _fileName, _fileReader, _isFirstEvent, _maxRecordNumber, marlinmt::ParameterBase< T >::get(), jenkins_hash(), MARLINMT_DECLARE_DATASOURCE_NAME, marlinmt::DataSourcePlugin::processEvent(), and marlinmt::DataSourcePlugin::processRunHeader().

Member Data Documentation

◆ _collectionName

StringParameter marlinmt::StdHepFileSource::_collectionName
private
Initial value:
{*this, "CollectionName",
"The name of the MCParticle collection to add in the event", "MCParticle" }

The stdhep file reader.

Definition at line 45 of file StdHepFileSource.cc.

Referenced by readOne().

◆ _currentReadEvents

int marlinmt::StdHepFileSource::_currentReadEvents {0}
private

Definition at line 53 of file StdHepFileSource.cc.

Referenced by readOne().

◆ _fileName

StringParameter marlinmt::StdHepFileSource::_fileName
private
Initial value:
{*this, "StdHepFileName",
"The StdHep input file name" }

Definition at line 39 of file StdHepFileSource.cc.

Referenced by initialize(), and readOne().

◆ _fileReader

FileReader marlinmt::StdHepFileSource::_fileReader {nullptr}
private

Whether we are processing the first event.

Definition at line 49 of file StdHepFileSource.cc.

Referenced by initialize(), and readOne().

◆ _isFirstEvent

bool marlinmt::StdHepFileSource::_isFirstEvent {true}
private

The current number of read events.

Definition at line 51 of file StdHepFileSource.cc.

Referenced by readOne().

◆ _maxRecordNumber

IntParameter marlinmt::StdHepFileSource::_maxRecordNumber
private
Initial value:
{*this, "MaxRecordNumber",
"The maximum number of events to read", 0 }

Definition at line 42 of file StdHepFileSource.cc.

Referenced by readOne().


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