Belle II Software  release-05-02-19
ECLSimHit.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Torben Ferber (ferber@physics.ubc.ca) *
7  * Poyuan Chen *
8  * *
9  * This software is provided "as is" without any warranty. *
10  **************************************************************************/
11 
12 #ifndef ECLSIMHIT_H
13 #define ECLSIMHIT_H
14 
15 #include <G4ThreeVector.hh>
16 #include <simulation/dataobjects/SimHitBase.h>
17 
18 namespace Belle2 {
33  class ECLSimHit : public SimHitBase {
34  public:
37  m_HadronEdep{0} {;}
38 
40  ECLSimHit(
41  int CellId,
42  int TrackId,
43  int Pdg,
44  double FlightTime,
45  double Edep,
46  G4ThreeVector Momentum,
47  G4ThreeVector Position,
48  double Hadronedep
49  ): SimHitBase(), m_CellId(CellId), m_TrackId(TrackId), m_Pdg(Pdg), m_FlightTime(FlightTime), m_Edep(Edep), m_HadronEdep(Hadronedep)
50  {
51  m_Position[0] = Position.x(); m_Position[1] = Position.y(), m_Position[2] = Position.z();
52  m_Momentum[0] = Momentum.x(); m_Momentum[1] = Momentum.y(), m_Momentum[2] = Momentum.z();
53  }
54 
57  void setCellId(int CellId) { m_CellId = CellId; }
58 
61  void setTrackId(int TrackId) { m_TrackId = TrackId; }
62 
65  void setPDGCode(int Pdg) { m_Pdg = Pdg; }
66 
69  void setFlightTime(double FlightTime) { m_FlightTime = static_cast<double>(FlightTime); }
70 
73  void setEnergyDep(double Edep) { m_Edep = static_cast<double>(Edep); }
74 
77  void setMomentum(const G4ThreeVector& Momentum) { m_Momentum[0] = Momentum.x(); m_Momentum[1] = Momentum.y(), m_Momentum[2] = Momentum.z(); }
78 
81  //KM void setPosIn(G4ThreeVector Position) { m_Position = Position; }
82 
85  void setPosition(const G4ThreeVector& Position) { m_Position[0] = Position.x(); m_Position[1] = Position.y(), m_Position[2] = Position.z(); }
86 
90  int getCellId() const { return m_CellId; }
91 
95  int getTrackId() const { return m_TrackId; }
96 
100  int getPDGCode() const { return m_Pdg; }
101 
105  double getFlightTime() const { return m_FlightTime; }
106 
110  double getEnergyDep() const { return m_Edep; }
111 
115  double getHadronEnergyDep() const { return m_HadronEdep; }
116 
120  G4ThreeVector getMomentum() const { return G4ThreeVector(m_Momentum[0], m_Momentum[1], m_Momentum[2]); }
121 
125  G4ThreeVector getPosIn() const { return getPosition(); }
126 
130  G4ThreeVector getPosition() const { return G4ThreeVector(m_Position[0], m_Position[1], m_Position[2]); }
131 
135  void shiftInTime(float delta) override { m_FlightTime += delta; }
136 
137 
138  private:
139  int m_CellId;
140  int m_TrackId;
141  int m_Pdg;
142  double m_FlightTime;
143  double m_Edep;
144  double m_Momentum[3];
145  double m_Position[3];
146  double m_HadronEdep;
151  };
153 } // end namespace Belle2
154 
155 #endif
Belle2::ECLSimHit::ECLSimHit
ECLSimHit()
default constructor for ROOT
Definition: ECLSimHit.h:45
Belle2::ECLSimHit::ClassDefOverride
ClassDefOverride(ECLSimHit, 6)
the class title
Belle2::ECLSimHit::setFlightTime
void setFlightTime(double FlightTime)
Set Flight time from IP.
Definition: ECLSimHit.h:78
Belle2::ECLSimHit::m_TrackId
int m_TrackId
Track ID.
Definition: ECLSimHit.h:149
Belle2::ECLSimHit::getPDGCode
int getPDGCode() const
Get Particle PDG (can be one of secondaries)
Definition: ECLSimHit.h:109
Belle2::ECLSimHit
ClassECLSimHit - Geant4 simulated hit for the ECL.
Definition: ECLSimHit.h:42
Belle2::ECLSimHit::setPDGCode
void setPDGCode(int Pdg)
Set Particle PDG (can be one of secondaries)
Definition: ECLSimHit.h:74
Belle2::ECLSimHit::getPosition
G4ThreeVector getPosition() const
Get Position.
Definition: ECLSimHit.h:139
Belle2::SimHitBase
Class SimHitBase - A common base for subdetector SimHits.
Definition: SimHitBase.h:38
Belle2::SimHitBase::SimHitBase
SimHitBase()
Constructor.
Definition: SimHitBase.h:43
Belle2::ECLSimHit::setEnergyDep
void setEnergyDep(double Edep)
Set Deposit energy.
Definition: ECLSimHit.h:82
Belle2::ECLSimHit::m_FlightTime
double m_FlightTime
Flight time from IP.
Definition: ECLSimHit.h:151
Belle2::ECLSimHit::getCellId
int getCellId() const
Get Cell ID.
Definition: ECLSimHit.h:99
Belle2::ECLSimHit::setMomentum
void setMomentum(const G4ThreeVector &Momentum)
Set Momentum.
Definition: ECLSimHit.h:86
Belle2::ECLSimHit::getMomentum
G4ThreeVector getMomentum() const
Get Momentum.
Definition: ECLSimHit.h:129
Belle2::ECLSimHit::shiftInTime
void shiftInTime(float delta) override
Shift the SimHit in time (needed for beam background mixing)
Definition: ECLSimHit.h:144
Belle2::ECLSimHit::getPosIn
G4ThreeVector getPosIn() const
Get Position.
Definition: ECLSimHit.h:134
Belle2::ECLSimHit::m_Pdg
int m_Pdg
Particle PDG (can be one of secondaries)
Definition: ECLSimHit.h:150
Belle2::ECLSimHit::m_Position
double m_Position[3]
Position.
Definition: ECLSimHit.h:154
Belle2::ECLSimHit::m_CellId
int m_CellId
Cell ID.
Definition: ECLSimHit.h:148
Belle2::ECLSimHit::setPosition
void setPosition(const G4ThreeVector &Position)
Set Position.
Definition: ECLSimHit.h:94
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ECLSimHit::getHadronEnergyDep
double getHadronEnergyDep() const
Get Hadron Deposit energy.
Definition: ECLSimHit.h:124
Belle2::ECLSimHit::getFlightTime
double getFlightTime() const
Get Flight time from IP.
Definition: ECLSimHit.h:114
Belle2::ECLSimHit::setCellId
void setCellId(int CellId)
Set Cell ID.
Definition: ECLSimHit.h:66
Belle2::ECLSimHit::getEnergyDep
double getEnergyDep() const
Get Deposit energy.
Definition: ECLSimHit.h:119
Belle2::ECLSimHit::m_HadronEdep
double m_HadronEdep
Hadron Energy Deposit.
Definition: ECLSimHit.h:155
Belle2::ECLSimHit::m_Edep
double m_Edep
Deposit energy.
Definition: ECLSimHit.h:152
Belle2::ECLSimHit::getTrackId
int getTrackId() const
Get Track ID.
Definition: ECLSimHit.h:104
Belle2::ECLSimHit::m_Momentum
double m_Momentum[3]
Momentum.
Definition: ECLSimHit.h:153
Belle2::ECLSimHit::setTrackId
void setTrackId(int TrackId)
Set Track ID.
Definition: ECLSimHit.h:70