Belle II Software development
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 <Math/Vector3D.h>
16
17namespace 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 ROOT::Math::XYZVector gettkPos() const { return ROOT::Math::XYZVector(m_tkPos[0], m_tkPos[1], m_tkPos[2]); }
79 ROOT::Math::XYZVector gettkMom() const { return ROOT::Math::XYZVector(m_tkMom[0], m_tkMom[1], m_tkMom[2]); }
81 ROOT::Math::XYZVector gettkMomDir() const { return ROOT::Math::XYZVector(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;
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.
const float * getrkMomDirArray() const
Return track momentum direction as float array.
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
float m_tkMom[3]
track momentum
float getEnergyDep() const
Return the energy deposition in electrons.
float m_GlTime
global time
int gettkID() const
Return track ID.
MicrotpcSimHit()
default constructor for ROOT
float m_tkKEnergy
kinetic energy of the track
const float * getrkDirArray() const
Return track momentum as float array.
float gettkKEnergy() const
Return the kinetic energy of the track.
ROOT::Math::XYZVector gettkMom() const
Return the track momentum.
ROOT::Math::XYZVector gettkPos() const
Return the track position.
const float * gettkPosArray() const
Return track position as float array.
float getdetNb() const
Return the TPC number.
float getEnergyNiel() const
Return the non-ionization energy in electrons.
ROOT::Math::XYZVector 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.
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.