![]() |
ATLAS Offline Software
|
the data the EventLoop core classes are sharing with the Module implementation More...
#include <ModuleData.h>
Public Member Functions | |
| ModuleData () noexcept | |
| explicit constructor for dependency reduction | |
| ~ModuleData () noexcept | |
| explicit destructor for dependency reduction | |
| void | addOutput (std::unique_ptr< TObject > output) |
| add the given output object to the histogram output stream | |
Public Attributes | |
| std::vector< Detail::AlgorithmData > | m_algs |
| the list of algorithms | |
| std::string | m_inputFileUrl |
| the input file url of the currently opened file | |
| std::unique_ptr< TFile > | m_inputFile |
| the input file pointer of the currently opened filed | |
| TTree * | m_inputTree {nullptr} |
| the (main) tree in the input file | |
| uint64_t | m_inputEntry {0} |
| the entry in the input tree we are currently looking at | |
| bool | m_hasInputEvents = false |
| flag whether the most recently opened input file has events or not | |
| bool | m_skipEvent = false |
| whether we are skipping the current event | |
| const SH::MetaObject * | m_metaData {nullptr} |
| the meta-data we use | |
| uint64_t | m_eventsProcessed {0} |
| the number of events that have been processed | |
| OutputStreamData * | m_histOutput {nullptr} |
| the histogram output stream | |
| std::unique_ptr< TTree > | m_jobStats |
| Tree saving per-job statistics information. | |
| xAOD::Event * | m_event {nullptr} |
| the Event object, if we use one | |
| xAOD::TStore * | m_tstore {nullptr} |
| the TStore structure, if we use one | |
| asg::SgEvent * | m_evtStore {nullptr} |
| the SgEvent structure, if we use one | |
| Worker * | m_worker {nullptr} |
| the worker (to pass on to the algorithms) | |
| std::map< std::string, std::shared_ptr< Detail::OutputStreamData > > | m_outputs |
| the list of output files | |
| BatchJob * | m_batchJob = nullptr |
| the BatchJob configuration (if used) | |
the data the EventLoop core classes are sharing with the Module implementation
This class serves as a common argument to all Module methods, thereby allowing to share a lot of information with all modules without having to list of it explicitly in the module signature.
This is purposely implemented as a simple struct without any accessor function, let alone a full whiteboard implementation; just because anything else feels like overkill right now. Right now (18 Jan 19) I only anticipate a limited number of module implementations, all written by EventLoop developers, meaning such abstractions and protections buy little, but cost a lot. Should the module infrastructure ever be opened up to the user this would have to be changed.
\warn Just like the Module class this interface may change completely and without warning from one release to the next.
Definition at line 64 of file ModuleData.h.
|
defaultnoexcept |
explicit constructor for dependency reduction
|
defaultnoexcept |
explicit destructor for dependency reduction
| void EL::Detail::ModuleData::addOutput | ( | std::unique_ptr< TObject > | output | ) |
add the given output object to the histogram output stream
Definition at line 33 of file ModuleData.cxx.
| std::vector<Detail::AlgorithmData> EL::Detail::ModuleData::m_algs |
the list of algorithms
Definition at line 67 of file ModuleData.h.
| BatchJob* EL::Detail::ModuleData::m_batchJob = nullptr |
the BatchJob configuration (if used)
Definition at line 116 of file ModuleData.h.
| xAOD::Event* EL::Detail::ModuleData::m_event {nullptr} |
| uint64_t EL::Detail::ModuleData::m_eventsProcessed {0} |
| asg::SgEvent* EL::Detail::ModuleData::m_evtStore {nullptr} |
| bool EL::Detail::ModuleData::m_hasInputEvents = false |
flag whether the most recently opened input file has events or not
Definition at line 83 of file ModuleData.h.
| OutputStreamData* EL::Detail::ModuleData::m_histOutput {nullptr} |
| uint64_t EL::Detail::ModuleData::m_inputEntry {0} |
the entry in the input tree we are currently looking at
Definition at line 80 of file ModuleData.h.
| std::unique_ptr<TFile> EL::Detail::ModuleData::m_inputFile |
the input file pointer of the currently opened filed
Definition at line 73 of file ModuleData.h.
| std::string EL::Detail::ModuleData::m_inputFileUrl |
the input file url of the currently opened file
Definition at line 70 of file ModuleData.h.
| TTree* EL::Detail::ModuleData::m_inputTree {nullptr} |
| std::unique_ptr<TTree> EL::Detail::ModuleData::m_jobStats |
Tree saving per-job statistics information.
Definition at line 98 of file ModuleData.h.
| const SH::MetaObject* EL::Detail::ModuleData::m_metaData {nullptr} |
| std::map<std::string,std::shared_ptr<Detail::OutputStreamData> > EL::Detail::ModuleData::m_outputs |
the list of output files
Definition at line 113 of file ModuleData.h.
| bool EL::Detail::ModuleData::m_skipEvent = false |
whether we are skipping the current event
Definition at line 86 of file ModuleData.h.
| xAOD::TStore* EL::Detail::ModuleData::m_tstore {nullptr} |
| Worker* EL::Detail::ModuleData::m_worker {nullptr} |
the worker (to pass on to the algorithms)
Definition at line 110 of file ModuleData.h.