ATLAS Offline Software
Loading...
Searching...
No Matches
GenericMuonSimHit.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6#include <sstream>
7/*******************************************************************************/
9 m_GenericId(0xffff),
10 m_globalTime(0.),
12 m_particleEncoding(0),// PDG_ID
13 m_kineticEnergy(-9999.),// energy of the particle
14 m_depositEnergy(-9999.),//Geant4 deposited energy
15 m_StepLength(-9999.),//total lenght of particle
17{
18}
19/*******************************************************************************/
20//default destructor required by Pool
22/*******************************************************************************/
23GenericMuonSimHit::GenericMuonSimHit(HitID id, double time, double pretime,
24 const Amg::Vector3D& position,
25 const Amg::Vector3D& lposition,
26 const Amg::Vector3D& preposition,
27 const Amg::Vector3D& lpreposition,
28 const int particleEncoding,
29 const double kineticEnergy,
30 const Amg::Vector3D& direction,
31 const double depositEnergy,
32 const double StepLength,
33 const int truthBarcode)
34 : m_GenericId(id), m_globalTime(time), m_globalpreTime(pretime)
35 , m_globalPosition(position)
36 , m_localPosition(lposition)
37 , m_globalPrePosition(preposition)
38 , m_localPrePosition(lpreposition)
41 , m_globalDirection(direction)
44 , m_partLink(truthBarcode, 0, HepMcParticleLink::IS_POSITION, HepMcParticleLink::IS_BARCODE) // FIXME barcode-based
45{
46}
47
48GenericMuonSimHit::GenericMuonSimHit(HitID id, double time, double pretime,
49 const Amg::Vector3D& position,
50 const Amg::Vector3D& lposition,
51 const Amg::Vector3D& preposition,
52 const Amg::Vector3D& lpreposition,
53 const int particleEncoding,
54 const double kineticEnergy,
55 const Amg::Vector3D& direction,
56 const double depositEnergy,
57 const double StepLength,
58 const HepMcParticleLink& hmpl)
59 : m_GenericId(id), m_globalTime(time), m_globalpreTime(pretime)
60 , m_globalPosition(position)
61 , m_localPosition(lposition)
62 , m_globalPrePosition(preposition)
63 , m_localPrePosition(lpreposition)
66 , m_globalDirection(direction)
69 , m_partLink(hmpl)
70{
71}
72/*******************************************************************************/
73std::string GenericMuonSimHit::print() const {
74
75 std::stringstream ss;
76
77 ss << "-------------------------------------------------------------" << std::endl;
78 ss << "GenericMuonSimHit:"<<std::endl;
79 ss << " identifier: " << m_GenericId;
80 ss << " t (pre) : " << m_globalpreTime;
81 ss << " t: " << m_globalTime;
82 ss << " x (pre) : (" << m_globalPrePosition.x()
83 << "," << m_globalPrePosition.y()
84 << "," << m_globalPrePosition.z()
85 << ")";
86 ss << " x : (" << m_globalPosition.x()
87 << "," << m_globalPosition.y()
88 << "," << m_globalPosition.z()
89 << ")"<<std::endl;
90 ss << " pdgId: "<<m_particleEncoding<<" kineticEnergy: "<<m_kineticEnergy<<std::endl;
91
92 return ss.str();
93}
94/*******************************************************************************/
96{ return m_partLink.barcode(); }
97/*******************************************************************************/
99{ return m_partLink.id(); }
100/*******************************************************************************/
int HitID
static Double_t ss
int particleEncoding() const
double kineticEnergy() const
std::string print() const
Amg::Vector3D m_globalDirection
Amg::Vector3D m_localPosition
double depositEnergy() const
HepMcParticleLink m_partLink
double StepLength() const
Amg::Vector3D m_localPrePosition
Amg::Vector3D m_globalPosition
Amg::Vector3D m_globalPrePosition
Eigen::Matrix< double, 3, 1 > Vector3D