ATLAS Offline Software
CaloTowerAlgorithm.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef CALOREC_CALOTOWERALGORITHM_H
6 #define CALOREC_CALOTOWERALGORITHM_H
7 
22 #include "GaudiKernel/ToolHandle.h"
23 
26 
27 #include <string>
28 #include <vector>
29 #include <map>
30 
31 class IChronoStatSvc;
32 class CaloTowerContainer;
34 
36  public:
37 
39  typedef std::vector<tool_type*> tool_store;
40  typedef tool_store::const_iterator tool_iterator;
41 
43  CaloTowerAlgorithm(const std::string& name, ISvcLocator* pService);
44 
46 
48  virtual StatusCode initialize() override;
49  virtual StatusCode execute (const EventContext& ctx) const override;
50  virtual StatusCode finalize() override;
51 
52  protected:
53 
55  // Properties //
57 
58  // ChronoStatSvc
61 
62  // tower grid specs
63  unsigned int m_nEtaTowers;
64  unsigned int m_nPhiTowers;
65  double m_minEta, m_maxEta;
66 
67  // link output container
69 
70  // tool collection
71  std::vector<std::string> m_toolNames;
72  ToolHandleArray<ICaloTowerBuilderToolBase> m_ptools;
73  // output tower container name
75 
77  // Stores and Services //
79 
80  // list of tools
82 
83 };
84 #endif
CaloTowerAlgorithm::m_chrono
ServiceHandle< IChronoStatSvc > m_chrono
Definition: CaloTowerAlgorithm.h:59
CaloTowerAlgorithm::tool_store
std::vector< tool_type * > tool_store
Definition: CaloTowerAlgorithm.h:39
CaloTowerAlgorithm::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: CaloTowerAlgorithm.cxx:112
CaloTowerAlgorithm::m_nEtaTowers
unsigned int m_nEtaTowers
Definition: CaloTowerAlgorithm.h:63
CaloTowerAlgorithm::m_maxEta
double m_maxEta
Definition: CaloTowerAlgorithm.h:65
CaloTowerAlgorithm::CaloTowerAlgorithm
CaloTowerAlgorithm(const std::string &name, ISvcLocator *pService)
Algorithm constructor.
Definition: CaloTowerAlgorithm.cxx:19
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
ICaloTowerBuilderToolBase
Definition: ICaloTowerBuilderToolBase.h:38
CaloTowerAlgorithm::m_ptools
ToolHandleArray< ICaloTowerBuilderToolBase > m_ptools
Definition: CaloTowerAlgorithm.h:72
CaloTowerContainer
Storable container class for CaloTower.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloTowerContainer.h:77
SG::WriteHandleKey< CaloTowerContainer >
CaloTowerAlgorithm::tool_iterator
tool_store::const_iterator tool_iterator
Definition: CaloTowerAlgorithm.h:40
CaloTowerAlgorithm::~CaloTowerAlgorithm
virtual ~CaloTowerAlgorithm()
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CaloTowerAlgorithm
Definition: CaloTowerAlgorithm.h:35
CaloTowerAlgorithm::m_tools
tool_store m_tools
Definition: CaloTowerAlgorithm.h:81
CaloTowerAlgorithm::m_minEta
double m_minEta
Definition: CaloTowerAlgorithm.h:65
CaloTowerAlgorithm::finalize
virtual StatusCode finalize() override
Definition: CaloTowerAlgorithm.cxx:168
CaloTowerAlgorithm::m_genericLink
bool m_genericLink
Definition: CaloTowerAlgorithm.h:68
AthReentrantAlgorithm.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
CaloTowerAlgorithm::m_towerContainerKey
SG::WriteHandleKey< CaloTowerContainer > m_towerContainerKey
Definition: CaloTowerAlgorithm.h:74
CaloTowerAlgorithm::tool_type
CaloTowerBuilderToolBase tool_type
Definition: CaloTowerAlgorithm.h:38
CaloTowerAlgorithm::m_toolNames
std::vector< std::string > m_toolNames
Definition: CaloTowerAlgorithm.h:71
CaloTowerAlgorithm::initialize
virtual StatusCode initialize() override
inherited from Algorithm
Definition: CaloTowerAlgorithm.cxx:55
CaloTowerBuilderToolBase
Definition: CaloTowerBuilderToolBase.h:31
CaloTowerAlgorithm::m_doChronoStat
bool m_doChronoStat
Definition: CaloTowerAlgorithm.h:60
CaloTowerBuilderToolBase.h
CaloTowerAlgorithm::m_nPhiTowers
unsigned int m_nPhiTowers
Definition: CaloTowerAlgorithm.h:64
ServiceHandle< IChronoStatSvc >