ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Calorimeter
CaloUtils
CaloUtils
CaloTowerBuilderTool.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_CALOTOWERBUILDERTOOL_H
6
#define CALOREC_CALOTOWERBUILDERTOOL_H
16
17
#include "
CaloIdentifier/CaloCell_ID.h
"
18
19
#include "
CaloUtils/CaloTowerBuilderToolBase.h
"
20
#include "
CaloUtils/CaloTowerStore.h
"
21
22
23
24
#include <string>
25
#include <vector>
26
27
class
CaloTower
;
28
class
CaloTowerStore
;
29
class
CaloTowerContainer
;
30
class
StoreGateSvc
;
31
class
MsgStream;
32
33
class
CaloTowerBuilderTool
:
public
CaloTowerBuilderToolBase
34
{
35
public
:
36
CaloTowerBuilderTool
(
const
CaloTowerBuilderTool
&) =
delete
;
37
CaloTowerBuilderTool
&
operator=
(
const
CaloTowerBuilderTool
&) =
delete
;
38
40
CaloTowerBuilderTool
(
const
std::string& name,
const
std::string&
type
,
41
const
IInterface* parent);
42
virtual
~CaloTowerBuilderTool
();
43
44
60
virtual
StatusCode
execute
(
const
EventContext& ctx,
61
CaloTowerContainer
* theContainer,
62
const
CaloCellContainer
* theCell=0,
63
const
CaloTowerSeg::SubSeg
* subseg = 0)
const override
;
64
65
74
virtual
StatusCode
execute
(
const
EventContext& ctx,
75
CaloTowerContainer
* theContainer)
override
;
76
77
78
virtual
void
setCalos
(
const
EventContext& ctx,
79
const
std::vector<CaloCell_ID::SUBCALO>& v);
80
81
virtual
StatusCode
initializeTool
()
override
;
82
83
84
protected
:
89
virtual
std::vector<CaloCell_ID::SUBCALO>
parseCalos
90
(
const
std::vector<std::string>& includedCalos)
const
;
91
92
void
runTimeInit
(
const
EventContext& ctx)
const
;
93
94
private
:
95
97
// Properties //
99
100
std::vector<std::string>
m_includedCalos
;
101
103
// Store and Services //
105
106
std::vector<CaloCell_ID::SUBCALO>
m_caloIndices
;
107
109
// Specific Initialization //
111
112
CaloTowerStore
m_cellStore
;
113
mutable
std::once_flag
m_onceFlag
;
114
115
virtual
StatusCode
checkSetup
(MsgStream& log);
116
static
void
addTower
(
const
CaloTowerStore::tower_iterator
tower_it,
117
const
ElementLink<CaloCellContainer>
& cellsEL,
118
CaloTower
* tower) ;
119
void
iterateFull
(
CaloTowerContainer
* towers,
120
const
ElementLink<CaloCellContainer>
& cellsEL)
const
;
121
void
iterateSubSeg
(
CaloTowerContainer
* towers,
122
const
ElementLink<CaloCellContainer>
& cellsEL,
123
const
CaloTowerSeg::SubSeg
* subseg)
const
;
124
125
129
StatusCode
rebuildLookup
(
const
EventContext& ctx);
130
131
};
132
#endif
CaloCell_ID.h
CaloTowerBuilderToolBase.h
CaloTowerStore.h
CaloCellContainer
Container class for CaloCell.
Definition
CaloCellContainer.h:55
CaloTowerBuilderToolBase::CaloTowerBuilderToolBase
CaloTowerBuilderToolBase(const std::string &name, const std::string &type, const IInterface *parent)
AlgTool constructor.
Definition
CaloTowerBuilderToolBase.cxx:14
CaloTowerBuilderTool::operator=
CaloTowerBuilderTool & operator=(const CaloTowerBuilderTool &)=delete
CaloTowerBuilderTool::m_onceFlag
std::once_flag m_onceFlag
Definition
CaloTowerBuilderTool.h:113
CaloTowerBuilderTool::setCalos
virtual void setCalos(const EventContext &ctx, const std::vector< CaloCell_ID::SUBCALO > &v)
Definition
CaloTowerBuilderTool.cxx:265
CaloTowerBuilderTool::checkSetup
virtual StatusCode checkSetup(MsgStream &log)
Definition
CaloTowerBuilderTool.cxx:245
CaloTowerBuilderTool::runTimeInit
void runTimeInit(const EventContext &ctx) const
Definition
CaloTowerBuilderTool.cxx:149
CaloTowerBuilderTool::execute
virtual StatusCode execute(const EventContext &ctx, CaloTowerContainer *theContainer, const CaloCellContainer *theCell=0, const CaloTowerSeg::SubSeg *subseg=0) const override
Run tower building and add results to the tower container.
Definition
CaloTowerBuilderTool.cxx:173
CaloTowerBuilderTool::iterateFull
void iterateFull(CaloTowerContainer *towers, const ElementLink< CaloCellContainer > &cellsEL) const
Definition
CaloTowerBuilderTool.cxx:98
CaloTowerBuilderTool::m_includedCalos
std::vector< std::string > m_includedCalos
Definition
CaloTowerBuilderTool.h:100
CaloTowerBuilderTool::m_caloIndices
std::vector< CaloCell_ID::SUBCALO > m_caloIndices
Definition
CaloTowerBuilderTool.h:106
CaloTowerBuilderTool::addTower
static void addTower(const CaloTowerStore::tower_iterator tower_it, const ElementLink< CaloCellContainer > &cellsEL, CaloTower *tower)
Definition
CaloTowerBuilderTool.cxx:64
CaloTowerBuilderTool::~CaloTowerBuilderTool
virtual ~CaloTowerBuilderTool()
CaloTowerBuilderTool::CaloTowerBuilderTool
CaloTowerBuilderTool(const CaloTowerBuilderTool &)=delete
CaloTowerBuilderTool::iterateSubSeg
void iterateSubSeg(CaloTowerContainer *towers, const ElementLink< CaloCellContainer > &cellsEL, const CaloTowerSeg::SubSeg *subseg) const
Definition
CaloTowerBuilderTool.cxx:114
CaloTowerBuilderTool::initializeTool
virtual StatusCode initializeTool() override
Definition
CaloTowerBuilderTool.cxx:52
CaloTowerBuilderTool::rebuildLookup
StatusCode rebuildLookup(const EventContext &ctx)
Rebuild the cell lookup table.
Definition
CaloTowerBuilderTool.cxx:309
CaloTowerBuilderTool::parseCalos
virtual std::vector< CaloCell_ID::SUBCALO > parseCalos(const std::vector< std::string > &includedCalos) const
Convert calorimeter strings to enums.
Definition
CaloTowerBuilderTool.cxx:285
CaloTowerBuilderTool::m_cellStore
CaloTowerStore m_cellStore
Definition
CaloTowerBuilderTool.h:112
CaloTowerContainer
Storable container class for CaloTower.
Definition
Calorimeter/CaloEvent/CaloEvent/CaloTowerContainer.h:77
CaloTowerSeg::SubSeg
A rectangular window within the segmentation.
Definition
CaloTowerSeg.h:202
CaloTowerStore::tower_iterator
Definition
CaloTowerStore.h:292
CaloTowerStore
Definition
CaloTowerStore.h:157
CaloTower
Data class for calorimeter cell towers.
Definition
Calorimeter/CaloEvent/CaloEvent/CaloTower.h:55
ElementLink
ElementLink implementation for ROOT usage.
Definition
A/AthLinks/ElementLink.h:40
StoreGateSvc
The Athena Transient Store API.
Definition
StoreGateSvc.h:120
type
Generated on
for ATLAS Offline Software by
1.17.0