ATLAS Offline Software
AnaAlgorithmConfig.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 
8 
9 #ifndef ANA_ALGORITHM__ANA_ALGORITHM_CONFIG_H
10 #define ANA_ALGORITHM__ANA_ALGORITHM_CONFIG_H
11 
12 #ifndef ROOTCORE
13 #ifndef __CPPCHECK__
14 #error only include this header in AnalysisBase
15 #endif
16 #endif
17 
18 #include <AnaAlgorithm/Global.h>
19 
21 
22 namespace EL
23 {
24  struct AlgorithmWorkerData;
25 
27 
29  {
30  //
31  // public interface
32  //
33 
34 
40  public:
42 
43 
49  public:
50  explicit AnaAlgorithmConfig (const std::string& val_typeAndName);
51 
52 
58  public:
59  explicit AnaAlgorithmConfig (const AsgComponentConfig& val_config);
60 
61 
67  public:
68  virtual ~AnaAlgorithmConfig() = default;
69 
70 
74  public:
75  bool useXAODs () const noexcept;
76 
80  public:
81  void setUseXAODs (bool val_useXAODs) noexcept;
82 
83 
87  public:
88  bool isPublicTool () const noexcept;
89 
93  public:
94  void setIsPublicTool (bool val_isPublicTool) noexcept;
95 
96 
114  public:
115  ::StatusCode
116  makeAlgorithm (std::unique_ptr<AnaAlgorithm>& algorithm,
117  const AlgorithmWorkerData& workerData) const;
118 
119 
120 
121  //
122  // private interface
123  //
124 
126  private:
127  bool m_useXAODs = true;
128 
130  private:
131  bool m_isPublicTool {false};
132  };
133 }
134 
135 #endif
asg::AsgComponentConfig
an object that stores the configuration for an AsgComponent and is able to create one from it
Definition: AsgComponentConfig.h:34
EL::AnaAlgorithmConfig::useXAODs
bool useXAODs() const noexcept
whether we use XAODs
Definition: AnaAlgorithmConfig.cxx:50
algorithm
std::string algorithm
Definition: hcg.cxx:82
AsgComponentConfig.h
EL::AnaAlgorithmConfig::setUseXAODs
void setUseXAODs(bool val_useXAODs) noexcept
set the value of useXAODs
Definition: AnaAlgorithmConfig.cxx:58
EL::AnaAlgorithmConfig::m_isPublicTool
bool m_isPublicTool
the value of isPublicTool
Definition: AnaAlgorithmConfig.h:131
EL::AnaAlgorithmConfig
an object that can create a AnaAlgorithm
Definition: AnaAlgorithmConfig.h:29
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
EL::AnaAlgorithmConfig::m_useXAODs
bool m_useXAODs
the value of useXAODs
Definition: AnaAlgorithmConfig.h:127
EL::AnaAlgorithmConfig::setIsPublicTool
void setIsPublicTool(bool val_isPublicTool) noexcept
set the value of isPublicTool
Definition: AnaAlgorithmConfig.cxx:74
asg::AsgComponentConfig::AsgComponentConfig
AsgComponentConfig()=default
standard constructor
EL::AnaAlgorithm
the (new) base class for EventLoop algorithms
Definition: AnaAlgorithm.h:73
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
EL::AnaAlgorithmConfig::isPublicTool
bool isPublicTool() const noexcept
whether we are really a public tool
Definition: AnaAlgorithmConfig.cxx:66
EL
This module defines the arguments passed from the BATCH driver to the BATCH worker.
Definition: AlgorithmWorkerData.h:24
EL::AnaAlgorithmConfig::makeAlgorithm
::StatusCode makeAlgorithm(std::unique_ptr< AnaAlgorithm > &algorithm, const AlgorithmWorkerData &workerData) const
make an algorithm from this configuration
Definition: AnaAlgorithmConfig.cxx:82
Global.h
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
EL::AlgorithmWorkerData
all the external components an algorithm needs before initialization (in EventLoop)
Definition: AlgorithmWorkerData.h:34
EL::AnaAlgorithmConfig::~AnaAlgorithmConfig
virtual ~AnaAlgorithmConfig()=default
Virtual destructor, to make PyROOT happy.
EL::AnaAlgorithmConfig::AnaAlgorithmConfig
AnaAlgorithmConfig()
standard constructor
Definition: AnaAlgorithmConfig.cxx:27