ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Calorimeter
CaloRec
src
CaloTowerAlgorithm.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef CALOREC_CALOTOWERALGORITHM_H
6
#define CALOREC_CALOTOWERALGORITHM_H
21
22
#include "GaudiKernel/ToolHandle.h"
23
24
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
25
#include "
CaloUtils/CaloTowerBuilderToolBase.h
"
26
#include "CaloEvent/CaloTowerContainer.h"
27
#include "
StoreGate/WriteHandleKey.h
"
28
29
#include <string>
30
#include <vector>
31
#include <map>
32
33
class
IChronoStatSvc;
34
class
ICaloTowerBuilderToolBase
;
35
36
class
CaloTowerAlgorithm
:
public
AthReentrantAlgorithm
{
37
public
:
38
39
typedef
CaloTowerBuilderToolBase
tool_type
;
40
typedef
std::vector<tool_type*>
tool_store
;
41
typedef
tool_store::const_iterator
tool_iterator
;
42
44
CaloTowerAlgorithm
(
const
std::string& name, ISvcLocator* pService);
45
46
virtual
~CaloTowerAlgorithm
();
47
49
virtual
StatusCode
initialize
()
override
;
50
virtual
StatusCode
execute
(
const
EventContext& ctx)
const override
;
51
virtual
StatusCode
finalize
()
override
;
52
53
protected
:
54
56
// Properties //
58
59
// ChronoStatSvc
60
ServiceHandle<IChronoStatSvc>
m_chrono
;
61
Gaudi::Property<bool>
m_doChronoStat
{
this
,
"EnableChronoStat"
,
true
};
62
63
// tower grid specs
64
Gaudi::Property<unsigned int>
m_nEtaTowers
{
this
,
"NumberOfEtaTowers"
, 50};
65
Gaudi::Property<unsigned int>
m_nPhiTowers
{
this
,
"NumberOfPhiTowers"
, 64};
66
Gaudi::Property<double>
m_minEta
{
this
,
"EtaMin"
, -2.5};
67
Gaudi::Property<double>
m_maxEta
{
this
,
"EtaMax"
, 2.5};
68
69
// link output container
70
Gaudi::Property<bool>
m_genericLink
{
this
,
"GenericLinked"
,
true
};
71
72
// tool collection
73
std::vector<std::string>
m_toolNames
;
74
ToolHandleArray<ICaloTowerBuilderToolBase>
m_ptools
{
this
,
"TowerBuilderTools"
, {}};
75
// output tower container name
76
SG::WriteHandleKey<CaloTowerContainer>
m_towerContainerKey
{
this
,
"TowerContainerName"
,
""
};
77
79
// Stores and Services //
81
82
// list of tools
83
tool_store
m_tools
;
84
85
};
86
#endif
AthReentrantAlgorithm.h
CaloTowerBuilderToolBase.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
CaloTowerAlgorithm::m_towerContainerKey
SG::WriteHandleKey< CaloTowerContainer > m_towerContainerKey
Definition
CaloTowerAlgorithm.h:76
CaloTowerAlgorithm::tool_iterator
tool_store::const_iterator tool_iterator
Definition
CaloTowerAlgorithm.h:41
CaloTowerAlgorithm::m_nEtaTowers
Gaudi::Property< unsigned int > m_nEtaTowers
Definition
CaloTowerAlgorithm.h:64
CaloTowerAlgorithm::m_chrono
ServiceHandle< IChronoStatSvc > m_chrono
Definition
CaloTowerAlgorithm.h:60
CaloTowerAlgorithm::finalize
virtual StatusCode finalize() override
Definition
CaloTowerAlgorithm.cxx:145
CaloTowerAlgorithm::tool_store
std::vector< tool_type * > tool_store
Definition
CaloTowerAlgorithm.h:40
CaloTowerAlgorithm::m_toolNames
std::vector< std::string > m_toolNames
Definition
CaloTowerAlgorithm.h:73
CaloTowerAlgorithm::m_doChronoStat
Gaudi::Property< bool > m_doChronoStat
Definition
CaloTowerAlgorithm.h:61
CaloTowerAlgorithm::m_tools
tool_store m_tools
Definition
CaloTowerAlgorithm.h:83
CaloTowerAlgorithm::m_nPhiTowers
Gaudi::Property< unsigned int > m_nPhiTowers
Definition
CaloTowerAlgorithm.h:65
CaloTowerAlgorithm::~CaloTowerAlgorithm
virtual ~CaloTowerAlgorithm()
CaloTowerAlgorithm::m_minEta
Gaudi::Property< double > m_minEta
Definition
CaloTowerAlgorithm.h:66
CaloTowerAlgorithm::initialize
virtual StatusCode initialize() override
inherited from Algorithm
Definition
CaloTowerAlgorithm.cxx:32
CaloTowerAlgorithm::tool_type
CaloTowerBuilderToolBase tool_type
Definition
CaloTowerAlgorithm.h:39
CaloTowerAlgorithm::m_ptools
ToolHandleArray< ICaloTowerBuilderToolBase > m_ptools
Definition
CaloTowerAlgorithm.h:74
CaloTowerAlgorithm::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition
CaloTowerAlgorithm.cxx:89
CaloTowerAlgorithm::m_genericLink
Gaudi::Property< bool > m_genericLink
Definition
CaloTowerAlgorithm.h:70
CaloTowerAlgorithm::m_maxEta
Gaudi::Property< double > m_maxEta
Definition
CaloTowerAlgorithm.h:67
CaloTowerAlgorithm::CaloTowerAlgorithm
CaloTowerAlgorithm(const std::string &name, ISvcLocator *pService)
Algorithm constructor.
Definition
CaloTowerAlgorithm.cxx:18
CaloTowerBuilderToolBase
Definition
CaloTowerBuilderToolBase.h:31
ICaloTowerBuilderToolBase
Definition
ICaloTowerBuilderToolBase.h:37
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
ServiceHandle
Definition
ClusterMakerTool.h:36
Generated on
for ATLAS Offline Software by
1.17.0