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 More... | |
~ModuleData () noexcept | |
explicit destructor for dependency reduction More... | |
void | addOutput (std::unique_ptr< TObject > output) |
add the given output object to the histogram output stream More... | |
Public Attributes | |
std::vector< Detail::AlgorithmData > | m_algs |
the list of algorithms More... | |
std::string | m_inputFileUrl |
the input file url of the currently opened file More... | |
std::unique_ptr< TFile > | m_inputFile |
the input file pointer of the currently opened filed More... | |
TTree * | m_inputTree {nullptr} |
the (main) tree in the input file More... | |
uint64_t | m_inputTreeEntry {0} |
the entry in the input tree we are currently looking at More... | |
bool | m_skipEvent = false |
whether we are skipping the current event More... | |
const SH::MetaObject * | m_metaData {nullptr} |
the meta-data we use More... | |
uint64_t | m_eventsProcessed {0} |
the number of events that have been processed More... | |
OutputStreamData * | m_histOutput {nullptr} |
the histogram output stream More... | |
std::unique_ptr< TTree > | m_jobStats |
Tree saving per-job statistics information. More... | |
xAOD::TEvent * | m_tevent {nullptr} |
the TEvent structure, if we use one More... | |
xAOD::TStore * | m_tstore {nullptr} |
the TStore structure, if we use one More... | |
asg::SgTEvent * | m_evtStore {nullptr} |
the SgTEvent structure, if we use one More... | |
Worker * | m_worker {nullptr} |
the worker (to pass on to the algorithms) More... | |
std::map< std::string, Detail::OutputStreamData > | m_outputs |
the list of output files More... | |
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.
uint64_t EL::Detail::ModuleData::m_eventsProcessed {0} |
the number of events that have been processed
Definition at line 88 of file ModuleData.h.
asg::SgTEvent* EL::Detail::ModuleData::m_evtStore {nullptr} |
the SgTEvent structure, if we use one
Definition at line 103 of file ModuleData.h.
OutputStreamData* EL::Detail::ModuleData::m_histOutput {nullptr} |
the histogram output stream
Definition at line 91 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 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} |
the (main) tree in the input file
Definition at line 75 of file ModuleData.h.
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} |
the meta-data we use
Definition at line 85 of file ModuleData.h.
std::map<std::string,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} |
the TEvent structure, if we use one
Definition at line 97 of file ModuleData.h.
xAOD::TStore* EL::Detail::ModuleData::m_tstore {nullptr} |
the TStore structure, if we use one
Definition at line 100 of file ModuleData.h.
Worker* EL::Detail::ModuleData::m_worker {nullptr} |
the worker (to pass on to the algorithms)
Definition at line 106 of file ModuleData.h.