Belle II Software  release-08-01-10
He3MCParticle.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 HE3MCPARTICLE_H
10 #define HE3MCPARTICLE_H
11 
12 #include <simulation/dataobjects/SimHitBase.h>
13 
14 // ROOT
15 #include <TVector3.h>
16 
17 namespace Belle2 {
30  class He3MCParticle : public SimHitBase {
31  public:
32 
34  He3MCParticle(): m_PDG(0), m_Mass(0), m_Energy(0), m_vtx(), m_mom() {}
35 
36 
44  He3MCParticle(int PDG, float Mass, float Energy, const float* vtx, const float* mom):
45  SimHitBase(), m_PDG(PDG), m_Mass(Mass), m_Energy(Energy)
46  {
47  std::copy(vtx, vtx + 3, m_vtx);
48  std::copy(mom, mom + 3, m_mom);
49  }
50 
51 
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_PDG;
71  float m_Mass;
73  float m_Energy;
75  float m_vtx[3];
77  float m_mom[3];
78 
80  };
81 
83 } // end namespace Belle2
84 
85 #endif
Class He3MCParticle - Geant4 simulated hit for the Microtpc detector.
Definition: He3MCParticle.h:30
float getEnergy() const
Return energy.
Definition: He3MCParticle.h:57
float m_vtx[3]
Vertex.
Definition: He3MCParticle.h:75
float getMass() const
Return mass.
Definition: He3MCParticle.h:55
TVector3 getMomentum() const
Return momentum.
Definition: He3MCParticle.h:61
int getPDG() const
Return PDG.
Definition: He3MCParticle.h:53
float m_mom[3]
Momentum.
Definition: He3MCParticle.h:77
const float * getProductionVertexArray() const
Return production array as float array.
Definition: He3MCParticle.h:63
He3MCParticle(int PDG, float Mass, float Energy, const float *vtx, const float *mom)
Standard constructor.
Definition: He3MCParticle.h:44
TVector3 getProductionVertex() const
Return production vertex.
Definition: He3MCParticle.h:59
float m_Energy
Energy.
Definition: He3MCParticle.h:73
He3MCParticle()
default constructor for ROOT
Definition: He3MCParticle.h:34
const float * getMomentumArray() const
Return momentum as float array.
Definition: He3MCParticle.h:65
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.