ATLAS Offline Software
WorkerConfig.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 
8 #ifndef EVENT_LOOP__WORKER_CONFIG_H
9 #define EVENT_LOOP__WORKER_CONFIG_H
10 
11 #include <EventLoop/Global.h>
12 
13 #include <AsgTools/SgTEventMeta.h>
14 #include <TObject.h>
15 
16 namespace EL
17 {
18  namespace Detail
19  {
20  struct ModuleData;
21  }
22 
23  class PythonConfigBase;
24 
25 
26  class WorkerConfig final : public TObject
27  {
30 
31  public:
32 
34  [[nodiscard]] const asg::SgTEventMeta *metaStore() const noexcept;
35 
36 
38  void add (const PythonConfigBase& config);
39 
40 
41 
44 
45  public:
46 
47  WorkerConfig (Detail::ModuleData *val_data) noexcept;
48  ~WorkerConfig () noexcept;
49 
50 
51 
54 
55  private:
56 
57  Detail::ModuleData *m_data = nullptr;
58  asg::SgTEventMeta m_metaStore;
59 
60 #pragma GCC diagnostic push
61 #pragma GCC diagnostic ignored "-Wpragmas"
62 #pragma GCC diagnostic ignored "-Wunknown-pragmas"
63 #pragma GCC diagnostic ignored "-Winconsistent-missing-override"
65 #pragma GCC diagnostic pop
66  };
67 
68 
69 
72 
73  [[nodiscard]] inline const asg::SgTEventMeta *WorkerConfig ::
74  metaStore() const noexcept
75  {
76  return &m_metaStore;
77  }
78 }
79 
80 #endif
EL::WorkerConfig::m_metaStore
asg::SgTEventMeta m_metaStore
Definition: WorkerConfig.h:58
EL::WorkerConfig::m_data
Detail::ModuleData * m_data
Definition: WorkerConfig.h:57
EL::Detail::ModuleData
the data the EventLoop core classes are sharing with the Module implementation
Definition: ModuleData.h:64
EL::WorkerConfig::metaStore
const asg::SgTEventMeta * metaStore() const noexcept
access the meta store in the input file
Definition: WorkerConfig.h:74
EL::WorkerConfig::add
void add(const PythonConfigBase &config)
add the given component
asg
Definition: DataHandleTestTool.h:28
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
EL::WorkerConfig
Definition: WorkerConfig.h:27
config
Definition: PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
EL::WorkerConfig::~WorkerConfig
~WorkerConfig() noexcept
EL::PythonConfigBase
the base class for the python configuration of any asg::AsgComponent
Definition: PythonConfigBase.h:36
SgTEventMeta.h
EL
This module defines the arguments passed from the BATCH driver to the BATCH worker.
Definition: AlgorithmWorkerData.h:24
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
xAOD::DiTauJetParameters::Detail
Detail
Definition: DiTauDefs.h:38
EL::WorkerConfig::ClassDef
ClassDef(WorkerConfig, 1)
EL::WorkerConfig::WorkerConfig
WorkerConfig(Detail::ModuleData *val_data) noexcept
asg::SgTEventMeta
Wrapper class providing StoreGate-like access to metadata in ROOT.
Definition: SgTEventMeta.h:44
Global.h