ATLAS Offline Software
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 
43 
45 
46 //#include "CaloEvent/CaloCompositeKineBase.h"
47 //#include "CaloEvent/CaloCompositeCellBase.h"
49 
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 
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(); }
108  virtual double energy() const override final
109  { return CaloEnergyCluster::energy(); }
111  virtual double eta() const override final
112  { return CaloEnergyCluster::eta(); }
114  virtual double phi() const override final
115  { return CaloEnergyCluster::phi(); }
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
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 
CaloEnergyCluster::cell_iterator
Navigable< CaloCellContainer, double >::object_iter cell_iterator
Iterator type for cell store.
Definition: CaloEnergyCluster.h:43
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
P4EEtaPhiM::setEta
virtual void setEta(double theEta)
set eta data member
Definition: P4EEtaPhiM.h:117
CaloTower::~CaloTower
virtual ~CaloTower() override
Destructor.
INavigable4Momentum.h
CaloEnergyCluster
Implementation of navigation and kinematics for CaloCluster and CaloTower.
Definition: CaloEnergyCluster.h:25
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
CaloTower::m
virtual double m() const override final
get mass data member
Definition: Calorimeter/CaloEvent/CaloEvent/CaloTower.h:147
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
P4EEtaPhiM::e
virtual double e() const
get energy data member
Definition: P4EEtaPhiM.h:102
P4EEtaPhiM::eta
virtual double eta() const
get eta data member
Definition: P4EEtaPhiM.h:105
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:189
CaloEnergyCluster.h
CaloTower::phi
virtual double phi() const override final
get phi data member
Definition: Calorimeter/CaloEvent/CaloEvent/CaloTower.h:144
CaloTower::cell_iterator
CaloEnergyCluster::cell_iterator cell_iterator
Iterator on CaloCell s.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloTower.h:94
P4EEtaPhiM::m
virtual double m() const
get mass data member
Definition: P4EEtaPhiM.h:111
PowhegPythia8EvtGen_jetjet.theEnergy
int theEnergy
Definition: PowhegPythia8EvtGen_jetjet.py:12
CaloTower
Data class for calorimeter cell towers.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloTower.h:55
CaloEnergyCluster::energy
virtual double energy() const
Return energy.
Definition: CaloEnergyCluster.h:49
P4EEtaPhiM::setPhi
virtual void setPhi(double thePhi)
set phi data member
Definition: P4EEtaPhiM.h:120
CaloTower::energy
virtual double energy() const override final
get energy data member
Definition: Calorimeter/CaloEvent/CaloEvent/CaloTower.h:138
CaloTower::e
virtual double e() const override final
get energy data member
Definition: Calorimeter/CaloEvent/CaloEvent/CaloTower.h:135
P4EEtaPhiM::phi
virtual double phi() const
get phi data member
Definition: P4EEtaPhiM.h:108
CaloCellContainer.h
CaloTower::updateKine
virtual void updateKine(const CaloCell *theCell, double weight) override
Update tower kinematics when cell is added.
Definition: CaloTower.cxx:39
Navigable.h
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
CaloTower::setBasicEnergy
virtual void setBasicEnergy(double theEnergy) override
Basic signal setter.
Definition: CaloTower.cxx:54
CaloTower::CaloTower
CaloTower()
Default constructor.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloTower.h:146
CaloTower::eta
virtual double eta() const override final
get eta data member
Definition: Calorimeter/CaloEvent/CaloEvent/CaloTower.h:141
CaloTower::getBasicEnergy
virtual double getBasicEnergy() const override
Basic signal getter.
Definition: CaloTower.cxx:51