ATLAS Offline Software
Loading...
Searching...
No Matches
MMSimHit.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_MMId(0xffff),
10 m_globalTime(0.),
11 m_particleEncoding(0),// PDG_ID
12 m_kineticEnergy(-9999.),// energy of the particle
13 m_depositEnergy(-9999.),//Geant4 deposited energy
15{
16}
17/*******************************************************************************/
18MMSimHit::MMSimHit(HitID id, double time,
19 const Amg::Vector3D& position,
20 const int particleEncoding,
21 const double kineticEnergy,
22 const Amg::Vector3D& direction,
23 const double depositEnergy,
24 const int truthBarcode)
25 : m_MMId(id), m_globalTime(time)
26 , m_globalPosition(position)
29 , m_globalDirection(direction)
31 , m_partLink(truthBarcode, 0, HepMcParticleLink::IS_POSITION, HepMcParticleLink::IS_BARCODE) // FIXME barcode-based
32{
33}
34
35MMSimHit::MMSimHit(HitID id, double time,
36 const Amg::Vector3D& position,
37 const int particleEncoding,
38 const double kineticEnergy,
39 const Amg::Vector3D& direction,
40 const double depositEnergy,
41 const HepMcParticleLink& hmpl)
42 : m_MMId(id), m_globalTime(time)
43 , m_globalPosition(position)
46 , m_globalDirection(direction)
48 , m_partLink(hmpl)
49{
50}
51/*******************************************************************************/
52std::string MMSimHit::print() const {
53
54 std::stringstream ss;
55
56 ss << "-------------------------------------------------------------" << std::endl;
57 ss << "MMSimHit:"<<std::endl;
58 ss << " identifier: " << m_MMId;
59 ss << " t: " << m_globalTime;
60 ss << " x : (" << m_globalPosition.x()
61 << "," << m_globalPosition.y()
62 << "," << m_globalPosition.z()
63 << ")"<<std::endl;
64 ss << " pdgId: "<<m_particleEncoding<<" kineticEnergy: "<<m_kineticEnergy<<std::endl;
65
66 return ss.str();
67}
68/*******************************************************************************/
70{ return m_partLink.barcode(); }
71/*******************************************************************************/
73{ return m_partLink.id(); }
74/*******************************************************************************/
int HitID
static Double_t ss
double m_kineticEnergy
Definition MMSimHit.h:77
Amg::Vector3D m_globalDirection
Definition MMSimHit.h:79
HepMcParticleLink m_partLink
Definition MMSimHit.h:82
HitID m_MMId
Definition MMSimHit.h:71
Amg::Vector3D m_globalPosition
Definition MMSimHit.h:74
double depositEnergy() const
Definition MMSimHit.h:42
double m_globalTime
Definition MMSimHit.h:72
int truthBarcode() const
Definition MMSimHit.cxx:69
double kineticEnergy() const
Definition MMSimHit.h:40
int m_particleEncoding
Definition MMSimHit.h:76
int particleEncoding() const
Definition MMSimHit.h:39
std::string print() const
Definition MMSimHit.cxx:52
int truthID() const
Definition MMSimHit.cxx:72
double m_depositEnergy
Definition MMSimHit.h:80
Eigen::Matrix< double, 3, 1 > Vector3D