Belle II Software  release-05-01-25
He3MCParticle.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  * Sam de Jong *
8  * *
9  * This software is provided "as is" without any warranty. *
10  **************************************************************************/
11 
12 #ifndef HE3MCPARTICLE_H
13 #define HE3MCPARTICLE_H
14 
15 #include <simulation/dataobjects/SimHitBase.h>
16 
17 // ROOT
18 #include <TVector3.h>
19 
20 namespace Belle2 {
33  class He3MCParticle : public SimHitBase {
34  public:
35 
37  He3MCParticle(): m_PDG(0), m_Mass(0), m_Energy(0), m_vtx(), m_mom() {}
38 
39 
43  He3MCParticle(int PDG, float Mass, float Energy, const float* vtx, const float* mom):
44  SimHitBase(), 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 
50 
52  int getPDG() const { return m_PDG; }
54  float getMass() const { return m_Mass; }
56  float getEnergy() const { return m_Energy; }
58  TVector3 getProductionVertex() const { return TVector3(m_vtx[0], m_vtx[1], m_vtx[2]); }
60  TVector3 getMomentum() const { return TVector3(m_mom[0], m_mom[1], m_mom[2]); }
62  const float* getProductionVertexArray() const { return m_vtx; }
64  const float* getMomentumArray() const { return m_mom; }
65 
66  private:
68  int m_PDG;
70  float m_Mass;
72  float m_Energy;
74  float m_vtx[3];
76  float m_mom[3];
77 
79  };
80 
82 } // end namespace Belle2
83 
84 #endif
Belle2::He3MCParticle::getProductionVertex
TVector3 getProductionVertex() const
Return production vertex.
Definition: He3MCParticle.h:67
Belle2::He3MCParticle::m_Mass
float m_Mass
Mass.
Definition: He3MCParticle.h:79
Belle2::He3MCParticle::m_mom
float m_mom[3]
Momentum.
Definition: He3MCParticle.h:85
Belle2::He3MCParticle::getEnergy
float getEnergy() const
Return energy.
Definition: He3MCParticle.h:65
Belle2::He3MCParticle::getProductionVertexArray
const float * getProductionVertexArray() const
Return production array as float array.
Definition: He3MCParticle.h:71
Belle2::He3MCParticle
Class He3MCParticle - Geant4 simulated hit for the Microtpc detector.
Definition: He3MCParticle.h:42
Belle2::RelationsInterface::ClassDef
ClassDef(RelationsInterface, 0)
defines interface for accessing relations of objects in StoreArray.
Belle2::He3MCParticle::getMass
float getMass() const
Return mass.
Definition: He3MCParticle.h:63
Belle2::SimHitBase::SimHitBase
SimHitBase()
Constructor.
Definition: SimHitBase.h:43
Belle2::He3MCParticle::He3MCParticle
He3MCParticle()
default constructor for ROOT
Definition: He3MCParticle.h:46
Belle2::He3MCParticle::getMomentumArray
const float * getMomentumArray() const
Return momentum as float array.
Definition: He3MCParticle.h:73
Belle2::He3MCParticle::m_vtx
float m_vtx[3]
Vertex.
Definition: He3MCParticle.h:83
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::He3MCParticle::getPDG
int getPDG() const
Return PDG.
Definition: He3MCParticle.h:61
Belle2::He3MCParticle::getMomentum
TVector3 getMomentum() const
Return momentum.
Definition: He3MCParticle.h:69
Belle2::He3MCParticle::m_PDG
int m_PDG
PDG.
Definition: He3MCParticle.h:77
Belle2::He3MCParticle::m_Energy
float m_Energy
Energy.
Definition: He3MCParticle.h:81