ATLAS Offline Software
Loading...
Searching...
No Matches
CaloTower_v1.h
Go to the documentation of this file.
1// -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef CALOEVENT_CALOTOWER_V1_H
8#define CALOEVENT_CALOTOWER_V1_H
9
10#include "xAODBase/IParticle.h"
11
12// ROOT include(s):
13#include "Math/Vector4D.h"
14
15namespace xAOD {
16
17 class CaloTower_v1 : public IParticle
18 {
19 public:
20
21 enum {
23 };
24
25
30
33
37 void reset();
38
42 void addEnergy(double energy);
46 void setEnergy(double energy);
47
50 virtual double pt() const;
51 virtual double eta() const;
52 virtual double phi() const;
53 virtual double rapidity() const;
54 virtual double m() const;
55 virtual double e() const;
56
59
61 typedef ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > GenVecFourMom_t;
62
64
65 virtual FourMom_t p4() const;
67
70 virtual Type::ObjectType type() const;
72
73 private:
74
77 float& f_ref_e();
81 float f_val_e() const;
83
84 };
85}
86
87inline float& xAOD::CaloTower_v1::f_ref_e() { static const Accessor<float> acc("towerE"); return acc(*this); }
88
89inline float xAOD::CaloTower_v1::f_val_e() const { static const ConstAccessor<float> acc("towerE"); return acc(*this); }
90
122#endif
SG::ConstAccessor< T, ALLOC > ConstAccessor
Definition AuxElement.h:569
virtual Type::ObjectType type() const
object type - presently Type::Other (FIXME)
void reset()
Reset function.
virtual double pt() const
transverse momentum
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
Base 4 Momentum type for calo.
void setEnergy(double energy)
Sets the energy.
virtual FourMom_t p4() const
Four-momentum representation.
virtual double e() const
energy
float f_val_e() const
Accessor for energy.
virtual double m() const
mass (by convention)
virtual double eta() const
pseudorapidity $
virtual double phi() const
azimuth
float & f_ref_e()
Reference to modifiable energy store.
GenVecFourMom_t genvecP4() const
Four-momentum representation: GenVector.
IParticle::FourMom_t FourMom_t
Definition of the 4-momentum type.
void addEnergy(double energy)
Add energy.
CaloTower_v1()
Default constructor.
virtual double rapidity() const
rapidity
~CaloTower_v1()
Destructor.
IParticle()=default
TLorentzVector FourMom_t
Definition of the 4-momentum type.
SG::Accessor< T, ALLOC > Accessor
Definition AuxElement.h:572
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
static const SG::AuxElement::Accessor< ElementLink< IParticleContainer > > acc("originalObjectLink")
Object used for setting/getting the dynamic decoration in question.