Belle II Software  release-08-01-10
PlumeSimHit.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 PLUMESIMHIT_H
10 #define PLUMESIMHIT_H
11 
12 #include <simulation/dataobjects/SimHitBase.h>
13 
14 namespace Belle2 {
27  class PlumeSimHit : public SimHitBase {
28  public:
29  //typedef std::vector<unsigned int>::iterator iterator;
30  //typedef std::vector<unsigned int>::const_iterator const_iterator;
31 
38 
39 
43  PlumeSimHit(int a_pdgID, int a_sensorID, int a_trackID, float a_trackVx_x, float a_trackVx_y,
44  float a_trackVx_z, float a_energyDep, float a_nielDep,
45  float a_posIN_x, float a_posIN_y, float a_posIN_z, float a_posIN_u, float a_posIN_v, float a_posIN_w,
46  float a_posOUT_u, float a_posOUT_v, float a_posOUT_w, float a_momentum_x, float a_momentum_y, float a_momentum_z,
47  float a_thetaAngle, float a_phiAngle, float a_globalTime):
48  SimHitBase(), m_pdgID(a_pdgID), m_sensorID(a_sensorID), m_trackID(a_trackID), m_trackVx_x(a_trackVx_x),
49  m_trackVx_y(a_trackVx_y), m_trackVx_z(a_trackVx_z), m_energyDepMeV(a_energyDep),
50  m_nielDepMeV(a_nielDep), m_posINmm_x(a_posIN_x), m_posINmm_y(a_posIN_y), m_posINmm_z(a_posIN_z),
51  m_posINmm_u(a_posIN_u), m_posINmm_v(a_posIN_v), m_posINmm_w(a_posIN_w),
52  m_posOUTmm_u(a_posOUT_u), m_posOUTmm_v(a_posOUT_v), m_posOUTmm_w(a_posOUT_w),
53  m_momGeV_x(a_momentum_x), m_momGeV_y(a_momentum_y), m_momGeV_z(a_momentum_z),
54  m_thetaLoc(a_thetaAngle), m_phiLoc(a_phiAngle), m_globalTime(a_globalTime)
55  {
56  }
58  int getpdgID() const { return m_pdgID; }
60  int getsensorID() const { return m_sensorID; }
62  int gettrackID() const { return m_trackID; }
64  float gettrackVx_x() const { return m_trackVx_x; }
66  float gettrackVx_y() const { return m_trackVx_y; }
68  float gettrackVx_z() const { return m_trackVx_z; }
70  float getenergyDep() const { return m_energyDepMeV; }
72  float getnielDep() const { return m_nielDepMeV; }
74  float getposIN_x() const { return m_posINmm_x; }
76  float getposIN_y() const { return m_posINmm_y; }
78  float getposIN_z() const { return m_posINmm_z; }
80  float getposIN_u() const { return m_posINmm_u; }
82  float getposIN_v() const { return m_posINmm_v; }
84  float getposIN_w() const { return m_posINmm_w; }
86  float getposOUT_u() const { return m_posOUTmm_u; }
88  float getposOUT_v() const { return m_posOUTmm_v; }
90  float getposOUT_w() const { return m_posOUTmm_w; }
92  float getmomentum_x() const { return m_momGeV_x; }
94  float getmomentum_y() const { return m_momGeV_y; }
96  float getmomentum_z() const { return m_momGeV_z; }
98  float getthetaAngle() const { return m_thetaLoc; }
100  float getphiAngle() const { return m_phiLoc; }
102  float getglobalTime() const { return m_globalTime; }
104  int geteventnumber() const {return m_evtNum;}
106  void seteventnumber(const int evtn) {m_evtNum = (unsigned)evtn;}
107 
108 
109  private:
110 
112  int m_pdgID;
118  float m_trackVx_x;
120  float m_trackVx_y;
122  float m_trackVx_z;
128  float m_posINmm_x;
130  float m_posINmm_y;
132  float m_posINmm_z;
134  float m_posINmm_u;
136  float m_posINmm_v;
138  float m_posINmm_w;
146  float m_momGeV_x;
148  float m_momGeV_y;
150  float m_momGeV_z;
152  float m_thetaLoc;
154  float m_phiLoc;
158  unsigned m_evtNum = 0;
159 
161  };
162 
164 } // end namespace Belle2
165 
166 #endif
Class PlumeSimHit - Geant4 simulated hit for the PLUME detector.
Definition: PlumeSimHit.h:27
float getnielDep() const
non ionizing deposited energy
Definition: PlumeSimHit.h:72
int getpdgID() const
particle PDG id
Definition: PlumeSimHit.h:58
float m_trackVx_x
track production vertex x coordinates in G4 ref
Definition: PlumeSimHit.h:118
float m_globalTime
global time
Definition: PlumeSimHit.h:156
float m_thetaLoc
local (sensor ref) theta angle, out of sensor plane, in degree
Definition: PlumeSimHit.h:152
float m_momGeV_x
incoming track momentum, x coordinates in G4 ref, in GeV
Definition: PlumeSimHit.h:146
float gettrackVx_x() const
track production vertex x coordinates in G4 ref
Definition: PlumeSimHit.h:64
float getphiAngle() const
local (sensor ref) phi angle, in sensor plane, in degree
Definition: PlumeSimHit.h:100
float m_posOUTmm_v
outcoming track position v in sensor ref, in mm
Definition: PlumeSimHit.h:142
float m_momGeV_z
incoming track momentum, z coordinates in G4 ref, in GeV
Definition: PlumeSimHit.h:150
float m_phiLoc
local (sensor ref) phi angle, in sensor plane, in degree
Definition: PlumeSimHit.h:154
int m_trackID
track ID
Definition: PlumeSimHit.h:116
float m_momGeV_y
incoming track momentum, y coordinates in G4 ref, in GeV
Definition: PlumeSimHit.h:148
int m_pdgID
particle PDG id
Definition: PlumeSimHit.h:112
float getposIN_x() const
incoming track position x in G4 ref, in mm
Definition: PlumeSimHit.h:74
void seteventnumber(const int evtn)
set an event number
Definition: PlumeSimHit.h:106
float getmomentum_z() const
incoming track momentum, z coordinates in G4 ref, in GeV
Definition: PlumeSimHit.h:96
float getposOUT_v() const
outcoming track position v in sensor ref, in mm
Definition: PlumeSimHit.h:88
float m_trackVx_y
track production vertex y coordinates in G4 ref
Definition: PlumeSimHit.h:120
float gettrackVx_z() const
track production vertex z coordinates in G4 ref
Definition: PlumeSimHit.h:68
int gettrackID() const
track ID
Definition: PlumeSimHit.h:62
float getposIN_v() const
incoming track position v in sensor ref, in mm
Definition: PlumeSimHit.h:82
float m_posINmm_z
incoming track position z in G4 ref, in mm
Definition: PlumeSimHit.h:132
int getsensorID() const
sensor ID
Definition: PlumeSimHit.h:60
float getmomentum_x() const
incoming track momentum, x coordinates in G4 ref, in GeV
Definition: PlumeSimHit.h:92
float m_nielDepMeV
non ionizing deposited energy
Definition: PlumeSimHit.h:126
float getposIN_y() const
incoming track position y in G4 ref, in mm
Definition: PlumeSimHit.h:76
float m_energyDepMeV
deposited energy in MeV
Definition: PlumeSimHit.h:124
float getposOUT_u() const
outcoming track position u in sensor ref, in mm
Definition: PlumeSimHit.h:86
float m_posINmm_w
incoming track position w in sensor ref, in mm
Definition: PlumeSimHit.h:138
PlumeSimHit()
default constructor for ROOT
Definition: PlumeSimHit.h:33
float getglobalTime() const
global time
Definition: PlumeSimHit.h:102
float gettrackVx_y() const
track production vertex y coordinates in G4 ref
Definition: PlumeSimHit.h:66
float getenergyDep() const
deposited energy in MeV
Definition: PlumeSimHit.h:70
PlumeSimHit(int a_pdgID, int a_sensorID, int a_trackID, float a_trackVx_x, float a_trackVx_y, float a_trackVx_z, float a_energyDep, float a_nielDep, float a_posIN_x, float a_posIN_y, float a_posIN_z, float a_posIN_u, float a_posIN_v, float a_posIN_w, float a_posOUT_u, float a_posOUT_v, float a_posOUT_w, float a_momentum_x, float a_momentum_y, float a_momentum_z, float a_thetaAngle, float a_phiAngle, float a_globalTime)
Standard constructor See parameters definition below.
Definition: PlumeSimHit.h:43
unsigned m_evtNum
event number
Definition: PlumeSimHit.h:158
float getposOUT_w() const
outcoming track position w in sensor ref, in mm
Definition: PlumeSimHit.h:90
int m_sensorID
sensor ID
Definition: PlumeSimHit.h:114
float m_posINmm_u
incoming track position u in sensor ref, in mm
Definition: PlumeSimHit.h:134
float m_posOUTmm_w
outcoming track position w in sensor ref, in mm
Definition: PlumeSimHit.h:144
float getmomentum_y() const
incoming track momentum, y coordinates in G4 ref, in GeV
Definition: PlumeSimHit.h:94
float m_posINmm_x
incoming track position x in G4 ref, in mm
Definition: PlumeSimHit.h:128
float m_trackVx_z
track production vertex z coordinates in G4 ref
Definition: PlumeSimHit.h:122
float m_posINmm_y
incoming track position y in G4 ref, in mm
Definition: PlumeSimHit.h:130
float m_posOUTmm_u
outcoming track position u in sensor ref, in mm
Definition: PlumeSimHit.h:140
float getposIN_z() const
incoming track position z in G4 ref, in mm
Definition: PlumeSimHit.h:78
float getposIN_u() const
incoming track position u in sensor ref, in mm
Definition: PlumeSimHit.h:80
float getthetaAngle() const
local (sensor ref) theta angle, out of sensor plane, in degree
Definition: PlumeSimHit.h:98
float m_posINmm_v
incoming track position v in sensor ref, in mm
Definition: PlumeSimHit.h:136
float getposIN_w() const
incoming track position w in sensor ref, in mm
Definition: PlumeSimHit.h:84
int geteventnumber() const
event number
Definition: PlumeSimHit.h:104
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.