ATLAS Offline Software
EventInfoAttListTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef EVENTINFOATTLISTTOOL_H
6 #define EVENTINFOATTLISTTOOL_H
7 
8 /*****************************************************************************
9 Name : EventInfoAttListTool.h
10 Purpose : Tool to buid the Global Event Tags
11 *****************************************************************************/
12 
14 #include "xAODEventInfo/EventInfo.h" //typedef
15 
16 #include <string>
17 #include <memory> //unique_ptr
18 
20 class EventInfo;
21 namespace coral{
22  class AttributeListSpecification;
23 }
24 
26 static const InterfaceID IID_EventInfoAttListTool("EventInfoAttListTool", 1, 0);
27 
29 
30 public:
31 
33  EventInfoAttListTool(const std::string& type,
34  const std::string& name,
35  const IInterface* parent);
36 
38  static const InterfaceID& interfaceID( ) { return IID_EventInfoAttListTool; };
39 
41  StatusCode initialize() override;
42  StatusCode finalize() override;
43 
44  // interface
45  bool isValid();
46  const coral::AttributeListSpecification& getAttributeSpecification();
49 
50  std::unique_ptr<AthenaAttributeList> getAttributeListPtr(const xAOD::EventInfo& einfo);
51 
52 protected:
53 
56  const xAOD::EventInfo& eventInfo);
58  const EventInfo& eventInfo);
59 
60  coral::AttributeListSpecification* m_attribListSpec{};
61 
62 };
63 
64 #endif // EVENTINFOATTLISTTOOL_H
EventInfoAttListTool::EventInfoAttListTool
EventInfoAttListTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard Constructor.
Definition: EventInfoAttListTool.cxx:32
EventInfoAttListTool
Definition: EventInfoAttListTool.h:28
EventInfoAttListTool::initialize
StatusCode initialize() override
Overriding initialize, finalize and execute.
Definition: EventInfoAttListTool.cxx:40
EventInfoAttListTool::finalize
StatusCode finalize() override
finialize - called once at the end
Definition: EventInfoAttListTool.cxx:205
EventInfoAttListTool::getAttributeList
const AthenaAttributeList getAttributeList(const xAOD::EventInfo &einfo)
Definition: EventInfoAttListTool.cxx:65
coral
Definition: ISecondaryEventSelector.h:19
EventInfoAttListTool::isValid
bool isValid()
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
AthenaAttributeList
An AttributeList represents a logical row of attributes in a metadata table. The name and type of eac...
Definition: PersistentDataModel/PersistentDataModel/AthenaAttributeList.h:45
EventInfoAttListTool::getAttributeListPtr
std::unique_ptr< AthenaAttributeList > getAttributeListPtr(const xAOD::EventInfo &einfo)
Definition: EventInfoAttListTool.cxx:99
EventInfoAttListTool::eventTag
StatusCode eventTag(AthenaAttributeList &eventTagCol, const xAOD::EventInfo &eventInfo)
the various components to build their own fragments of tag
Definition: EventInfoAttListTool.cxx:116
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
EventInfo
This class provides general information about an event. Event information is provided by the accessor...
Definition: EventInfo/EventInfo/EventInfo.h:42
EventInfo.h
xAOD::EventInfo_v1
Class describing the basic event information.
Definition: EventInfo_v1.h:43
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
AthAlgTool
Definition: AthAlgTool.h:26
EventInfoAttListTool::getAttributeSpecification
const coral::AttributeListSpecification & getAttributeSpecification()
EventInfoAttListTool::m_attribListSpec
coral::AttributeListSpecification * m_attribListSpec
Definition: EventInfoAttListTool.h:60
EventInfoAttListTool::interfaceID
static const InterfaceID & interfaceID()
AlgTool and IAlgTool interface methods.
Definition: EventInfoAttListTool.h:38