ATLAS Offline Software
MultiReaderAlg.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef D3PDMAKERREADER_MULTIREADERALG_H
8 #define D3PDMAKERREADER_MULTIREADERALG_H
9 
10 // STL include(s):
11 #include <string>
12 
13 // Gaudi/Athena include(s):
14 #include "GaudiKernel/ServiceHandle.h"
15 #include "GaudiKernel/ToolHandle.h"
18 
19 // D3PDMaker include(s):
23 
24 namespace D3PD {
25 
26  // Forward declaration(s):
27  class IReaderD3PD;
28 
44  class MultiReaderAlg : public AthAlgorithm {
45 
46  public:
48  MultiReaderAlg( const std::string& name, ISvcLocator* svcloc );
49 
53  virtual StatusCode finalize();
55  virtual StatusCode execute();
56 
57  private:
61  ToolHandleArray< IObjFillerTool > m_tools;
63  ToolHandleArray< IMetadataTool > m_metadataTools;
64 
65  std::string m_tuplePath;
66 
67  std::vector< std::string > m_prefixes;
68  std::vector< std::string > m_classnames;
69 
70  std::string m_dir;
71 
73  std::vector< IReaderD3PD* > m_d3pds;
75  bool m_booked;
76 
77  }; // class MultiReaderAlg
78 
79 } // namespace D3PD
80 
81 #endif // D3PDMAKERREADER_MULTIREADERALG_H
D3PD::MultiReaderAlg::m_tuplePath
std::string m_tuplePath
The D3PD base name.
Definition: MultiReaderAlg.h:65
D3PD::MultiReaderAlg::execute
virtual StatusCode execute()
Standard Gaudi execute method.
Definition: MultiReaderAlg.cxx:114
IMetadataTool.h
Write metadata to a D3PD.
initialize
void initialize()
Definition: run_EoverP.cxx:894
D3PD::MultiReaderAlg::ATLAS_NOT_THREAD_SAFE
virtual StatusCode initialize ATLAS_NOT_THREAD_SAFE()
Standard Gaudi initialize method.
D3PD::MultiReaderAlg::MultiReaderAlg
MultiReaderAlg(const std::string &name, ISvcLocator *svcloc)
Standard algorithm constructor.
Definition: MultiReaderAlg.cxx:15
D3PD::MultiReaderAlg
Algorithm used for generating D3PDReader sources.
Definition: MultiReaderAlg.h:44
D3PD::MultiReaderAlg::m_tools
ToolHandleArray< IObjFillerTool > m_tools
Property: List of object filler tools to run.
Definition: MultiReaderAlg.h:61
D3PD::MultiReaderAlg::m_d3pds
std::vector< IReaderD3PD * > m_d3pds
The created tuples. Note: we don't take ownership.
Definition: MultiReaderAlg.h:73
IObjFillerTool.h
Abstract interface for tool to fill an object in the D3PD.
AthAlgorithm.h
D3PD
Block filler tool for noisy FEB information.
Definition: InnerDetector/InDetMonitoring/InDetGlobalMonitoring/macros/EnhancedPrimaryVertexMonitoring/TrigD3PD/ChainGroup.h:21
D3PD::MultiReaderAlg::m_classnames
std::vector< std::string > m_classnames
Reader class names.
Definition: MultiReaderAlg.h:68
D3PD::MultiReaderAlg::finalize
virtual StatusCode finalize()
Standard Gaudi finalize method.
Definition: MultiReaderAlg.cxx:103
D3PD::MultiReaderAlg::m_prefixes
std::vector< std::string > m_prefixes
Variable name prefixes.
Definition: MultiReaderAlg.h:67
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
D3PD::MultiReaderAlg::m_dir
std::string m_dir
Directory where the sources should be put.
Definition: MultiReaderAlg.h:70
AthAlgorithm
Definition: AthAlgorithm.h:47
D3PD::MultiReaderAlg::m_d3pdSvc
ServiceHandle< ID3PDSvc > m_d3pdSvc
Property: The D3PD creation service.
Definition: MultiReaderAlg.h:59
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
D3PD::MultiReaderAlg::m_metadataTools
ToolHandleArray< IMetadataTool > m_metadataTools
Property: List of metadata tools to run.
Definition: MultiReaderAlg.h:63
checker_macros.h
Define macros for attributes used to control the static checker.
ID3PDSvc.h
Abstract interface for service to create D3PD trees.
D3PD::MultiReaderAlg::m_booked
bool m_booked
Flag that we've called book().
Definition: MultiReaderAlg.h:75
ServiceHandle
Definition: ClusterMakerTool.h:37