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