QwGeant4
QweakSimUserGEM_WirePlaneEvent.hh
Go to the documentation of this file.
1 //=============================================================================
2 //
3 // ---------------------------
4 // | Doxygen File Information |
5 // ---------------------------
6 /**
7 
8  \file QweakSimUserGEM_WirePlaneEvent.hh
9  $Revision: 1.3 $
10  $Date: 2006/05/05 21:38:33 $
11  \author Klaus Hans Grimm
12 
13 */
14 //=============================================================================
15 //
16 //=============================================================================
17 //
18 // ---------------------------
19 // | Doxygen Class Information |
20 // ---------------------------
21 /**
22  \class QweakSimUserGEM_WirePlaneEvent
23 
24  \ingroup root
25 
26  \brief ROOT Subtree structure for GEM WirePlaneEvent
27 
28  */
29 
30 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
31 #ifndef QweakSimUserGEM_WirePlaneEvent_h
32 #define QweakSimUserGEM_WirePlaneEvent_h
33 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
34 
35 // system includes
36 #include <vector>
37 
38 // root includes
39 #include "TObject.h"
40 
41 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
42 class QweakSimUserGEM_WirePlaneEvent : public TObject
43 {
44 
45 private:
46 
47  std::vector <Int_t> TrackID; ///< ID of the track from which this hit was generated
48  std::vector <Float_t> GlobalTimeOfHit; ///< Global time when this hit was generated
49 
50  Int_t NbOfHits; ///< Number of hits in this plane
51  Int_t PlaneHasBeenHit; ///< Has this plane been hit? 0 = no, 5 = yes
52 
53  /// \name Position of the hit in local coordinates
54  /// The local coordinates are defined in the \ref local_coordinate_system.
55  //@{
56  std::vector <Float_t> PlaneLocalPositionX;
57  std::vector <Float_t> PlaneLocalPositionY;
58  std::vector <Float_t> PlaneLocalPositionZ;
59  //@}
60 
61  std::vector <Float_t> PlaneGlobalPositionX;
62  std::vector <Float_t> PlaneGlobalPositionY;
63  std::vector <Float_t> PlaneGlobalPositionZ;
64 
65  std::vector <Float_t> PlaneLocalMomentumX;
66  std::vector <Float_t> PlaneLocalMomentumY;
67  std::vector <Float_t> PlaneLocalMomentumZ;
68 
69  std::vector <Float_t> PlaneGlobalMomentumX;
70  std::vector <Float_t> PlaneGlobalMomentumY;
71  std::vector <Float_t> PlaneGlobalMomentumZ;
72 
73  /// \name Position in global coordinates of original vertex of the track from which this hit was generated
74  /// The global coordinates are defined in the \ref global_coordinate_system.
75  //@{
76  std::vector <Float_t> OriginVertexPositionX;
77  std::vector <Float_t> OriginVertexPositionY;
78  std::vector <Float_t> OriginVertexPositionZ;
79  //@}
80 
81  /// \name Direction in global coordinates of original vertex of the track from which this hit was generated
82  /// The global coordinates are defined in the \ref global_coordinate_system.
83  //@{
84  std::vector <Float_t> OriginVertexMomentumDirectionX;
85  std::vector <Float_t> OriginVertexMomentumDirectionY;
86  std::vector <Float_t> OriginVertexMomentumDirectionZ;
87  std::vector <Float_t> OriginVertexThetaAngle;
88  std::vector <Float_t> OriginVertexPhiAngle;
89  //@}
90 
91  std::vector <Float_t> OriginVertexKineticEnergy;
92  std::vector <Float_t> OriginVertexTotalEnergy;
93 
94  std::vector <Float_t> GlobalPhiAngle;
95  std::vector <Float_t> GlobalThetaAngle;
96 
97  std::vector <Float_t> TotalEnergy;
98  std::vector <Float_t> KineticEnergy;
99 
100 
101 public:
102 
103  // Constructor
105  // Destructor
107 
108  void Initialize();
109  void Clear(const Option_t* = 0);
110 
111  void StoreNbOfHits(Int_t noh) { NbOfHits = noh; }
112  Int_t GetNbOfHits() const {return NbOfHits;}
113 
114  void StoreTrackID(Int_t tid) { TrackID.push_back(tid); }
115  std::vector <Int_t> GetTrackID() const {return TrackID;}
116 
117  void StoreGlobalTimeOfHit(Float_t gtime) { GlobalTimeOfHit.push_back(gtime); }
118  std::vector <Float_t> GetGloablTimeOfHit() const {return GlobalTimeOfHit;}
119 
120  //-----------------
121  // Setter/Getter for X,U,V wire planes
122 
123  void StorePlaneHasBeenHit(Int_t nx) { PlaneHasBeenHit = nx; }
124  Int_t GetPlaneHasBeenHit() const {return PlaneHasBeenHit;}
125 
126  //-----------------
127  void StorePlaneLocalPositionX(Float_t lx) { PlaneLocalPositionX.push_back(lx); }
128  std::vector <Float_t> GetPlaneLocalPositionX() const {return PlaneLocalPositionX;}
129 
130  void StorePlaneLocalPositionY(Float_t ly) { PlaneLocalPositionY.push_back(ly); }
131  std::vector <Float_t> GetPlaneLocalPositionY() const {return PlaneLocalPositionY;}
132 
133  void StorePlaneLocalPositionZ(Float_t lz) { PlaneLocalPositionZ.push_back(lz); }
134  std::vector <Float_t> GetPlaneLocalPositionZ() const {return PlaneLocalPositionZ;}
135  //---
136  void StorePlaneGlobalPositionX(Float_t gx) { PlaneGlobalPositionX.push_back(gx); }
137  std::vector <Float_t> GetPlaneGlobalPositionX() const {return PlaneGlobalPositionX;}
138 
139  void StorePlaneGlobalPositionY(Float_t gy) { PlaneGlobalPositionY.push_back(gy); }
140  std::vector <Float_t> GetPlaneGlobalPositionY() const {return PlaneGlobalPositionY;}
141 
142  void StorePlaneGlobalPositionZ(Float_t gz) { PlaneGlobalPositionZ.push_back(gz); }
143  std::vector <Float_t> GetPlaneGlobalPositionZ() const {return PlaneGlobalPositionZ;}
144 
145  //-----------------
146 
147  void StorePlaneLocalMomentumX(Float_t lpx) { PlaneLocalMomentumX.push_back(lpx); }
148  std::vector <Float_t> GetPlaneLocalMomentumX() const {return PlaneLocalMomentumX;}
149 
150  void StorePlaneLocalMomentumY(Float_t lpy) { PlaneLocalMomentumY.push_back(lpy); }
151  std::vector <Float_t> GetPlaneLocalMomentumY() const {return PlaneLocalMomentumY;}
152 
153  void StorePlaneLocalMomentumZ(Float_t lpz) { PlaneLocalMomentumZ.push_back(lpz); }
154  std::vector <Float_t> GetPlaneLocalMomentumZ() const {return PlaneLocalMomentumZ;}
155  //---
156  void StorePlaneGlobalMomentumX(Float_t gpx) { PlaneGlobalMomentumX.push_back(gpx); }
157  std::vector <Float_t> GetPlaneGlobalMomentumX() const {return PlaneGlobalMomentumX;}
158 
159  void StorePlaneGlobalMomentumY(Float_t gpy) { PlaneGlobalMomentumY.push_back(gpy); }
160  std::vector <Float_t> GetPlaneGlobalMomentumY() const {return PlaneGlobalMomentumY;}
161 
162  void StorePlaneGlobalMomentumZ(Float_t gpz) { PlaneGlobalMomentumZ.push_back(gpz); }
163  std::vector <Float_t> GetPlaneGlobalMomentumZ() const {return PlaneGlobalMomentumZ;}
164 
165  //-----------------
166  void StoreOriginVertexPositionX(Float_t vx) { OriginVertexPositionX.push_back(vx); }
167  std::vector <Float_t> GetOriginVertexPositionX() const {return OriginVertexPositionX;}
168 
169  void StoreOriginVertexPositionY(Float_t vy) { OriginVertexPositionY.push_back(vy); }
170  std::vector <Float_t> GetOriginVertexPositionY() const {return OriginVertexPositionY;}
171 
172  void StoreOriginVertexPositionZ(Float_t vz) { OriginVertexPositionZ.push_back(vz); }
173  std::vector <Float_t> GetOriginVertexPositionZ() const {return OriginVertexPositionZ;}
174  //-----------------
177 
180 
183  //-----------------
184  void StoreOriginVertexThetaAngle(Float_t theta) { OriginVertexThetaAngle.push_back(theta); }
185  std::vector <Float_t> GetOriginVertexThetaAngle() const {return OriginVertexThetaAngle;}
186 
187  void StoreOriginVertexPhiAngle(Float_t phi) { OriginVertexPhiAngle.push_back(phi); }
188  std::vector <Float_t> GetOriginVertexPhiAngle() const {return OriginVertexPhiAngle;}
189  //-----------------
190  void StoreOriginVertexKineticEnergy(Float_t ekin) { OriginVertexKineticEnergy.push_back(ekin); }
191  std::vector <Float_t> GetOriginVertexKineticEnergy() const {return OriginVertexKineticEnergy;}
192 
193  void StoreOriginVertexTotalEnergy(Float_t etot) { OriginVertexTotalEnergy.push_back(etot); }
194  std::vector <Float_t> GetOriginVertexTotalEnergy() const {return OriginVertexTotalEnergy;}
195  //-----------------
196  void StoreGlobalThetaAngle(Float_t theta) { GlobalThetaAngle.push_back(theta); }
197  std::vector <Float_t> GetGlobalThetaAngle() const {return GlobalThetaAngle;}
198 
199  void StoreGlobalPhiAngle(Float_t phi) { GlobalPhiAngle.push_back(phi); }
200  std::vector <Float_t> GetGlobalPhiAngle() const {return GlobalPhiAngle;}
201 
202  void StoreTotalEnergy(Float_t te) { TotalEnergy.push_back(te); }
203  std::vector <Float_t> GetTotalEnergy() const {return TotalEnergy;}
204 
205  void StoreKineticEnergy(Float_t ke) { KineticEnergy.push_back(ke); }
206  std::vector <Float_t> GetKineticEnergy() const {return KineticEnergy;}
207 
208 
209  // define a new Class known to ROOT
211 
212 }; // end class QweakSimUserGEM_WirePlaneEvent
213 
214 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
215 
216 #endif
217 
218 
std::vector< Float_t > GetPlaneLocalMomentumY() const
std::vector< Float_t > GetOriginVertexThetaAngle() const
std::vector< Float_t > GetPlaneGlobalMomentumZ() const
std::vector< Float_t > GetTotalEnergy() const
std::vector< Float_t > GetOriginVertexPositionZ() const
std::vector< Float_t > GetOriginVertexPositionX() const
std::vector< Float_t > GetPlaneLocalMomentumZ() const
std::vector< Float_t > GetGloablTimeOfHit() const
std::vector< Float_t > GetGlobalPhiAngle() const
std::vector< Float_t > GetPlaneGlobalMomentumX() const
std::vector< Float_t > GetPlaneLocalPositionX() const
std::vector< Float_t > GetOriginVertexPhiAngle() const
std::vector< Float_t > GetOriginVertexMomentumDirectionX() const
std::vector< Float_t > GetOriginVertexMomentumDirectionZ() const
std::vector< Float_t > GetPlaneGlobalPositionY() const
std::vector< Float_t > GetOriginVertexMomentumDirectionY() const
std::vector< Float_t > GetGlobalThetaAngle() const
std::vector< Float_t > GlobalTimeOfHit
Global time when this hit was generated.
std::vector< Float_t > GetKineticEnergy() const
std::vector< Float_t > GetPlaneLocalPositionZ() const
std::vector< Float_t > GetPlaneLocalMomentumX() const
std::vector< Float_t > GetOriginVertexTotalEnergy() const
Int_t PlaneHasBeenHit
Has this plane been hit? 0 = no, 5 = yes.
std::vector< Float_t > GetPlaneGlobalPositionX() const
std::vector< Float_t > GetPlaneGlobalPositionZ() const
Int_t NbOfHits
Number of hits in this plane.
std::vector< Float_t > GetPlaneGlobalMomentumY() const
std::vector< Float_t > GetPlaneLocalPositionY() const
std::vector< Float_t > GetOriginVertexKineticEnergy() const
std::vector< Float_t > GetOriginVertexPositionY() const
std::vector< Int_t > TrackID
ID of the track from which this hit was generated.
ROOT Subtree structure for GEM WirePlaneEvent.