![]() |
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_inputTreeEntry {0} |
| the entry in the input tree we are currently looking at | |
| 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::TEvent * | m_tevent {nullptr} |
| the TEvent structure, if we use one | |
| xAOD::TStore * | m_tstore {nullptr} |
| the TStore structure, if we use one | |
| asg::SgTEvent * | m_evtStore {nullptr} |
| the SgTEvent 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 63 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 66 of file ModuleData.h.
| BatchJob* EL::Detail::ModuleData::m_batchJob = nullptr |
the BatchJob configuration (if used)
Definition at line 112 of file ModuleData.h.
| uint64_t EL::Detail::ModuleData::m_eventsProcessed {0} |
| asg::SgTEvent* EL::Detail::ModuleData::m_evtStore {nullptr} |
| OutputStreamData* EL::Detail::ModuleData::m_histOutput {nullptr} |
| std::unique_ptr<TFile> EL::Detail::ModuleData::m_inputFile |
the input file pointer of the currently opened filed
Definition at line 72 of file ModuleData.h.
| std::string EL::Detail::ModuleData::m_inputFileUrl |
the input file url of the currently opened file
Definition at line 69 of file ModuleData.h.
| TTree* EL::Detail::ModuleData::m_inputTree {nullptr} |
| uint64_t EL::Detail::ModuleData::m_inputTreeEntry {0} |
the entry in the input tree we are currently looking at
Definition at line 79 of file ModuleData.h.
| std::unique_ptr<TTree> EL::Detail::ModuleData::m_jobStats |
Tree saving per-job statistics information.
Definition at line 94 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 109 of file ModuleData.h.
| bool EL::Detail::ModuleData::m_skipEvent = false |
whether we are skipping the current event
Definition at line 82 of file ModuleData.h.
| xAOD::TEvent* EL::Detail::ModuleData::m_tevent {nullptr} |
| 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 106 of file ModuleData.h.