ATLAS Offline Software
Loading...
Searching...
No Matches
Particle_v1.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5*/
6
7// $Id: Particle_v1.h 637086 2014-12-19 16:02:19Z kkoeneke $
8#ifndef XAODPARTICLEEVENT_VERSIONS_PARTICLE_V1_H
9#define XAODPARTICLEEVENT_VERSIONS_PARTICLE_V1_H
10
11
12// STL includes
13#include <vector>
14
15// xAOD include(s):
16#include "xAODBase/IParticle.h"
18#include "AthLinks/ElementLink.h"
19
20// ROOT include(s):
21#include "Math/Vector4D.h"
22
23namespace xAOD {
24
31 class Particle_v1 : public IParticle {
32
33 public:
36
38 //Particle_v1(const Particle_v1& other);
39
40 //virtual ~Particle_v1();
41
44
46 virtual double pt() const;
48 virtual double eta() const;
50 virtual double phi() const;
52 virtual double m() const;
54 virtual double e() const;
56 virtual double rapidity() const;
57
60
62 virtual FourMom_t p4() const;
63
65 typedef ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > GenVecFourMom_t;
66
69
71 virtual Type::ObjectType type() const;
73
74
77
79 double px() const;
81 double py() const;
83 double pz() const;
86 double et() const;
87
88
90 void setP4( const FourMom_t& vec );
92 void setPxPyPzE( double px, double py, double pz, double e );
94 void setPx( double px );
96 void setPy( double py );
98 void setPz( double pz );
100 void setE( double e );
102
103
106
108 bool hasCharge() const;
110 float charge() const;
112 void setCharge( float charge );
113
115 bool hasPdgId() const;
117 int pdgId() const;
119 void setPdgId( int pdgID );
120
122
123
124 public:
125
128
129 }; // class Particle_v1
130
131
132} // namespace xAOD
133
134#endif // XAODPARTICLEEVENT_VERSIONS_PARTICLE_V1_H
std::vector< size_t > vec
IParticle()=default
TLorentzVector FourMom_t
Definition of the 4-momentum type.
int pdgId() const
Return the PDG identifier.
float charge() const
Return the electric charge.
virtual double e() const
The total energy of the particle.
virtual double phi() const
The azimuthal angle ( ) of the particle.
virtual double rapidity() const
The true rapidity (y) of the particle.
virtual double eta() const
The pseudorapidity ( ) of the particle.
double py() const
Get the py momentum component of the particle.
virtual FourMom_t p4() const
The full 4-momentum of the particle.
void setPy(double py)
Set the y-component of the momentum.
bool hasPdgId() const
Check if this particle has its charge set.
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > GenVecFourMom_t
Base 4 Momentum type (GenVector)
Definition Particle_v1.h:65
bool hasCharge() const
Check if this particle has its charge set.
Particle_v1()
Default constructor.
virtual double m() const
The invariant mass of the particle.
void setPxPyPzE(double px, double py, double pz, double e)
Set the 4-vec.
IParticle::FourMom_t FourMom_t
Definition of the 4-momentum type.
Definition Particle_v1.h:59
double px() const
Get the px momentum component of the particle.
void setP4(const FourMom_t &vec)
Set the 4-vec.
void setE(double e)
Set the energy.
void toPersistent()
Function preparing the object to be persistified.
virtual Type::ObjectType type() const
The type of the object as a simple enumeration.
void setPz(double pz)
Set the z-component of the momentum.
double pz() const
Get the pz momentum component of the particle.
void setPx(double px)
Set the x-component of the momentum.
virtual double pt() const
The transverse momentum ( ) of the particle.
void setCharge(float charge)
Set the electric charge.
double et() const
The transverse energy ( ) of the particle.
void setPdgId(int pdgID)
Set the PDG identifier.
GenVecFourMom_t genvecP4() const
The full 4-momentum of the particle : GenVector form.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.