Belle II Software development
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 <Math/Vector3D.h>
16
17namespace Belle2 {
30 class He3MCParticle : public SimHitBase {
31 public:
32
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 ROOT::Math::XYZVector getProductionVertex() const { return ROOT::Math::XYZVector(m_vtx[0], m_vtx[1], m_vtx[2]); }
61 ROOT::Math::XYZVector getMomentum() const { return ROOT::Math::XYZVector(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
const float * getProductionVertexArray() const
Return production array as float array.
Definition: He3MCParticle.h:63
float m_vtx[3]
Vertex.
Definition: He3MCParticle.h:75
float getMass() const
Return mass.
Definition: He3MCParticle.h:55
ROOT::Math::XYZVector getProductionVertex() const
Return production vertex.
Definition: He3MCParticle.h:59
int getPDG() const
Return PDG.
Definition: He3MCParticle.h:53
float m_mom[3]
Momentum.
Definition: He3MCParticle.h:77
He3MCParticle(int PDG, float Mass, float Energy, const float *vtx, const float *mom)
Standard constructor.
Definition: He3MCParticle.h:44
ROOT::Math::XYZVector getMomentum() const
Return momentum.
Definition: He3MCParticle.h:61
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.