 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef CALOEVENT_CALOCELL_H
6 #define CALOEVENT_CALOCELL_H
41 #include "Identifier/Identifier.h"
50 #include "CaloDetDescr/CaloDetDescrElement.h"
117 virtual double phi ()
const override final;
119 virtual double eta ()
const override final;
121 virtual double sinTh ()
const override final;
123 virtual double cosTh ()
const override final;
125 virtual double sinPhi ()
const override final;
127 virtual double cosPhi ()
const override final;
129 virtual double cotTh ()
const override final;
131 virtual double m ()
const override final;
133 virtual double e ()
const override final;
135 virtual double et ()
const override final;
196 virtual void set4Mom (
const CLHEP::HepLorentzVector & theHlv )
override final;
200 virtual std::unique_ptr<CaloCell>
clone()
const;
235 # define m_qualProv ((uint16_t*)&m_quality)
236 # define m_tileQual ((uint8_t*)&m_quality)
302 return p->ID().get_identifier32().get_compact();
311 return p->ID().get_identifier32().get_compact();
419 return this->
e() * this->
sinTh();
float cosPhi() const
for fast px py pz computation
std::size_t navigationHash(const CaloCell *p)
void assign(const CaloDetDescrElement *caloDDE, const Identifier &ID, float energy, float time, uint16_t quality, uint16_t provenance, CaloGain::CaloGain gain)
For initializing a cell we get from a DataPool.
void setCaloDDE(const CaloDetDescrElement *caloDDE)
set pointer to CaloDetDescrElement
virtual double cotTh() const override final
get cottan(theta)
virtual double phi() const override final
get phi (through CaloDetDescrElement)
float cotTh() const
for fast px py pz computation
void set(const CaloDetDescrElement *caloDDE, const Identifier &ID)
Fast method to change the identity of a cell.
std::vector< Identifier > ID
float y() const
get y (through CaloDetDescrElement)
virtual void set4Mom(const I4Momentum *const theI4Mom) override final
set 4Momentum (will throw exception since cannot be implemented)
virtual void setTime(float time)
set time
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Dummy type needed fro specialized implementation.
virtual double e() const override final
get energy (data member) (synonym to method energy()
void addTime(float delta)
add time
A functional to get the ID from a CaloCell pointer.
uint16_t provenance() const
get provenance (data member)
virtual void setEnergy(float energy)
set energy
float time() const
get time (data member)
virtual std::unique_ptr< CaloCell > clone() const
clone a CaloCell
double energy() const
get energy (data member)
virtual double cosPhi() const override final
get cos(phi)
Identifier identify() const override final
cell identifier
CaloCell()
default constructor (should not be used, only there for persistency reason)
void setQuality(uint16_t quality)
set quality
const CaloDetDescrElement * caloDDE() const
get pointer to CaloDetDescrElement (data member)
CaloGain::CaloGain m_gain
gain
float m_energy
energy (in MeV)
virtual bool badcell() const
check is cell is dead
virtual double et() const override final
get et
void setGain(CaloGain::CaloGain gain=CaloGain::INVALIDGAIN)
set gain
void setProvenance(uint16_t prov)
set Provenance
uint16_t quality() const
get quality (data member)
virtual ~CaloCell()
default destructor
virtual void scaleEnergy(float scale)
scale energy
CaloGain::CaloGain gain() const
get gain (data member )
Identifier ID() const
get ID (from cached data member) non-virtual and inline for fast access
std::size_t operator()(const CaloCell *p) const
Data object for each calorimeter readout cell.
def time(flags, cells_name, *args, **kw)
float cosTh() const
for fast px py pz computation
virtual double m() const override final
get mass (hardcoded to be null)
float z() const
get z (through CaloDetDescrElement)
float x() const
get x (through CaloDetDescrElement)
float eta() const
cell eta
virtual double cosTh() const override final
get cos(theta) (derived from sinTh)
float phi() const
cell phi
const CaloDetDescrElement * m_caloDDE
pointer to static CaloDetDescrElement to access information that does not change from event to event
float sinTh() const
for algorithm working in transverse Energy
void addEnergy(float energy)
add energy
float sinPhi() const
for fast px py pz computation
virtual double sinPhi() const override final
get sin(phi)
Identifier m_ID
offline identifier
virtual double sinTh() const override final
get sin(theta) (through CaloDetDescrElement)
virtual double eta() const override final
get eta (through CaloDetDescrElement)