Belle II Software  release-05-02-19
HE3G4TrackInfo.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Igal Jaegle *
7  * *
8  * *
9  * This software is provided "as is" without any warranty. *
10  **************************************************************************/
11 
12 #ifndef HE3TRACKINFO_H
13 #define HE3TRACKINFO_H
14 
15 #include <simulation/dataobjects/SimHitBase.h>
16 
17 // ROOT
18 #include <TVector3.h>
19 
20 namespace Belle2 {
33  class HE3G4TrackInfo : public SimHitBase {
34  public:
35 
37  HE3G4TrackInfo(): m_trackID(0) , m_PDG(0), m_Mass(0), m_Energy(0), m_vtx(), m_mom() {}
38 
39 
43  HE3G4TrackInfo(int trackID, int PDG, float Mass, float Energy, const float* vtx, const float* mom):
44  SimHitBase(), m_trackID(trackID), m_PDG(PDG), m_Mass(Mass), m_Energy(Energy)
45  {
46  std::copy(vtx, vtx + 3, m_vtx);
47  std::copy(mom, mom + 3, m_mom);
48  }
49 
51  int getTrackID() const { return m_trackID; }
53  int getPDG() const { return m_PDG; }
55  float getMass() const { return m_Mass; }
57  float getEnergy() const { return m_Energy; }
59  TVector3 getProductionVertex() const { return TVector3(m_vtx[0], m_vtx[1], m_vtx[2]); }
61  TVector3 getMomentum() const { return TVector3(m_mom[0], m_mom[1], m_mom[2]); }
63  const float* getProductionVertexArray() const { return m_vtx; }
65  const float* getMomentumArray() const { return m_mom; }
66 
67  private:
69  int m_trackID;
71  int m_PDG;
73  float m_Mass;
75  float m_Energy;
77  float m_vtx[3];
79  float m_mom[3];
80 
82  };
83 
85 } // end namespace Belle2
86 
87 #endif
Belle2::HE3G4TrackInfo::getMomentum
TVector3 getMomentum() const
Return momentum.
Definition: HE3G4TrackInfo.h:70
Belle2::HE3G4TrackInfo::m_vtx
float m_vtx[3]
Vertex.
Definition: HE3G4TrackInfo.h:86
Belle2::RelationsInterface::ClassDef
ClassDef(RelationsInterface, 0)
defines interface for accessing relations of objects in StoreArray.
Belle2::SimHitBase::SimHitBase
SimHitBase()
Constructor.
Definition: SimHitBase.h:43
Belle2::HE3G4TrackInfo::getPDG
int getPDG() const
Return PDG.
Definition: HE3G4TrackInfo.h:62
Belle2::HE3G4TrackInfo::getTrackID
int getTrackID() const
Return track ID.
Definition: HE3G4TrackInfo.h:60
Belle2::HE3G4TrackInfo::getMomentumArray
const float * getMomentumArray() const
Return momentum as float array.
Definition: HE3G4TrackInfo.h:74
Belle2::HE3G4TrackInfo::m_Energy
float m_Energy
Energy.
Definition: HE3G4TrackInfo.h:84
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::HE3G4TrackInfo::m_trackID
int m_trackID
track ID
Definition: HE3G4TrackInfo.h:78
Belle2::HE3G4TrackInfo::getProductionVertex
TVector3 getProductionVertex() const
Return production vertex.
Definition: HE3G4TrackInfo.h:68
Belle2::HE3G4TrackInfo::getEnergy
float getEnergy() const
Return energy.
Definition: HE3G4TrackInfo.h:66
Belle2::HE3G4TrackInfo::HE3G4TrackInfo
HE3G4TrackInfo()
default constructor for ROOT
Definition: HE3G4TrackInfo.h:46
Belle2::HE3G4TrackInfo::getProductionVertexArray
const float * getProductionVertexArray() const
Return production array as float array.
Definition: HE3G4TrackInfo.h:72
Belle2::HE3G4TrackInfo::m_mom
float m_mom[3]
Momentum.
Definition: HE3G4TrackInfo.h:88
Belle2::HE3G4TrackInfo::m_Mass
float m_Mass
Mass.
Definition: HE3G4TrackInfo.h:82
Belle2::HE3G4TrackInfo::getMass
float getMass() const
Return mass.
Definition: HE3G4TrackInfo.h:64
Belle2::HE3G4TrackInfo::m_PDG
int m_PDG
PDG.
Definition: HE3G4TrackInfo.h:80
Belle2::HE3G4TrackInfo
Class HE3G4TrackInfo - Geant4 simulated hit for the Microtpc detector.
Definition: HE3G4TrackInfo.h:42