HerdSoftware  0.4.0
MCPhoton.h
Go to the documentation of this file.
1 class MCPhoton {
2 
3 public:
4  MCPhoton(int sdID, double nP, double t, double wl, double pX, double pZ, double dxdy, double dzdy, double theta,
5  double phi, bool isRef)
6  : m_senseDetID(sdID), m_nPhotons(nP), m_time(t), m_wavelength(wl), m_posX(pX), m_posZ(pZ), m_dXdY(dxdy),
7  m_dZdY(dzdy), m_theta(theta), m_phi(phi), m_isReflected(isRef) {}
8  ~MCPhoton() = default;
9 
10 public:
11  // bool lowerByMatID(){ return true;}
12  [[nodiscard]] bool lowerByMatID(const MCPhoton &t1, const MCPhoton &t2) const {
13  return t1.m_senseDetID < t2.m_senseDetID;
14  }
15 
16  [[nodiscard]] int senseDetID() const { return m_senseDetID; }
17  [[nodiscard]] double nPhotons() const { return m_nPhotons; }
18  [[nodiscard]] double time() const { return m_time; }
19  [[nodiscard]] double wavelength() const { return m_wavelength; }
20  [[nodiscard]] double posX() const { return m_posX; }
21  [[nodiscard]] double posZ() const { return m_posZ; }
22  [[nodiscard]] double dXdY() const { return m_dXdY; }
23  [[nodiscard]] double dZdY() const { return m_dZdY; }
24  [[nodiscard]] double theta() const { return m_theta; }
25  [[nodiscard]] double phi() const { return m_phi; }
26  [[nodiscard]] bool isReflected() const { return m_isReflected; }
27 
28 private:
30  double m_nPhotons;
31  // const MatHit *mcHit;
32  double m_time;
33  double m_wavelength;
34  double m_posX;
35  double m_posZ;
36  double m_dXdY;
37  double m_dZdY;
38  double m_theta;
39  double m_phi;
41 };
MCPhoton::m_nPhotons
double m_nPhotons
Definition: MCPhoton.h:30
MCPhoton::m_posZ
double m_posZ
Definition: MCPhoton.h:35
MCPhoton::m_phi
double m_phi
Definition: MCPhoton.h:39
MCPhoton::m_senseDetID
int m_senseDetID
Definition: MCPhoton.h:29
MCPhoton::dZdY
double dZdY() const
Definition: MCPhoton.h:23
MCPhoton::m_time
double m_time
Definition: MCPhoton.h:32
MCPhoton::m_isReflected
bool m_isReflected
Definition: MCPhoton.h:40
MCPhoton::posX
double posX() const
Definition: MCPhoton.h:20
MCPhoton::m_posX
double m_posX
Definition: MCPhoton.h:34
MCPhoton::m_dXdY
double m_dXdY
Definition: MCPhoton.h:36
MCPhoton::phi
double phi() const
Definition: MCPhoton.h:25
MCPhoton::senseDetID
int senseDetID() const
Definition: MCPhoton.h:16
MCPhoton::m_theta
double m_theta
Definition: MCPhoton.h:38
MCPhoton::nPhotons
double nPhotons() const
Definition: MCPhoton.h:17
MCPhoton::theta
double theta() const
Definition: MCPhoton.h:24
MCPhoton::m_wavelength
double m_wavelength
Definition: MCPhoton.h:33
MCPhoton::wavelength
double wavelength() const
Definition: MCPhoton.h:19
MCPhoton::time
double time() const
Definition: MCPhoton.h:18
MCPhoton::dXdY
double dXdY() const
Definition: MCPhoton.h:22
MCPhoton
Definition: MCPhoton.h:1
MCPhoton::posZ
double posZ() const
Definition: MCPhoton.h:21
MCPhoton::m_dZdY
double m_dZdY
Definition: MCPhoton.h:37
MCPhoton::lowerByMatID
bool lowerByMatID(const MCPhoton &t1, const MCPhoton &t2) const
Definition: MCPhoton.h:12
MCPhoton::MCPhoton
MCPhoton(int sdID, double nP, double t, double wl, double pX, double pZ, double dxdy, double dzdy, double theta, double phi, bool isRef)
Definition: MCPhoton.h:4
MCPhoton::~MCPhoton
~MCPhoton()=default
MCPhoton::isReflected
bool isReflected() const
Definition: MCPhoton.h:26