Belle II Software  release-05-01-25
TOPSimPhoton.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Marko Staric *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <framework/datastore/RelationsObject.h>
14 #include <TVector3.h>
15 
16 namespace Belle2 {
28  class TOPSimPhoton : public RelationsObject {
29  public:
30 
34  TOPSimPhoton()
35  {}
36 
50  int moduleID,
51  TVector3 emissionPoint,
52  TVector3 emissionMom,
53  double emissionTime,
54  TVector3 detectionPoint,
55  TVector3 detectionMom,
56  double detectionTime,
57  double length,
58  double energy_eV
59  )
60  {
61  m_moduleID = moduleID;
62  m_xe = (float) emissionPoint.x();
63  m_ye = (float) emissionPoint.y();
64  m_ze = (float) emissionPoint.z();
65  m_pxe = (float) emissionMom.x();
66  m_pye = (float) emissionMom.y();
67  m_pze = (float) emissionMom.z();
68  m_te = (float) emissionTime;
69  m_xd = (float) detectionPoint.x();
70  m_yd = (float) detectionPoint.y();
71  m_zd = (float) detectionPoint.z();
72  m_pxd = (float) detectionMom.x();
73  m_pyd = (float) detectionMom.y();
74  m_pzd = (float) detectionMom.z();
75  m_td = (float) detectionTime;
76  m_length = (float) length;
77  m_energy = (float) energy_eV;
78  }
79 
84  int getModuleID() const { return m_moduleID; }
85 
90  TVector3 getEmissionPoint() const { TVector3 vec(m_xe, m_ye, m_ze); return vec; }
91 
96  TVector3 getEmissionDir() const
97  { TVector3 vec(m_pxe, m_pye, m_pze); return vec.Unit(); }
98 
103  double getEmissionTime() const { return m_te; }
104 
109  TVector3 getDetectionPoint() const { TVector3 vec(m_xd, m_yd, m_zd); return vec; }
110 
115  TVector3 getDetectionDir() const
116  { TVector3 vec(m_pxd, m_pyd, m_pzd); return vec.Unit(); }
117 
122  double getDetectionTime() const { return m_td; }
123 
128  double getLength() const { return m_length; }
129 
134  double getEnergy() const { return m_energy; }
135 
136  private:
137  int m_moduleID = 0;
138  float m_xe = 0;
139  float m_ye = 0;
140  float m_ze = 0;
141  float m_pxe = 0;
142  float m_pye = 0;
143  float m_pze = 0;
144  float m_te = 0;
145  float m_xd = 0;
146  float m_yd = 0;
147  float m_zd = 0;
148  float m_pxd = 0;
149  float m_pyd = 0;
150  float m_pzd = 0;
151  float m_td = 0;
152  float m_length = 0;
153  float m_energy = 0;
157  };
158 
159 
161 } // end namespace Belle2
162 
163 
Belle2::TOPSimPhoton::ClassDef
ClassDef(TOPSimPhoton, 2)
ClassDef.
Belle2::TOPSimPhoton::getDetectionTime
double getDetectionTime() const
Returns detection time.
Definition: TOPSimPhoton.h:130
Belle2::TOPSimPhoton::m_td
float m_td
detection time
Definition: TOPSimPhoton.h:159
Belle2::TOPSimPhoton::m_moduleID
int m_moduleID
TOP module ID.
Definition: TOPSimPhoton.h:145
Belle2::TOPSimPhoton::getEmissionTime
double getEmissionTime() const
Returns emission time.
Definition: TOPSimPhoton.h:111
Belle2::TOPSimPhoton::TOPSimPhoton
TOPSimPhoton()
Default constructor.
Definition: TOPSimPhoton.h:42
Belle2::TOPSimPhoton::m_te
float m_te
emission time
Definition: TOPSimPhoton.h:152
Belle2::TOPSimPhoton::m_energy
float m_energy
photon energy in [eV]
Definition: TOPSimPhoton.h:161
Belle2::TOPSimPhoton::m_xe
float m_xe
emission point, x component
Definition: TOPSimPhoton.h:146
Belle2::TOPSimPhoton::m_pxe
float m_pxe
emission momentum (direction), x component
Definition: TOPSimPhoton.h:149
Belle2::TOPSimPhoton::getLength
double getLength() const
Returns propagation length.
Definition: TOPSimPhoton.h:136
Belle2::TOPSimPhoton::getDetectionPoint
TVector3 getDetectionPoint() const
Returns detection point.
Definition: TOPSimPhoton.h:117
Belle2::TOPSimPhoton::m_pxd
float m_pxd
detection momentum (direction), x component
Definition: TOPSimPhoton.h:156
Belle2::TOPSimPhoton::getEmissionDir
TVector3 getEmissionDir() const
Returns emission momentum direction (unit vector)
Definition: TOPSimPhoton.h:104
Belle2::TOPSimPhoton::m_pye
float m_pye
emission momentum (direction), y component
Definition: TOPSimPhoton.h:150
Belle2::TOPSimPhoton::getEnergy
double getEnergy() const
Returns photon energy.
Definition: TOPSimPhoton.h:142
Belle2::TOPSimPhoton::m_pzd
float m_pzd
detection momentum (direction), z component
Definition: TOPSimPhoton.h:158
Belle2::TOPSimPhoton::getDetectionDir
TVector3 getDetectionDir() const
Returns detection momentum direction (unit vector)
Definition: TOPSimPhoton.h:123
Belle2::TOPSimPhoton::m_ze
float m_ze
emission point, z component
Definition: TOPSimPhoton.h:148
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TOPSimPhoton::m_xd
float m_xd
detection point, x component
Definition: TOPSimPhoton.h:153
Belle2::TOPSimPhoton::getEmissionPoint
TVector3 getEmissionPoint() const
Returns emission point.
Definition: TOPSimPhoton.h:98
Belle2::TOPSimPhoton::m_pze
float m_pze
emission momentum (direction), z component
Definition: TOPSimPhoton.h:151
Belle2::TOPSimPhoton::m_pyd
float m_pyd
detection momentum (direction), y component
Definition: TOPSimPhoton.h:157
Belle2::TOPSimPhoton::m_ye
float m_ye
emission point, y component
Definition: TOPSimPhoton.h:147
Belle2::TOPSimPhoton::getModuleID
int getModuleID() const
Returns module ID.
Definition: TOPSimPhoton.h:92
Belle2::RelationsObject
RelationsInterface< TObject > RelationsObject
Provides interface for getting/adding relations to objects in StoreArrays.
Definition: RelationsObject.h:443
Belle2::TOPSimPhoton
Class to store Cherenkov photons at emission and at detection relation to TOPSimHit filled in top/sim...
Definition: TOPSimPhoton.h:36
Belle2::TOPSimPhoton::m_yd
float m_yd
detection point, y component
Definition: TOPSimPhoton.h:154
Belle2::TOPSimPhoton::m_zd
float m_zd
detection point, z component
Definition: TOPSimPhoton.h:155
Belle2::TOPSimPhoton::m_length
float m_length
propagation length
Definition: TOPSimPhoton.h:160