ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArRecUtils
src
LArFCalTowerBuilderTool.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 LARCLUSTERREC_LARFCALTOWERBUILDERTOOL_H
6
#define LARCLUSTERREC_LARFCALTOWERBUILDERTOOL_H
20
21
#include "
LArFCalTowerStore.h
"
22
#include "
CaloUtils/CaloTowerBuilderToolBase.h
"
23
24
#include "
CaloIdentifier/CaloCell_ID.h
"
25
26
27
class
LArFCalTowerStore
;
28
29
class
CaloTowerContainer
;
30
class
CaloTower
;
31
class
CaloDetDescrManager
;
32
33
class
LArFCAL_ID
;
34
35
class
LArFCalTowerBuilderTool
:
public
CaloTowerBuilderToolBase
36
{
37
public
:
38
LArFCalTowerBuilderTool
(
const
LArFCalTowerBuilderTool
&) =
delete
;
39
LArFCalTowerBuilderTool
&
operator=
(
const
LArFCalTowerBuilderTool
&) =
delete
;
40
42
LArFCalTowerBuilderTool
(
const
std::string& name,
const
std::string&
type
,
43
const
IInterface* parent);
44
45
virtual
~LArFCalTowerBuilderTool
();
46
47
virtual
StatusCode
execute
(
const
EventContext& ctx,
48
CaloTowerContainer
* theContainer,
49
const
CaloCellContainer
* theCell=0,
50
const
CaloTowerSeg::SubSeg
* subseg = 0)
const override
;
51
52
61
virtual
StatusCode
execute
(
const
EventContext& ctx,
62
CaloTowerContainer
* theContainer)
override
;
63
64
65
private
:
66
67
double
m_minEt
;
68
69
virtual
StatusCode
initializeTool
()
override
;
70
71
typedef
LArFCalTowerStore::tower_iterator
tower_iterator
;
72
73
void
addTower
(
const
tower_iterator
& t,
74
const
ElementLink<CaloCellContainer>
& cellsEL,
75
CaloTower
* tower)
const
;
76
void
iterateFull
(
CaloTowerContainer
* towers,
77
const
ElementLink<CaloCellContainer>
& cellsEL)
const
;
78
void
iterateSubSeg
(
CaloTowerContainer
* towers,
79
const
ElementLink<CaloCellContainer>
& cellsEL,
80
const
CaloTowerSeg::SubSeg
* subseg)
const
;
81
82
void
runTimeInit
(
const
EventContext& ctx)
const
;
83
84
88
StatusCode
rebuildLookup
(
const
EventContext& ctx);
89
90
91
// FCal only
92
static
const
CaloCell_ID::SUBCALO
m_caloIndex
;
93
94
const
CaloCell_ID
*
m_cellIdHelper
;
95
const
LArFCAL_ID
*
m_larFCalId
;
96
97
LArFCalTowerStore
m_cellStore
;
98
mutable
std::once_flag
m_onceFlag
;
99
100
};
101
#endif
CaloCell_ID.h
CaloTowerBuilderToolBase.h
LArFCalTowerStore.h
CaloCellContainer
Container class for CaloCell.
Definition
CaloCellContainer.h:55
CaloCell_ID
Helper class for offline cell identifiers.
Definition
CaloCell_ID.h:34
CaloCell_ID::SUBCALO
CaloCell_Base_ID::SUBCALO SUBCALO
Definition
CaloCell_ID.h:50
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition
CaloDetDescrManager.h:469
CaloTowerBuilderToolBase::CaloTowerBuilderToolBase
CaloTowerBuilderToolBase(const std::string &name, const std::string &type, const IInterface *parent)
AlgTool constructor.
Definition
CaloTowerBuilderToolBase.cxx:14
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
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
LArFCAL_ID
Helper class for LArFCAL offline identifiers.
Definition
LArFCAL_ID.h:49
LArFCalTowerBuilderTool::operator=
LArFCalTowerBuilderTool & operator=(const LArFCalTowerBuilderTool &)=delete
LArFCalTowerBuilderTool::m_cellIdHelper
const CaloCell_ID * m_cellIdHelper
Definition
LArFCalTowerBuilderTool.h:94
LArFCalTowerBuilderTool::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
LArFCalTowerBuilderTool.cxx:135
LArFCalTowerBuilderTool::iterateFull
void iterateFull(CaloTowerContainer *towers, const ElementLink< CaloCellContainer > &cellsEL) const
Definition
LArFCalTowerBuilderTool.cxx:92
LArFCalTowerBuilderTool::m_cellStore
LArFCalTowerStore m_cellStore
Definition
LArFCalTowerBuilderTool.h:97
LArFCalTowerBuilderTool::tower_iterator
LArFCalTowerStore::tower_iterator tower_iterator
Definition
LArFCalTowerBuilderTool.h:71
LArFCalTowerBuilderTool::initializeTool
virtual StatusCode initializeTool() override
Definition
LArFCalTowerBuilderTool.cxx:45
LArFCalTowerBuilderTool::m_minEt
double m_minEt
Definition
LArFCalTowerBuilderTool.h:67
LArFCalTowerBuilderTool::LArFCalTowerBuilderTool
LArFCalTowerBuilderTool(const LArFCalTowerBuilderTool &)=delete
LArFCalTowerBuilderTool::m_onceFlag
std::once_flag m_onceFlag
Definition
LArFCalTowerBuilderTool.h:98
LArFCalTowerBuilderTool::m_caloIndex
static const CaloCell_ID::SUBCALO m_caloIndex
Definition
LArFCalTowerBuilderTool.h:92
LArFCalTowerBuilderTool::runTimeInit
void runTimeInit(const EventContext &ctx) const
Definition
LArFCalTowerBuilderTool.cxx:127
LArFCalTowerBuilderTool::~LArFCalTowerBuilderTool
virtual ~LArFCalTowerBuilderTool()
Definition
LArFCalTowerBuilderTool.cxx:38
LArFCalTowerBuilderTool::m_larFCalId
const LArFCAL_ID * m_larFCalId
Definition
LArFCalTowerBuilderTool.h:95
LArFCalTowerBuilderTool::rebuildLookup
StatusCode rebuildLookup(const EventContext &ctx)
Rebuild the cell lookup table.
Definition
LArFCalTowerBuilderTool.cxx:205
LArFCalTowerBuilderTool::iterateSubSeg
void iterateSubSeg(CaloTowerContainer *towers, const ElementLink< CaloCellContainer > &cellsEL, const CaloTowerSeg::SubSeg *subseg) const
Definition
LArFCalTowerBuilderTool.cxx:108
LArFCalTowerBuilderTool::addTower
void addTower(const tower_iterator &t, const ElementLink< CaloCellContainer > &cellsEL, CaloTower *tower) const
Definition
LArFCalTowerBuilderTool.cxx:62
LArFCalTowerStore
Intermediate store for cell/tower maps.
Definition
LArFCalTowerStore.h:38
LArFCalTowerStore::tower_iterator
tower_table_t::const_iterator tower_iterator
Definition
LArFCalTowerStore.h:50
type
Generated on
for ATLAS Offline Software by
1.17.0