ATLAS Offline Software
Loading...
Searching...
No Matches
RPCSimHit.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5
7
8
9#include <sstream>
10
11// construction/destruction
12
14 m_RPCid(0xffff),
15 m_globalTime(0.),
16 m_localPosition(0.,0.,0.), // pre-step position
17 m_partLink(),
18 m_localPostStepPosition(0.,0.,0.), // post-step position
19 m_energyDeposit(-1.), //Geant4 de/dx
20 m_stepLength(-1.), //Geant4 step Length
21 m_particleEncoding(0), // PDG id
22 m_kineticEnergy(-1.) // kinetic energy of the particle
23{
24}
25//default destructor required by Pool
26RPCSimHit::~RPCSimHit( ) = default;
27
29 double time,
30 const Amg::Vector3D& position)
31 : m_RPCid(id),
32 m_globalTime(time),
33 m_localPosition(position),
34 m_partLink(),
35 m_localPostStepPosition(0.,0.,0.), // post-step position
36 m_energyDeposit(-1.), //Geant4 de/dx
37 m_stepLength(-1.), //Geant4 step Length
38 m_particleEncoding(0), // PDG id
39 m_kineticEnergy(-1.) // kinetic energy of the particle
40{
41}
42
44 double time,
45 const Amg::Vector3D& position,
46 const int truthBarcode)
47 : m_RPCid(id),
48 m_globalTime(time),
49 m_localPosition(position),
50 m_partLink(truthBarcode, 0, HepMcParticleLink::IS_POSITION, HepMcParticleLink::IS_BARCODE), // FIXME barcode-based
51 m_localPostStepPosition(0.,0.,0.), // post-step position
52 m_energyDeposit(-1.), //Geant4 de/dx
53 m_stepLength(-1.), //Geant4 step Length
54 m_particleEncoding(0), // PDG id
55 m_kineticEnergy(-1.) // kinetic energy of the particle
56{
57}
58
60 double time,
61 const Amg::Vector3D& prePosition,
62 const int truthBarcode,
63 const Amg::Vector3D& postPosition,
64 const double energyDeposit, const double stepLength,
65 const int particleEncoding, const double kineticEnergy)
66 : m_RPCid(id), m_globalTime(time)
67 , m_localPosition(prePosition)
68 , m_partLink(truthBarcode, 0, HepMcParticleLink::IS_POSITION, HepMcParticleLink::IS_BARCODE) // FIXME barcode-based
69 , m_localPostStepPosition(postPosition)
70 , m_energyDeposit(static_cast<float>(energyDeposit))
71 , m_stepLength(static_cast<float>(stepLength))
73 , m_kineticEnergy(static_cast<float>(kineticEnergy))
74{
75}
76
78 double time,
79 const Amg::Vector3D& prePosition,
80 const HepMcParticleLink& hmpl,
81 const Amg::Vector3D& postPosition,
82 const double energyDeposit, const double stepLength,
83 const int particleEncoding, const double kineticEnergy)
84 : m_RPCid(id), m_globalTime(time)
85 , m_localPosition(prePosition)
86 , m_partLink(hmpl)
87 , m_localPostStepPosition(postPosition)
88 , m_energyDeposit(static_cast<float>(energyDeposit))
89 , m_stepLength(static_cast<float>(stepLength))
91 , m_kineticEnergy(static_cast<float>(kineticEnergy))
92{
93}
94
95// Implemenation of member functions
96std::string RPCSimHit::print() const {
97
98 std::stringstream ss;
99
100 ss << "RPCSimHit:";
101 ss << " identifier: " << m_RPCid;
102 ss << " t: " << m_globalTime;
103 ss << " startPoint: (" << m_localPosition.x()
104 << "," << m_localPosition.y()
105 << "," << m_localPosition.z()
106 << ")";
107 ss << " endPoint: ("<< m_localPostStepPosition.x()
108 << "," << m_localPostStepPosition.y()
109 << "," << m_localPostStepPosition.z()
110 << ")";
111 ss << " EnergyDeposit: "<<m_energyDeposit<<" StepLength: "<<m_stepLength
112 <<" pdgId: "<<m_particleEncoding<<" kineticEnergy: "<<m_kineticEnergy;
113
114 return ss.str();
115}
116
118 { return m_partLink.barcode(); }
119
121{ return m_partLink.id(); }
static Double_t ss
Amg::Vector3D m_localPosition
Definition RPCSimHit.h:86
float m_kineticEnergy
Definition RPCSimHit.h:92
int particleEncoding() const
Definition RPCSimHit.h:61
double stepLength() const
Definition RPCSimHit.h:60
int truthID() const
Amg::Vector3D m_localPostStepPosition
Definition RPCSimHit.h:88
std::string print() const
Definition RPCSimHit.cxx:96
float m_energyDeposit
Definition RPCSimHit.h:89
int m_RPCid
Definition RPCSimHit.h:84
int truthBarcode() const
int m_particleEncoding
Definition RPCSimHit.h:91
float m_globalTime
Definition RPCSimHit.h:85
double kineticEnergy() const
Definition RPCSimHit.h:62
float m_stepLength
Definition RPCSimHit.h:90
HepMcParticleLink m_partLink
Definition RPCSimHit.h:87
double energyDeposit() const
Definition RPCSimHit.h:58
Eigen::Matrix< double, 3, 1 > Vector3D