Belle II Software  release-05-02-19
TPCSimHit.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  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #ifndef TPCSIMHIT_H
12 #define TPCSIMHIT_H
13 
14 #include <simulation/dataobjects/SimHitBase.h>
15 
16 // ROOT
17 #include <TVector3.h>
18 
19 namespace Belle2 {
33  class TPCSimHit : public SimHitBase {
34  public:
36  TPCSimHit(): 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), m_flag(0) {;}
39  TPCSimHit(
40  int CellId,
41  int TrackId,
42  int Pdg,
43  float FlightTime,
44  float Edep,
45  TVector3 Momentum,
46  TVector3 Position,
47  int flag
48  ): SimHitBase()
49  {
50  m_CellId = CellId;
51  m_TrackId = TrackId;
52  m_Pdg = Pdg;
53  m_FlightTime = FlightTime;
54  m_Edep = Edep;
55  m_Momentum = Momentum;
56  m_Position = Position;
57  m_flag = flag;
58 
59  }
60 
61 
62 
63 
66  void setCellId(int CellId) { m_CellId = CellId; }
67 
70  void setTrackId(int TrackId) { m_TrackId = TrackId; }
71 
74  void setPDGCode(int Pdg) { m_Pdg = Pdg; }
75 
78  void setFlightTime(double FlightTime) { m_FlightTime = (float) FlightTime; }
79 
82  void setEnergyDep(double Edep) { m_Edep = (float) Edep; }
83 
86  void setMomentum(TVector3 Momentum) { m_Momentum = Momentum; }
87 
90  void setPosIn(TVector3 Position) { m_Position = Position; }
91 
94  void setPosition(TVector3 Position) { m_Position = Position; }
95 
98  void setFlag(int flag) { m_flag = flag; }
99 
100 
104  int getCellId() const { return m_CellId; }
105 
109  int getTrackId() const { return m_TrackId; }
110 
114  int getPDGCode() const { return m_Pdg; }
115 
119  double getFlightTime() const { return (double)m_FlightTime; }
120 
124  double getEnergyDep() const { return (double) m_Edep; }
125 
129  TVector3 getMomentum() const { return m_Momentum; }
130 
134  TVector3 getPosIn() const { return m_Position; }
135 
139  TVector3 getPosition() const { return m_Position; }
140 
144  int getFlag() const { return m_flag; }
145 
146 
150  void shiftInTime(float delta) { m_FlightTime += delta; }
151 
152 
153  private:
154  int m_CellId;
155  int m_TrackId;
156  int m_Pdg;
157  float m_FlightTime;
158  float m_Edep;
159  TVector3 m_Momentum;
160  TVector3 m_Position;
161  int m_flag;
164  };
165 
167 } // end namespace Belle2
168 
169 #endif
Belle2::TPCSimHit::shiftInTime
void shiftInTime(float delta)
Shift the SimHit in time (needed for beam background mixing)
Definition: TPCSimHit.h:158
Belle2::TPCSimHit::setFlag
void setFlag(int flag)
Set flag.
Definition: TPCSimHit.h:106
Belle2::TPCSimHit::m_TrackId
int m_TrackId
Track ID.
Definition: TPCSimHit.h:163
Belle2::TPCSimHit::setPosIn
void setPosIn(TVector3 Position)
Set Position.
Definition: TPCSimHit.h:98
Belle2::TPCSimHit::setMomentum
void setMomentum(TVector3 Momentum)
Set Momentum.
Definition: TPCSimHit.h:94
Belle2::TPCSimHit::getTrackId
int getTrackId() const
Get Track ID.
Definition: TPCSimHit.h:117
Belle2::RelationsInterface::ClassDef
ClassDef(RelationsInterface, 0)
defines interface for accessing relations of objects in StoreArray.
Belle2::SimHitBase
Class SimHitBase - A common base for subdetector SimHits.
Definition: SimHitBase.h:38
Belle2::SimHitBase::SimHitBase
SimHitBase()
Constructor.
Definition: SimHitBase.h:43
Belle2::TPCSimHit::m_Momentum
TVector3 m_Momentum
Momentum.
Definition: TPCSimHit.h:167
Belle2::TPCSimHit::TPCSimHit
TPCSimHit()
default constructor for ROOT
Definition: TPCSimHit.h:44
Belle2::TPCSimHit::getMomentum
TVector3 getMomentum() const
Get Momentum.
Definition: TPCSimHit.h:137
Belle2::TPCSimHit::setTrackId
void setTrackId(int TrackId)
Set Track ID.
Definition: TPCSimHit.h:78
Belle2::TPCSimHit::getFlightTime
double getFlightTime() const
Get Flight time from IP.
Definition: TPCSimHit.h:127
Belle2::TPCSimHit::getCellId
int getCellId() const
Get Cell ID.
Definition: TPCSimHit.h:112
Belle2::TPCSimHit::m_Edep
float m_Edep
Deposit energy.
Definition: TPCSimHit.h:166
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TPCSimHit::setPosition
void setPosition(TVector3 Position)
Set Position.
Definition: TPCSimHit.h:102
Belle2::TPCSimHit::m_Pdg
int m_Pdg
Particle PDG (can be one of secondaries)
Definition: TPCSimHit.h:164
Belle2::TPCSimHit::getPosIn
TVector3 getPosIn() const
Get Position.
Definition: TPCSimHit.h:142
Belle2::TPCSimHit::setFlightTime
void setFlightTime(double FlightTime)
Set Flight time from IP.
Definition: TPCSimHit.h:86
Belle2::TPCSimHit::setPDGCode
void setPDGCode(int Pdg)
Set Particle PDG (can be one of secondaries)
Definition: TPCSimHit.h:82
Belle2::TPCSimHit::getFlag
int getFlag() const
Get flag.
Definition: TPCSimHit.h:152
Belle2::TPCSimHit::setEnergyDep
void setEnergyDep(double Edep)
Set Deposit energy.
Definition: TPCSimHit.h:90
Belle2::TPCSimHit::m_Position
TVector3 m_Position
Position.
Definition: TPCSimHit.h:168
Belle2::TPCSimHit::getPDGCode
int getPDGCode() const
Get Particle PDG (can be one of secondaries)
Definition: TPCSimHit.h:122
Belle2::TPCSimHit
ClassTPCSimHit - Geant4 simulated hit for the TPC crystal in beast.
Definition: TPCSimHit.h:41
Belle2::TPCSimHit::getEnergyDep
double getEnergyDep() const
Get Deposit energy.
Definition: TPCSimHit.h:132
Belle2::TPCSimHit::m_flag
int m_flag
flag
Definition: TPCSimHit.h:169
Belle2::TPCSimHit::m_FlightTime
float m_FlightTime
Flight time from IP.
Definition: TPCSimHit.h:165
Belle2::TPCSimHit::m_CellId
int m_CellId
Cell ID.
Definition: TPCSimHit.h:162
Belle2::TPCSimHit::getPosition
TVector3 getPosition() const
Get Position.
Definition: TPCSimHit.h:147
Belle2::TPCSimHit::setCellId
void setCellId(int CellId)
Set Cell ID.
Definition: TPCSimHit.h:74