Belle II Software  release-05-02-19
CsiSimHit.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010-2014 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Martin Ritter, Igal Jaegle *
7  * Alexandre Beaulieu *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #ifndef CsiSIMHIT_H
12 #define CsiSIMHIT_H
13 
14 #include <simulation/dataobjects/SimHitBase.h>
15 
16 // ROOT
17 #include <TVector3.h>
18 
19 namespace Belle2 {
33  class CsiSimHit : public SimHitBase {
34  public:
36  CsiSimHit(): SimHitBase(), m_CellId(0), m_TrackId(0), m_Pdg(0), m_FlightTime(0), m_Edep(0), m_Momentum(0, 0, 0), m_Position(0, 0,
37  0) {;}
39  CsiSimHit(
40  int CellId,
41  int TrackId,
42  int Pdg,
43  float FlightTime,
44  float Edep,
45  TVector3 Momentum,
46  TVector3 Position
48  {
49  m_CellId = CellId;
50  m_TrackId = TrackId;
51  m_Pdg = Pdg;
52  m_FlightTime = FlightTime;
53  m_Edep = Edep;
54  m_Momentum = Momentum;
55  m_Position = Position;
56 
57  }
58 
59 
62  void setCellId(int CellId) { m_CellId = CellId; }
63 
66  void setTrackId(int TrackId) { m_TrackId = TrackId; }
67 
70  void setPDGCode(int Pdg) { m_Pdg = Pdg; }
71 
74  void setFlightTime(double FlightTime) { m_FlightTime = (float) FlightTime; }
75 
78  void setEnergyDep(double Edep) { m_Edep = (float) Edep; }
79 
82  void setMomentum(TVector3 Momentum) { m_Momentum = Momentum; }
83 
86  void setPosIn(TVector3 Position) { m_Position = Position; }
87 
90  void setPosition(TVector3 Position) { m_Position = Position; }
91 
92 
96  int getCellId() const { return m_CellId; }
97 
101  int getTrackId() const { return m_TrackId; }
102 
106  int getPDGCode() const { return m_Pdg; }
107 
111  double getFlightTime() const { return (double)m_FlightTime; }
112 
116  double getEnergyDep() const { return (double) m_Edep; }
117 
121  TVector3 getMomentum() const { return m_Momentum; }
122 
126  TVector3 getPosIn() const { return m_Position; }
127 
131  TVector3 getPosition() const { return m_Position; }
132 
133 
137  void shiftInTime(float delta) override { m_FlightTime += delta; }
138 
139 
140  private:
141  int m_CellId;
142  int m_TrackId;
143  int m_Pdg;
144  float m_FlightTime;
145  float m_Edep;
146  TVector3 m_Momentum;
147  TVector3 m_Position;
149  ClassDefOverride(CsiSimHit, 1)
150  };
151 
153 } // end namespace Belle2
154 
155 #endif
Belle2::CsiSimHit::setEnergyDep
void setEnergyDep(double Edep)
Set Deposit energy.
Definition: CsiSimHit.h:86
Belle2::CsiSimHit::setPosIn
void setPosIn(TVector3 Position)
Set Position.
Definition: CsiSimHit.h:94
Belle2::CsiSimHit::getEnergyDep
double getEnergyDep() const
Get Deposit energy.
Definition: CsiSimHit.h:124
Belle2::CsiSimHit::setPosition
void setPosition(TVector3 Position)
Set Position.
Definition: CsiSimHit.h:98
Belle2::CsiSimHit::CsiSimHit
CsiSimHit()
default constructor for ROOT
Definition: CsiSimHit.h:44
Belle2::CsiSimHit::m_TrackId
int m_TrackId
Track ID.
Definition: CsiSimHit.h:150
Belle2::CsiSimHit::setCellId
void setCellId(int CellId)
Set Cell ID.
Definition: CsiSimHit.h:70
Belle2::CsiSimHit::shiftInTime
void shiftInTime(float delta) override
Shift the SimHit in time (needed for beam background mixing)
Definition: CsiSimHit.h:145
Belle2::CsiSimHit
ClassCsiSimHit - Geant4 simulated hits in CsI crystals in BEAST.
Definition: CsiSimHit.h:41
Belle2::CsiSimHit::m_Pdg
int m_Pdg
Particle PDG (can be one of secondaries)
Definition: CsiSimHit.h:151
Belle2::SimHitBase
Class SimHitBase - A common base for subdetector SimHits.
Definition: SimHitBase.h:38
Belle2::SimHitBase::SimHitBase
SimHitBase()
Constructor.
Definition: SimHitBase.h:43
Belle2::CsiSimHit::getTrackId
int getTrackId() const
Get Track ID.
Definition: CsiSimHit.h:109
Belle2::CsiSimHit::m_FlightTime
float m_FlightTime
Flight time from IP.
Definition: CsiSimHit.h:152
Belle2::CsiSimHit::setTrackId
void setTrackId(int TrackId)
Set Track ID.
Definition: CsiSimHit.h:74
Belle2::CsiSimHit::m_Momentum
TVector3 m_Momentum
Momentum.
Definition: CsiSimHit.h:154
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CsiSimHit::getPosIn
TVector3 getPosIn() const
Get Position.
Definition: CsiSimHit.h:134
Belle2::CsiSimHit::getCellId
int getCellId() const
Get Cell ID.
Definition: CsiSimHit.h:104
Belle2::CsiSimHit::m_CellId
int m_CellId
Cell ID.
Definition: CsiSimHit.h:149
Belle2::CsiSimHit::setFlightTime
void setFlightTime(double FlightTime)
Set Flight time from IP.
Definition: CsiSimHit.h:82
Belle2::CsiSimHit::getMomentum
TVector3 getMomentum() const
Get Momentum.
Definition: CsiSimHit.h:129
Belle2::CsiSimHit::getFlightTime
double getFlightTime() const
Get Flight time from IP.
Definition: CsiSimHit.h:119
Belle2::CsiSimHit::m_Position
TVector3 m_Position
Position.
Definition: CsiSimHit.h:155
Belle2::CsiSimHit::setPDGCode
void setPDGCode(int Pdg)
Set Particle PDG (can be one of secondaries)
Definition: CsiSimHit.h:78
Belle2::CsiSimHit::getPosition
TVector3 getPosition() const
Get Position.
Definition: CsiSimHit.h:139
Belle2::CsiSimHit::setMomentum
void setMomentum(TVector3 Momentum)
Set Momentum.
Definition: CsiSimHit.h:90
Belle2::CsiSimHit::m_Edep
float m_Edep
Deposit energy.
Definition: CsiSimHit.h:153
Belle2::CsiSimHit::getPDGCode
int getPDGCode() const
Get Particle PDG (can be one of secondaries)
Definition: CsiSimHit.h:114