QwGeant4
QweakSimHDC_WirePlaneHit.hh
Go to the documentation of this file.
1 //=============================================================================
2 //
3 // ---------------------------
4 // | Doxygen File Information |
5 // ---------------------------
6 /**
7 
8  \file QweakSimHDC_WirePlaneHit.hh
9  $Revision: 1.3 $
10  $Date: 2006/05/05 21:38:26 $
11  \author Klaus Hans Grimm
12 
13 */
14 //=============================================================================
15 //
16 //=============================================================================
17 //
18 // ---------------------------
19 // | Doxygen Class Information |
20 // ---------------------------
21 /**
22  \class QweakSimHDC_WirePlaneHit
23 
24  \brief Handles hits of the HDC wire planes
25 
26  Placeholder for a long explaination
27 
28  */
29 //=============================================================================
30 //
31 
32 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
33 #ifndef QweakSimHDC_WirePlaneHit_h
34 #define QweakSimHDC_WirePlaneHit_h 1
35 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
36 
37 // user includes
38 #include "QweakSimHit.hh"
39 
40 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
41 class QweakSimHDC_WirePlaneHit : public G4VHit
42 {
43  public:
44 
46  QweakSimHDC_WirePlaneHit(G4int HDC_id, G4int wireplane_ID);
47  virtual ~QweakSimHDC_WirePlaneHit();
50  int operator==(const QweakSimHDC_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 HDCID;
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  G4String particleName;
88  G4int particleType;
89 
90 public:
91 
92  inline void StoreHDCID(G4int HDC_ID) { HDCID = HDC_ID; }
93  inline G4int GetHDCID() const { return HDCID; }
94 
95  inline void StoreWirePlaneID(G4int wireplane_ID) { wireplaneID = wireplane_ID; }
96  inline G4int GetWirePlaneID() const { return wireplaneID; }
97  //------
98  inline void StoreGlobalTime(G4double t) { time = t; }
99  inline G4double GetGlobalTime() const { return time; }
100  //------
101  inline void StoreLocalPosition(G4ThreeVector lxyz) { localPos = lxyz; }
102  inline G4ThreeVector GetLocalPosition() const { return localPos; }
103 
104  inline void StoreWorldPosition(G4ThreeVector gxyz) { worldPos = gxyz; }
105  inline G4ThreeVector GetWorldPosition() const { return worldPos; }
106  //------
107  inline void StoreLocalMomentum(G4ThreeVector lpxyz) { localMomentum = lpxyz; }
108  inline G4ThreeVector GetLocalMomentum() const { return localMomentum; }
109 
110  inline void StoreWorldMomentum(G4ThreeVector gpxyz) { worldMomentum = gpxyz; }
111  inline G4ThreeVector GetWorldMomentum() const { return worldMomentum; }
112  //------
113  inline void StoreOriginVertexPosition(G4ThreeVector xyz) { originVertexPosition = xyz; }
114  inline G4ThreeVector GetOriginVertexPosition() const { return originVertexPosition; }
115 
116  inline void StoreOriginVertexMomentumDirection(G4ThreeVector pxyz) { originVertexMomentumDirection = pxyz; }
117  inline G4ThreeVector GetOriginVertexMomentumDirection() const { return originVertexMomentumDirection; }
118 
119  inline void StoreOriginVertexKineticEnergy(G4double ekin) { originVertexKineticEnergy = ekin; }
120  inline G4double GetOriginVertexKineticEnergy() const { return originVertexKineticEnergy; }
121 
122  inline void StoreOriginVertexTotalEnergy(G4double et) { originVertexTotalEnergy = et; }
123  inline G4double GetOriginVertexTotalEnergy() const { return originVertexTotalEnergy; }
124  //------
125  inline void StorePrimaryEventNumber(G4int en) { primaryEventNumber = en; }
126  inline G4int GetPrimaryEventNumber() const { return primaryEventNumber; }
127  //------
128  inline void StorePrimaryQ2(G4double q2) { primaryQ2 = q2; }
129  inline G4double GetPrimaryQ2() const { return primaryQ2; }
130 
131  inline void StoreCrossSection(G4double cs) {crossSection = cs;}
132  inline G4double GetCrossSection() const {return crossSection;}
133 
134  inline void StoreCrossSectionWeight(G4double csw) {crossSectionWeight = csw;}
135  inline G4double GetCrossSectionWeight() const {return crossSectionWeight;}
136 
137  inline void StoreParticleName(G4String pn) {particleName = pn;}
138  inline G4String GetParticleName() const {return particleName;}
139 
140  void StoreParticleType(G4int pt) {particleType = pt;}
141  G4int GetParticleType() const {return particleType;}
142 
143  inline void StoreKineticEnergy(G4double ekin) { currentKineticEnergy = ekin; }
144  inline G4double GetKineticEnergy() const { return currentKineticEnergy; }
145 
146  inline void StoreTotalEnergy(G4double etot) { currentTotalEnergy = etot; }
147  inline G4double GetTotalEnergy() const { return currentTotalEnergy; }
148 
149  };
150 
151 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
152 typedef G4THitsCollection<QweakSimHDC_WirePlaneHit> QweakSimHDC_WirePlane_HitsCollection;
153 
154 extern G4Allocator<QweakSimHDC_WirePlaneHit> QweakSimHDC_WirePlane_HitAllocator;
155 
156 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
157 inline void* QweakSimHDC_WirePlaneHit::operator new(size_t)
158 {
159  void* aHit;
160  aHit = (void*)QweakSimHDC_WirePlane_HitAllocator.MallocSingle();
161  return aHit;
162 }
163 
164 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
165 inline void QweakSimHDC_WirePlaneHit::operator delete(void* aHit)
166 {
168 }
169 
170 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
171 
172 #endif
173 
void StoreOriginVertexTotalEnergy(G4double et)
G4ThreeVector GetLocalPosition() const
void StoreKineticEnergy(G4double ekin)
void StoreWorldPosition(G4ThreeVector gxyz)
int operator==(const QweakSimHDC_WirePlaneHit &right) const
void StoreCrossSectionWeight(G4double csw)
G4THitsCollection< QweakSimHDC_WirePlaneHit > QweakSimHDC_WirePlane_HitsCollection
void StoreOriginVertexPosition(G4ThreeVector xyz)
G4Allocator< QweakSimHDC_WirePlaneHit > QweakSimHDC_WirePlane_HitAllocator
void StoreWorldMomentum(G4ThreeVector gpxyz)
G4ThreeVector GetWorldPosition() const
void StoreWirePlaneID(G4int wireplane_ID)
Handles hits of the HDC wire planes.
G4ThreeVector GetOriginVertexMomentumDirection() const
G4double GetOriginVertexTotalEnergy() const
void StoreOriginVertexMomentumDirection(G4ThreeVector pxyz)
G4ThreeVector GetLocalMomentum() const
G4ThreeVector GetOriginVertexPosition() const
void StoreLocalPosition(G4ThreeVector lxyz)
void StoreLocalMomentum(G4ThreeVector lpxyz)
G4ThreeVector GetWorldMomentum() const
void StoreOriginVertexKineticEnergy(G4double ekin)
const QweakSimHDC_WirePlaneHit & operator=(const QweakSimHDC_WirePlaneHit &right)
G4double GetOriginVertexKineticEnergy() const