Belle II Software  release-08-01-10
MicrotpcSimHit.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 MicrotpcSIMHIT_H
10 #define MicrotpcSIMHIT_H
11 
12 #include <simulation/dataobjects/SimHitBase.h>
13 
14 // ROOT
15 #include <TVector3.h>
16 
17 namespace Belle2 {
30  class MicrotpcSimHit : 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_tkMom(), m_tkMomDir() {}
38 
39 
52  MicrotpcSimHit(int tkID, float energyDep, float energyNiel, int tkPDG, float tkKEnergy, float detNb, float GlTime,
53  const float* tkPos, const float* tkMom, const float* tkMomDir):
54  SimHitBase(), m_tkID(tkID), m_energyDep(energyDep), m_energyNiel(energyNiel), m_tkPDG(tkPDG), m_tkKEnergy(tkKEnergy),
55  m_detNb(detNb), m_GlTime(GlTime)
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  int gettkID() const { return m_tkID; }
65  float getEnergyDep() const { return m_energyDep; }
67  float getEnergyNiel() const { return m_energyNiel; }
69  int gettkPDG() const { return m_tkPDG; }
71  float gettkKEnergy() const { return m_tkKEnergy; }
73  float getdetNb() const { return m_detNb; }
75  float getGlTime() const { return m_GlTime; }
77  TVector3 gettkPos() const { return TVector3(m_tkPos[0], m_tkPos[1], m_tkPos[2]); }
79  TVector3 gettkMom() const { return TVector3(m_tkMom[0], m_tkMom[1], m_tkMom[2]); }
81  TVector3 gettkMomDir() const { return TVector3(m_tkMomDir[0], m_tkMomDir[1], m_tkMomDir[2]); }
83  const float* gettkPosArray() const { return m_tkPos; }
85  const float* getrkDirArray() const { return m_tkMom; }
87  const float* getrkMomDirArray() const { return m_tkMomDir; }
88 
89 
90  private:
92  int m_tkID;
94  float m_energyDep;
96  float m_energyNiel;
98  int m_tkPDG;
100  float m_tkKEnergy;
102  float m_detNb;
104  float m_GlTime;
106  float m_tkPos[3];
108  float m_tkMom[3];
110  float m_tkMomDir[3];
111 
112 
114  };
115 
117 } // end namespace Belle2
118 
119 #endif
ClassMicrotpcSimHit - Geant4 simulated hit for the Microtpc detector.
float m_energyDep
Deposited energy in electrons.
int m_tkPDG
PDG number of the track.
float m_tkMomDir[3]
track momentum direction
float m_energyNiel
Non-ionization energy in electrons.
float m_detNb
detector number
const float * getrkMomDirArray() const
Return track momentum direction as float array.
float m_tkMom[3]
track momentum
float getEnergyDep() const
Return the energy deposition in electrons.
TVector3 gettkPos() const
Return the track position.
float m_GlTime
global time
int gettkID() const
Return track ID.
MicrotpcSimHit()
default constructor for ROOT
float m_tkKEnergy
kinetic energy of the track
float gettkKEnergy() const
Return the kinetic energy of the track.
TVector3 gettkMom() const
Return the track momentum.
float getdetNb() const
Return the TPC number.
float getEnergyNiel() const
Return the non-ionization energy in electrons.
const float * getrkDirArray() const
Return track momentum as float array.
TVector3 gettkMomDir() const
Return the track momentum direction.
int gettkPDG() const
Return the PDG number of the track.
float getGlTime() const
Return the global time.
float m_tkPos[3]
track position
MicrotpcSimHit(int tkID, float energyDep, float energyNiel, int tkPDG, float tkKEnergy, float detNb, float GlTime, const float *tkPos, const float *tkMom, const float *tkMomDir)
Standard constructor.
const float * gettkPosArray() const
Return track position as float array.
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.