Belle II Software  release-08-01-10
QcsmonitorSimHit.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #ifndef QCSMONITORSIMHIT_H
10 #define QCSMONITORSIMHIT_H
11 
12 #include <simulation/dataobjects/SimHitBase.h>
13 
14 // ROOT
15 #include <TVector3.h>
16 
17 namespace Belle2 {
31  class QcsmonitorSimHit : public SimHitBase {
32  public:
35  m_Position(0, 0, 0) {;}
38  int CellId,
39  int TrackId,
40  int Pdg,
41  float FlightTime,
42  float Edep,
43  TVector3 Momentum,
44  TVector3 Position
45  ): SimHitBase(), m_CellId(CellId), m_TrackId(TrackId), m_Pdg(Pdg), m_FlightTime(FlightTime), m_Edep(Edep), m_Momentum(Momentum),
46  m_Position(Position)
47  {
48  }
49 
50 
51 
52 
55  void setCellId(int CellId) { m_CellId = CellId; }
56 
59  void setTrackId(int TrackId) { m_TrackId = TrackId; }
60 
63  void setPDGCode(int Pdg) { m_Pdg = Pdg; }
64 
67  void setFlightTime(double FlightTime) { m_FlightTime = (float) FlightTime; }
68 
71  void setEnergyDep(double Edep) { m_Edep = (float) Edep; }
72 
75  void setMomentum(TVector3 Momentum) { m_Momentum = Momentum; }
76 
79  void setPosIn(TVector3 Position) { m_Position = Position; }
80 
83  void setPosition(TVector3 Position) { m_Position = Position; }
84 
85 
89  int getCellId() const { return m_CellId; }
90 
94  int getTrackId() const { return m_TrackId; }
95 
99  int getPDGCode() const { return m_Pdg; }
100 
104  double getFlightTime() const { return (double)m_FlightTime; }
105 
109  double getEnergyDep() const { return (double) m_Edep; }
110 
114  TVector3 getMomentum() const { return m_Momentum; }
115 
119  TVector3 getPosIn() const { return m_Position; }
120 
124  TVector3 getPosition() const { return m_Position; }
125 
126 
130  void shiftInTime(float delta) override { m_FlightTime += delta; }
131 
132 
133  private:
134  int m_CellId;
135  int m_TrackId;
136  int m_Pdg;
137  float m_FlightTime;
138  float m_Edep;
139  TVector3 m_Momentum;
140  TVector3 m_Position;
142  ClassDefOverride(QcsmonitorSimHit, 1)
143  };
144 
146 } // end namespace Belle2
147 
148 #endif
ClassQcsmonitorSimHit - Geant4 simulated hit for the Qcsmonitor crystal in beast.
TVector3 m_Position
Position.
int getPDGCode() const
Get Particle PDG (can be one of secondaries)
void setEnergyDep(double Edep)
Set Deposit energy.
QcsmonitorSimHit(int CellId, int TrackId, int Pdg, float FlightTime, float Edep, TVector3 Momentum, TVector3 Position)
Useful Constructor.
int getTrackId() const
Get Track ID.
int getCellId() const
Get Cell ID.
double getFlightTime() const
Get Flight time from IP.
void setPDGCode(int Pdg)
Set Particle PDG (can be one of secondaries)
QcsmonitorSimHit()
default constructor for ROOT
void setCellId(int CellId)
Set Cell ID.
TVector3 m_Momentum
Momentum.
double getEnergyDep() const
Get Deposit energy.
float m_FlightTime
Flight time from IP.
float m_Edep
Deposit energy.
TVector3 getMomentum() const
Get Momentum.
void setPosition(TVector3 Position)
Set Position.
void setTrackId(int TrackId)
Set Track ID.
TVector3 getPosition() const
Get Position.
void setPosIn(TVector3 Position)
Set Position.
void setFlightTime(double FlightTime)
Set Flight time from IP.
TVector3 getPosIn() const
Get Position.
void setMomentum(TVector3 Momentum)
Set Momentum.
void shiftInTime(float delta) override
Shift the SimHit in time (needed for beam background mixing)
int m_Pdg
Particle PDG (can be one of secondaries)
Class SimHitBase - A common base for subdetector SimHits.
Definition: SimHitBase.h:28
Abstract base class for different kinds of events.