ATLAS Offline Software
TrackRecord.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRACKRECORD_TRACKRECORD_H
6 #define TRACKRECORD_TRACKRECORD_H
7 
8 #include "CLHEP/Vector/ThreeVector.h"
9 
10 class TrackRecord {
11 public:
13  TrackRecord() = default;
14 
16  virtual ~TrackRecord() = default;
17 
20  int pdg,
21  int status,
22  double energy,
23  const CLHEP::Hep3Vector& momentum,
24  const CLHEP::Hep3Vector& postition,
25  double time,
26  int barcode,
27  int id,
28  const std::string& volumeName)
29  : m_pdgCode(pdg)
30  , m_status(status)
31  , m_energy(energy)
33  , m_position(postition)
34  , m_time(time)
36  , m_id(id)
37  , m_volName(volumeName) {}
38 
41  : m_pdgCode(trc.m_pdgCode)
42  , m_status(trc.m_status)
43  , m_energy(trc.m_energy)
44  , m_momentum(trc.m_momentum)
45  , m_position(trc.m_position)
46  , m_time(trc.m_time)
47  , m_barcode(trc.m_barcode)
48  , m_id(trc.m_id)
49  , m_volName(trc.m_volName){}
50 
53  if (this != &trc) {
54  m_pdgCode = trc.m_pdgCode;
55  m_status = trc.m_status;
56  m_energy = trc.m_energy;
57  m_momentum = trc.m_momentum;
58  m_position = trc.m_position;
59  m_time = trc.m_time;
60  m_barcode = trc.m_barcode;
61  m_id = trc.m_id;
62  m_volName = trc.m_volName;
63  }
64  return *this;
65  }
66 
68  double GetEnergy() const {return m_energy;}
69 
71  void SetEnergy(double e) {m_energy = e;}
72 
74  CLHEP::Hep3Vector GetPosition() const {return m_position;}
75 
77  void SetPosition(CLHEP::Hep3Vector p) {m_position = p;}
78 
80  CLHEP::Hep3Vector GetMomentum() const {return m_momentum;}
81 
83  void SetMomentum(CLHEP::Hep3Vector e) {m_momentum = e;}
84 
86  int GetPDGCode() const {return m_pdgCode;}
87 
89  void SetPDGCode(int pcode) {m_pdgCode = pcode;}
90 
92  double GetTime() const {return m_time;}
93 
95  void SetTime(double time) {m_time = time;}
96 
98  std::string GetVolName() const {return m_volName;}
99 
101  void SetVolName(const std::string& theName){m_volName = theName;}
102 
104  int status() const {return m_status;}
105 
108 
110  int id() const {return m_id;}
111 
113  void SetID(int uniqueID){m_id = uniqueID;}
114 
116  int barcode() const {return m_barcode;}
117 
120 
121 private:
122  int m_pdgCode{0};
123  int m_status{0};
124  double m_energy{0};
125  CLHEP::Hep3Vector m_momentum{0,0,0};
126  CLHEP::Hep3Vector m_position{0,0,0};
127  double m_time{0.};
128  int m_barcode{0};
129  int m_id{0};
130  std::string m_volName{""};
131 };
132 
133 #endif // TRACKRECORD_TRACKRECORD_H
TrackRecord::SetID
void SetID(int uniqueID)
Set uniqueID.
Definition: TrackRecord.h:113
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
TrackRecord::m_time
double m_time
Definition: TrackRecord.h:127
TrackRecord::TrackRecord
TrackRecord(const TrackRecord &trc)
Constructor.
Definition: TrackRecord.h:40
TrackRecord::id
int id() const
unique ID
Definition: TrackRecord.h:110
TrackRecord::m_position
CLHEP::Hep3Vector m_position
Definition: TrackRecord.h:126
TrackRecord::operator=
TrackRecord & operator=(const TrackRecord &trc)
Assignement Operator.
Definition: TrackRecord.h:52
TrackRecord::status
int status() const
status.
Definition: TrackRecord.h:104
TrackRecord::m_barcode
int m_barcode
Definition: TrackRecord.h:128
TrackRecord::SetPDGCode
void SetPDGCode(int pcode)
Set PDG code.
Definition: TrackRecord.h:89
TrackRecord::SetVolName
void SetVolName(const std::string &theName)
Set Volume name.
Definition: TrackRecord.h:101
TrackRecord::~TrackRecord
virtual ~TrackRecord()=default
Default destructor.
TrackRecord::m_status
int m_status
Definition: TrackRecord.h:123
TrackRecord::GetTime
double GetTime() const
Time.
Definition: TrackRecord.h:92
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
ParticleGun_EoverP_Config.momentum
momentum
Definition: ParticleGun_EoverP_Config.py:63
TrackRecord::m_momentum
CLHEP::Hep3Vector m_momentum
Definition: TrackRecord.h:125
TrackRecord::GetPosition
CLHEP::Hep3Vector GetPosition() const
Position.
Definition: TrackRecord.h:74
TrackRecord::SetTime
void SetTime(double time)
Set time.
Definition: TrackRecord.h:95
HepMC::uniqueID
int uniqueID(const T &p)
Definition: MagicNumbers.h:113
TrackRecord::SetPosition
void SetPosition(CLHEP::Hep3Vector p)
Set position.
Definition: TrackRecord.h:77
TrackRecord::GetVolName
std::string GetVolName() const
Volume name.
Definition: TrackRecord.h:98
TrackRecord::SetBarcode
void SetBarcode(int barcode)
Set barcode.
Definition: TrackRecord.h:119
TrackRecord::m_volName
std::string m_volName
Definition: TrackRecord.h:130
TrackRecord::TrackRecord
TrackRecord()=default
Default constructor.
TrackRecord::SetMomentum
void SetMomentum(CLHEP::Hep3Vector e)
Set momentum.
Definition: TrackRecord.h:83
TrackRecord::GetEnergy
double GetEnergy() const
Energy.
Definition: TrackRecord.h:68
TrackRecord::GetMomentum
CLHEP::Hep3Vector GetMomentum() const
Momentum.
Definition: TrackRecord.h:80
TrackRecord::m_id
int m_id
Definition: TrackRecord.h:129
TrackRecord
Definition: TrackRecord.h:10
TrackRecord::TrackRecord
TrackRecord(int pdg, int status, double energy, const CLHEP::Hep3Vector &momentum, const CLHEP::Hep3Vector &postition, double time, int barcode, int id, const std::string &volumeName)
Constructor.
Definition: TrackRecord.h:19
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
TrackRecord::SetStatus
void SetStatus(int status)
Set status.
Definition: TrackRecord.h:107
TrackRecord::barcode
int barcode() const
bar code.
Definition: TrackRecord.h:116
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
TrackRecord::m_energy
double m_energy
Definition: TrackRecord.h:124
TrackRecord::SetEnergy
void SetEnergy(double e)
Set energy.
Definition: TrackRecord.h:71
TrackRecord::GetPDGCode
int GetPDGCode() const
PDG Code.
Definition: TrackRecord.h:86
TrackRecord::m_pdgCode
int m_pdgCode
Definition: TrackRecord.h:122