MarlinMT  0.1.0
marlinmt::LCIOFileSource Class Reference

LCIOFileSource class. More...

Inherits marlinmt::DataSourcePlugin.

Public Member Functions

 LCIOFileSource ()
 
 ~LCIOFileSource ()=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 = MT::LCReader
 
using FileReaderPtr = std::shared_ptr< FileReader >
 

Private Member Functions

void onLCEventRead (std::shared_ptr< EVENT::LCEvent > event)
 
void onLCRunHeaderRead (std::shared_ptr< EVENT::LCRunHeader > rhdr)
 

Private Attributes

StringVectorParameter _inputFileNames
 
IntParameter _maxRecordNumber
 
IntParameter _skipNEvents
 
StringVectorParameter _readCollectionNames
 
BoolParameter _lazyUnpack
 The LCIO file listener. More...
 
ReaderListener _listener {}
 The LCIO file reader. More...
 
FileReaderPtr _fileReader {nullptr}
 The current number of read records. More...
 
int _currentReadRecords {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

LCIOFileSource class.

Definition at line 30 of file LCIOFileSource.cc.

Member Typedef Documentation

◆ FileReader

using marlinmt::LCIOFileSource::FileReader = MT::LCReader
private

Definition at line 31 of file LCIOFileSource.cc.

◆ FileReaderPtr

using marlinmt::LCIOFileSource::FileReaderPtr = std::shared_ptr<FileReader>
private

Definition at line 32 of file LCIOFileSource.cc.

Constructor & Destructor Documentation

◆ LCIOFileSource()

marlinmt::LCIOFileSource::LCIOFileSource ( )

Definition at line 73 of file LCIOFileSource.cc.

References marlinmt::Component::setDescription().

◆ ~LCIOFileSource()

marlinmt::LCIOFileSource::~LCIOFileSource ( )
default

Member Function Documentation

◆ initialize()

◆ onLCEventRead()

void marlinmt::LCIOFileSource::onLCEventRead ( std::shared_ptr< EVENT::LCEvent >  event)
private

◆ onLCRunHeaderRead()

void marlinmt::LCIOFileSource::onLCRunHeaderRead ( std::shared_ptr< EVENT::LCRunHeader >  rhdr)
private

◆ readOne()

bool marlinmt::LCIOFileSource::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 113 of file LCIOFileSource.cc.

References _currentReadRecords, _fileReader, _listener, _maxRecordNumber, and MARLINMT_DECLARE_DATASOURCE_NAME.

Member Data Documentation

◆ _currentReadRecords

int marlinmt::LCIOFileSource::_currentReadRecords {0}
private

Definition at line 67 of file LCIOFileSource.cc.

Referenced by readOne().

◆ _fileReader

FileReaderPtr marlinmt::LCIOFileSource::_fileReader {nullptr}
private

The current number of read records.

Definition at line 65 of file LCIOFileSource.cc.

Referenced by initialize(), and readOne().

◆ _inputFileNames

StringVectorParameter marlinmt::LCIOFileSource::_inputFileNames
private
Initial value:
{*this, "LCIOInputFiles",
"The list of LCIO input files" }

Definition at line 47 of file LCIOFileSource.cc.

Referenced by initialize().

◆ _lazyUnpack

BoolParameter marlinmt::LCIOFileSource::_lazyUnpack
private
Initial value:
{*this, "LazyUnpack",
"Set to true to perform a lazy unpacking after reading out an event", false }

The LCIO file listener.

Definition at line 59 of file LCIOFileSource.cc.

Referenced by initialize().

◆ _listener

ReaderListener marlinmt::LCIOFileSource::_listener {}
private

The LCIO file reader.

Definition at line 63 of file LCIOFileSource.cc.

Referenced by initialize(), and readOne().

◆ _maxRecordNumber

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

Definition at line 50 of file LCIOFileSource.cc.

Referenced by readOne().

◆ _readCollectionNames

StringVectorParameter marlinmt::LCIOFileSource::_readCollectionNames
private
Initial value:
{*this, "LCIOReadCollectionNames",
"An optional list of LCIO collections to read from event" }

Definition at line 56 of file LCIOFileSource.cc.

Referenced by initialize().

◆ _skipNEvents

IntParameter marlinmt::LCIOFileSource::_skipNEvents
private
Initial value:
{*this, "SkipNEvents",
"The number of events to skip on file open", 0 }

Definition at line 53 of file LCIOFileSource.cc.

Referenced by initialize().


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