ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Calorimeter
CaloEvent
CaloEvent
Calorimeter/CaloEvent/CaloEvent/CaloTower.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef CALOEVENT_CALOTOWER_H
6
#define CALOEVENT_CALOTOWER_H
7
8
/********************************************************************
9
10
NAME: CaloTower.h
11
PACKAGE: offline/Calorimeter/CaloRec
12
13
AUTHORS: S. Rajagopalan
14
CREATED: Oct 30, 2000
15
16
PURPOSE: This is a Contained data object, containing information
17
about a Calorimeter Tower. It contains a list of CaloCell
18
that make up the tower. The Tower segmentation should be in
19
the tower container.
20
21
Update: Jan 10 2001 HMA
22
ordor of static/virtual/const
23
24
Update: Feb 5, 2001 HMA
25
Made it to be a concrete class.
26
LAr and Tile should both instantiate the CaloTower for tower
27
objects.
28
29
Update: Jan 24, 2003 P Loch
30
Keep the weights associated with CaloCells.
31
Implement getWeight() access method.
32
Navigation model update.
33
34
Update: Feb 17, 2004 P Loch
35
Complete overhaul: now inherits from CaloEnergyCluster, a
36
navigable 4-vector. Most interfaces changed to adopt navigation.
37
38
********************************************************************/
39
40
#include "
Navigation/Navigable.h
"
41
42
#include "
EventKernel/INavigable4Momentum.h
"
43
44
#include "
CaloEvent/CaloEnergyCluster.h
"
45
46
//#include "CaloEvent/CaloCompositeKineBase.h"
47
//#include "CaloEvent/CaloCompositeCellBase.h"
48
#include "
CaloEvent/CaloCellContainer.h
"
49
50
class
CaloTower
:
public
CaloEnergyCluster
51
// class CaloTower :
52
// public CaloCompositeKineBase,
53
// public CaloCompositeCellBase< Navigable<CaloCellContainer,double> >,
54
// virtual public INavigable4Momentum
55
{
56
57
public
:
58
60
// Public Types //
62
64
typedef
CaloEnergyCluster::cell_iterator
cell_iterator
;
65
// typedef
66
// CaloCompositeCellBase< Navigable<CaloCellContainer,double> >::cell_iterator
67
// cell_iterator;
68
70
// Constructors & Destructors //
72
77
CaloTower
();
78
86
CaloTower
(
double
eta
,
double
phi
);
87
89
virtual
~CaloTower
()
override
;
90
92
// Kinematics Access //
94
96
virtual
double
getBasicEnergy
()
const override
;
97
99
virtual
void
setBasicEnergy
(
double
theEnergy)
override
;
100
101
102
// Redeclare these methods as final, so they can be inlined.
103
105
virtual
double
e
()
const
override final
106
{
return
CaloEnergyCluster::e
(); }
107
108
virtual
double
energy
()
const
override final
109
{
return
CaloEnergyCluster::energy
(); }
110
111
virtual
double
eta
()
const
override final
112
{
return
CaloEnergyCluster::eta
(); }
113
114
virtual
double
phi
()
const
override final
115
{
return
CaloEnergyCluster::phi
(); }
116
117
virtual
double
m
()
const
override final
118
{
return
CaloEnergyCluster::m
(); }
119
120
// global in CaloEnergyCluster base class!
121
123
// Constituent Management //
125
126
// all in CaloEnergyCluster base class!
127
128
protected
:
129
138
virtual
void
updateKine
(
const
CaloCell
* theCell,
double
weight)
override
;
139
140
private
:
141
142
};
143
144
145
inline
146
CaloTower::CaloTower
( )
147
{
148
this->
setEta
(0);
149
this->
setPhi
(0);
150
}
151
152
153
inline
154
CaloTower::CaloTower
(
double
eta
,
double
phi
)
155
{
156
this->
setEta
(eta);
157
this->
setPhi
(phi);
158
}
159
160
176
#endif
// CALOTOWER_H
177
178
179
180
181
182
183
CaloCellContainer.h
CaloEnergyCluster.h
INavigable4Momentum.h
Navigable.h
CaloCell
Data object for each calorimeter readout cell.
Definition
CaloCell.h:57
CaloEnergyCluster::CaloEnergyCluster
CaloEnergyCluster()
Default constructor.
Definition
CaloEnergyCluster.cxx:18
CaloEnergyCluster::cell_iterator
Navigable< CaloCellContainer, double >::object_iter cell_iterator
Iterator type for cell store.
Definition
CaloEnergyCluster.h:43
CaloEnergyCluster::energy
virtual double energy() const
Return energy.
Definition
CaloEnergyCluster.h:49
CaloTower::m
virtual double m() const override final
get mass data member
Definition
Calorimeter/CaloEvent/CaloEvent/CaloTower.h:117
CaloTower::CaloTower
CaloTower()
Default constructor.
Definition
Calorimeter/CaloEvent/CaloEvent/CaloTower.h:146
CaloTower::setBasicEnergy
virtual void setBasicEnergy(double theEnergy) override
Basic signal setter.
Definition
CaloTower.cxx:54
CaloTower::energy
virtual double energy() const override final
get energy data member
Definition
Calorimeter/CaloEvent/CaloEvent/CaloTower.h:108
CaloTower::e
virtual double e() const override final
get energy data member
Definition
Calorimeter/CaloEvent/CaloEvent/CaloTower.h:105
CaloTower::phi
virtual double phi() const override final
get phi data member
Definition
Calorimeter/CaloEvent/CaloEvent/CaloTower.h:114
CaloTower::cell_iterator
CaloEnergyCluster::cell_iterator cell_iterator
Iterator on CaloCell s.
Definition
Calorimeter/CaloEvent/CaloEvent/CaloTower.h:64
CaloTower::eta
virtual double eta() const override final
get eta data member
Definition
Calorimeter/CaloEvent/CaloEvent/CaloTower.h:111
CaloTower::~CaloTower
virtual ~CaloTower() override
Destructor.
CaloTower::getBasicEnergy
virtual double getBasicEnergy() const override
Basic signal getter.
Definition
CaloTower.cxx:51
CaloTower::updateKine
virtual void updateKine(const CaloCell *theCell, double weight) override
Update tower kinematics when cell is added.
Definition
CaloTower.cxx:39
I4Momentum::m
virtual double m() const =0
mass
I4Momentum::phi
virtual double phi() const =0
phi in [-pi,pi[
I4Momentum::eta
virtual double eta() const =0
pseudo rapidity
I4Momentum::e
virtual double e() const =0
energy
P4EEtaPhiM::setEta
virtual void setEta(double theEta)
set eta data member
Definition
P4EEtaPhiM.h:117
P4EEtaPhiM::setPhi
virtual void setPhi(double thePhi)
set phi data member
Definition
P4EEtaPhiM.h:120
const
Generated on
for ATLAS Offline Software by
1.17.0