Belle II Software  release-08-01-10
He3tubeSimHit.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 He3tubeSIMHIT_H
10 #define He3tubeSIMHIT_H
11 
12 #include <simulation/dataobjects/SimHitBase.h>
13 
14 // ROOT
15 #include <TVector3.h>
16 
17 namespace Belle2 {
30  class He3tubeSimHit : public SimHitBase {
31  public:
32  //typedef std::vector<unsigned int>::iterator iterator;
33  //typedef std::vector<unsigned int>::const_iterator const_iterator;
34 
37  m_tkMomDir(), m_neuProc(false) {}
38 
39 
52  He3tubeSimHit(float energyDep, float energyNiel, int tkPDG, float tkKEnergy, float detNb, float GlTime, const float* tkPos,
53  const float* tkMom, const float* tkMomDir, bool neuProc):
54  SimHitBase(), m_energyDep(energyDep), m_energyNiel(energyNiel), m_tkPDG(tkPDG), m_tkKEnergy(tkKEnergy), m_detNb(detNb),
55  m_GlTime(GlTime), m_neuProc(neuProc)
56  {
57  std::copy(tkPos, tkPos + 3, m_tkPos);
58  std::copy(tkMom, tkMom + 3, m_tkMom);
59  std::copy(tkMomDir, tkMomDir + 3, m_tkMomDir);
60  }
61 
63  float getEnergyDep() const { return m_energyDep; }
65  float getEnergyNiel() const { return m_energyNiel; }
67  int gettkPDG() const { return m_tkPDG; }
69  float gettkKEnergy() const { return m_tkKEnergy; }
71  float getdetNb() const { return m_detNb; }
73  float getGlTime() const { return m_GlTime; }
75  TVector3 gettkPos() const { return TVector3(m_tkPos[0], m_tkPos[1], m_tkPos[2]); }
77  TVector3 gettkMom() const { return TVector3(m_tkMom[0], m_tkMom[1], m_tkMom[2]); }
79  TVector3 gettkMomDir() const { return TVector3(m_tkMomDir[0], m_tkMomDir[1], m_tkMomDir[2]); }
81  const float* gettkPosArray() const { return m_tkPos; }
83  const float* getrkDirArray() const { return m_tkMom; }
85  const float* getrkMomDirArray() const { return m_tkMomDir; }
87  bool getNeuProcess() {return m_neuProc;}
88 
89 
90  private:
92  float m_energyDep;
94  float m_energyNiel;
96  int m_tkPDG;
98  float m_tkKEnergy;
100  float m_detNb;
102  float m_GlTime;
104  float m_tkPos[3];
106  float m_tkMom[3];
108  float m_tkMomDir[3];
110  bool m_neuProc;
111 
112 
114  };
115 
117 } // end namespace Belle2
118 
119 #endif
ClassHe3tubeSimHit - Geant4 simulated hit for the He3tube detector.
Definition: He3tubeSimHit.h:30
float m_energyDep
Deposited energy in electrons.
Definition: He3tubeSimHit.h:92
int m_tkPDG
PDG number of the track.
Definition: He3tubeSimHit.h:96
float m_tkMomDir[3]
track momentum direction
float m_energyNiel
Non-ionization energy in electrons.
Definition: He3tubeSimHit.h:94
float m_detNb
detector number
const float * getrkMomDirArray() const
Return track momentum direction as float array.
Definition: He3tubeSimHit.h:85
He3tubeSimHit()
default constructor for ROOT
Definition: He3tubeSimHit.h:36
float m_tkMom[3]
track momentum
float getEnergyDep() const
Return the energy deposition in electrons.
Definition: He3tubeSimHit.h:63
TVector3 gettkPos() const
Return the track position.
Definition: He3tubeSimHit.h:75
float m_GlTime
global time
float m_tkKEnergy
kinetic energy of the track
Definition: He3tubeSimHit.h:98
bool m_neuProc
true if creator process was a neutron type
float gettkKEnergy() const
Return the kinetic energy of the track.
Definition: He3tubeSimHit.h:69
TVector3 gettkMom() const
Return the track momentum.
Definition: He3tubeSimHit.h:77
float getdetNb() const
Return the He3tube number.
Definition: He3tubeSimHit.h:71
float getEnergyNiel() const
Return the non-ionization energy in electrons.
Definition: He3tubeSimHit.h:65
bool getNeuProcess()
Return whether or not the creator process was a neutron type.
Definition: He3tubeSimHit.h:87
const float * getrkDirArray() const
Return track momentum as float array.
Definition: He3tubeSimHit.h:83
TVector3 gettkMomDir() const
Return the track momentum direction.
Definition: He3tubeSimHit.h:79
int gettkPDG() const
Return the PDG number of the track.
Definition: He3tubeSimHit.h:67
He3tubeSimHit(float energyDep, float energyNiel, int tkPDG, float tkKEnergy, float detNb, float GlTime, const float *tkPos, const float *tkMom, const float *tkMomDir, bool neuProc)
Standard constructor.
Definition: He3tubeSimHit.h:52
float getGlTime() const
Return the global time.
Definition: He3tubeSimHit.h:73
float m_tkPos[3]
track position
const float * gettkPosArray() const
Return track position as float array.
Definition: He3tubeSimHit.h:81
ClassDef(RelationsInterface, 0)
defines interface for accessing relations of objects in StoreArray.
Class SimHitBase - A common base for subdetector SimHits.
Definition: SimHitBase.h:28
Abstract base class for different kinds of events.