QwGeant4
QweakSimGEM_WirePlaneHit.hh
Go to the documentation of this file.
1 //=============================================================================
2 //
3 // ---------------------------
4 // | Doxygen File Information |
5 // ---------------------------
6 /**
7 
8  \file QweakSimGEM_WirePlaneHit.hh
9  $Revision: 1.3 $
10  $Date: 2006/05/05 21:38:19 $
11  \author Klaus Hans Grimm
12 
13 */
14 //=============================================================================
15 //
16 //=============================================================================
17 //
18 // ---------------------------
19 // | Doxygen Class Information |
20 // ---------------------------
21 /**
22  \class QweakSimGEM_WirePlaneHit
23 
24  \brief Handling of a Readoutplane Hit of the GEM detector
25  (I know there is no wire plane ... just for consistent class names )
26 
27  Placeholder for a long explaination
28 
29  */
30 //=============================================================================
31 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
32 #ifndef QweakSimGEM_WirePlaneHit_h
33 #define QweakSimGEM_WirePlaneHit_h 1
34 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
35 
36 // user includes
37 #include "QweakSimHit.hh"
38 
39 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
40 class QweakSimGEM_WirePlaneHit : public G4VHit
41 {
42  public:
43 
45  QweakSimGEM_WirePlaneHit(G4int GEM_id, G4int wireplane_ID);
46  virtual ~QweakSimGEM_WirePlaneHit();
47 
50  int operator==(const QweakSimGEM_WirePlaneHit &right) const;
51 
52  inline void *operator new(size_t);
53  inline void operator delete(void *aHit);
54 
55  inline float x();
56  inline float y();
57 
58  virtual void Draw();
59  virtual void Print();
60 
61 private:
62 
63  G4int GEMID;
64  G4int wireplaneID;
65  G4double time;
66 
67  G4ThreeVector localPos;
68  G4ThreeVector worldPos;
69 
70  G4ThreeVector localMomentum;
71  G4ThreeVector worldMomentum;
72 
73  G4ThreeVector originVertexPosition;
77 
80 
81  G4double primaryQ2;
82  G4double crossSection;
84 
86 
87 public:
88 
89  inline void StoreGEMID(G4int GEM_ID) { GEMID = GEM_ID; }
90  inline G4int GetGEMID() const { return GEMID; }
91 
92  inline void StoreWirePlaneID(G4int wireplane_ID) { wireplaneID = wireplane_ID; }
93  inline G4int GetWirePlaneID() const { return wireplaneID; }
94  //------
95  inline void StoreGlobalTime(G4double t) { time = t; }
96  inline G4double GetGlobalTime() const { return time; }
97  //------
98  inline void StoreLocalPosition(G4ThreeVector lxyz) { localPos = lxyz; }
99  inline G4ThreeVector GetLocalPosition() const { return localPos; }
100 
101  inline void StoreWorldPosition(G4ThreeVector gxyz) { worldPos = gxyz; }
102  inline G4ThreeVector GetWorldPosition() const { return worldPos; }
103  //------
104  inline void StoreLocalMomentum(G4ThreeVector lpxyz) { localMomentum = lpxyz; }
105  inline G4ThreeVector GetLocalMomentum() const { return localMomentum; }
106 
107  inline void StoreWorldMomentum(G4ThreeVector gpxyz) { worldMomentum = gpxyz; }
108  inline G4ThreeVector GetWorldMomentum() const { return worldMomentum; }
109  //------
110  inline void StoreOriginVertexPosition(G4ThreeVector xyz) { originVertexPosition = xyz; }
111  inline G4ThreeVector GetOriginVertexPosition() const { return originVertexPosition; }
112 
113  inline void StoreOriginVertexMomentumDirection(G4ThreeVector pxyz) { originVertexMomentumDirection = pxyz; }
114  inline G4ThreeVector GetOriginVertexMomentumDirection() const { return originVertexMomentumDirection; }
115 
116  inline void StoreOriginVertexKineticEnergy(G4double ekin) { originVertexKineticEnergy = ekin; }
117  inline G4double GetOriginVertexKineticEnergy() const { return originVertexKineticEnergy; }
118 
119  inline void StoreOriginVertexTotalEnergy(G4double et) { originVertexTotalEnergy = et; }
120  inline G4double GetOriginVertexTotalEnergy() const { return originVertexTotalEnergy; }
121 
122  //------
123  inline void StorePrimaryEventNumber(G4int en) { primaryEventNumber = en; }
124  inline G4int GetPrimaryEventNumber() const { return primaryEventNumber; }
125  //------
126  inline void StorePrimaryQ2(G4double q2) { primaryQ2 = q2; }
127  inline G4double GetPrimaryQ2() const { return primaryQ2; }
128 
129  inline void StoreCrossSection(G4double cs) {crossSection = cs;}
130  inline G4double GetCrossSection() const {return crossSection;}
131 
132  inline void StoreCrossSectionWeight(G4double csw) {crossSectionWeight = csw;}
133  inline G4double GetCrossSectionWeight() const {return crossSectionWeight;}
134 
135  inline void StoreKineticEnergy(G4double ekin) { currentKineticEnergy = ekin; }
136  inline G4double GetKineticEnergy() const { return currentKineticEnergy; }
137 
138  inline void StoreTotalEnergy(G4double etot) { currentTotalEnergy = etot; }
139  inline G4double GetTotalEnergy() const { return currentTotalEnergy; }
140 
141  };
142 
143 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
144 typedef G4THitsCollection<QweakSimGEM_WirePlaneHit> QweakSimGEM_WirePlane_HitsCollection;
145 
146 extern G4Allocator<QweakSimGEM_WirePlaneHit> QweakSimGEM_WirePlane_HitAllocator;
147 
148 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
149 inline void* QweakSimGEM_WirePlaneHit::operator new(size_t)
150 {
151  void* aHit;
152  aHit = (void*)QweakSimGEM_WirePlane_HitAllocator.MallocSingle();
153  return aHit;
154 }
155 
156 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
157 inline void QweakSimGEM_WirePlaneHit::operator delete(void* aHit)
158 {
160 }
161 
162 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
163 
164 #endif
165 
void StoreOriginVertexTotalEnergy(G4double et)
void StoreOriginVertexKineticEnergy(G4double ekin)
G4double GetOriginVertexTotalEnergy() const
G4Allocator< QweakSimGEM_WirePlaneHit > QweakSimGEM_WirePlane_HitAllocator
G4THitsCollection< QweakSimGEM_WirePlaneHit > QweakSimGEM_WirePlane_HitsCollection
void StoreWorldPosition(G4ThreeVector gxyz)
int operator==(const QweakSimGEM_WirePlaneHit &right) const
void StoreWirePlaneID(G4int wireplane_ID)
void StoreLocalPosition(G4ThreeVector lxyz)
G4ThreeVector GetWorldMomentum() const
const QweakSimGEM_WirePlaneHit & operator=(const QweakSimGEM_WirePlaneHit &right)
void StoreLocalMomentum(G4ThreeVector lpxyz)
void StoreOriginVertexMomentumDirection(G4ThreeVector pxyz)
Handling of a Readoutplane Hit of the GEM detector (I know there is no wire plane ...
void StoreWorldMomentum(G4ThreeVector gpxyz)
void StoreCrossSectionWeight(G4double csw)
G4ThreeVector GetLocalPosition() const
G4double GetOriginVertexKineticEnergy() const
G4ThreeVector GetWorldPosition() const
void StoreOriginVertexPosition(G4ThreeVector xyz)
G4ThreeVector GetOriginVertexPosition() const
void StoreKineticEnergy(G4double ekin)
G4ThreeVector GetOriginVertexMomentumDirection() const
G4ThreeVector GetLocalMomentum() const