QwGeant4
QweakSimVDC_WirePlaneHit.hh
Go to the documentation of this file.
1 //=============================================================================
2 //
3 // ---------------------------
4 // | Doxygen File Information |
5 // ---------------------------
6 /**
7 
8  \file QweakSimVDC_WirePlaneHit.hh
9 
10  $Revision: 1.4 $
11  $Date: 2006/05/05 21:40:49 $
12 
13  \author Klaus Hans Grimm
14 
15 */
16 //=============================================================================
17 //
18 //=============================================================================
19 //
20 // ---------------------------
21 // | Doxygen Class Information |
22 // ---------------------------
23 /**
24  \class QweakSimVDC_WirePlaneHit
25 
26  \brief Handling of a U-WirePlane and/or V-WirePlane Hit of the VDC.
27 
28  Placeholder for a long explaination
29 
30  */
31 //=============================================================================
32 
33 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
34 #ifndef QweakSimVDC_WirePlaneHit_h
35 #define QweakSimVDC_WirePlaneHit_h 1
36 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
37 
38 // user includes
39 #include "QweakSimHit.hh"
40 
41 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
42 class QweakSimVDC_WirePlaneHit : public G4VHit
43 {
44  public:
45 
47  QweakSimVDC_WirePlaneHit(G4int vdc_id, G4int wireplane_ID);
48  virtual ~QweakSimVDC_WirePlaneHit();
51  int operator==(const QweakSimVDC_WirePlaneHit &right) const;
52 
53  void *operator new(size_t);
54  void operator delete(void *aHit);
55 
56  virtual void Draw();
57  virtual void Print();
58 
59 private:
60 
61  G4int vdcID;
62  G4int wireplaneID;
63  G4double time;
64 
65  G4ThreeVector localPos;
66  G4ThreeVector worldPos;
67 
68  G4ThreeVector localMomentum;
69  G4ThreeVector worldMomentum;
70 
71  G4ThreeVector originVertexPosition;
75 
78 
79  G4double primaryQ2;
80  G4double crossSection;
82 
84 
85  G4String particleName;
86  G4int particleType;
87 
88 public:
89 
90  void StoreVDCID(G4int vdc_ID) { vdcID = vdc_ID; }
91  G4int GetVDCID() const { return vdcID; }
92 
93  void StoreWirePlaneID(G4int wireplane_ID) { wireplaneID = wireplane_ID; }
94  G4int GetWirePlaneID() const { return wireplaneID; }
95  //------
96  void StoreGlobalTime(G4double t) { time = t; }
97  G4double GetGlobalTime() const { return time; }
98  //------
99  void StoreLocalPosition(G4ThreeVector lxyz) { localPos = lxyz; }
100  G4ThreeVector GetLocalPosition() const { return localPos; }
101 
102  void StoreWorldPosition(G4ThreeVector gxyz) { worldPos = gxyz; }
103  G4ThreeVector GetWorldPosition() const { return worldPos; }
104  //------
105  void StoreLocalMomentum(G4ThreeVector lpxyz) { localMomentum = lpxyz; }
106  G4ThreeVector GetLocalMomentum() const { return localMomentum; }
107 
108  void StoreWorldMomentum(G4ThreeVector gpxyz) { worldMomentum = gpxyz; }
109  G4ThreeVector GetWorldMomentum() const { return worldMomentum; }
110  //------
111  void StoreOriginVertexPosition(G4ThreeVector xyz) { originVertexPosition = xyz; }
112  G4ThreeVector GetOriginVertexPosition() const { return originVertexPosition; }
113 
116 
119 
122 
123  //------
125  G4int GetPrimaryEventNumber() const { return primaryEventNumber; }
126  //------
127  void StorePrimaryQ2(G4double q2) { primaryQ2 = q2; }
128  G4double GetPrimaryQ2() const { return primaryQ2; }
129 
130  void StoreCrossSection(G4double cs) {crossSection = cs;}
131  G4double GetCrossSection() const {return crossSection;}
132 
133  void StoreCrossSectionWeight(G4double csw) {crossSectionWeight = csw;}
134  G4double GetCrossSectionWeight() const {return crossSectionWeight;}
135 
136 
137  void StoreParticleName(G4String pn) {particleName = pn;}
138  G4String GetParticleName() const {return particleName;}
139 
140  void StoreParticleType(G4int pt) {particleType = pt;}
141  G4int GetParticleType() const {return particleType;}
142 
143  void StoreKineticEnergy(G4double ekin) { currentKineticEnergy = ekin; }
144  G4double GetKineticEnergy() const { return currentKineticEnergy; }
145 
146  void StoreTotalEnergy(G4double etot) { currentTotalEnergy = etot; }
147  G4double GetTotalEnergy() const { return currentTotalEnergy; }
148 
149 
150  };
151 
152 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
153 typedef G4THitsCollection<QweakSimVDC_WirePlaneHit> QweakSimVDC_WirePlane_HitsCollection;
154 
155 extern G4Allocator<QweakSimVDC_WirePlaneHit> QweakSimVDC_WirePlane_HitAllocator;
156 
157 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
158 inline void* QweakSimVDC_WirePlaneHit::operator new(size_t)
159 {
160  void* aHit;
161  aHit = (void*)QweakSimVDC_WirePlane_HitAllocator.MallocSingle();
162  return aHit;
163 }
164 
165 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
166 inline void QweakSimVDC_WirePlaneHit::operator delete(void* aHit)
167 {
169 }
170 
171 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
172 
173 #endif
174 
void StoreOriginVertexKineticEnergy(G4double ekin)
void StoreKineticEnergy(G4double ekin)
G4ThreeVector GetLocalPosition() const
G4ThreeVector GetLocalMomentum() const
void StoreLocalMomentum(G4ThreeVector lpxyz)
G4double GetOriginVertexKineticEnergy() const
void StoreLocalPosition(G4ThreeVector lxyz)
G4ThreeVector GetWorldPosition() const
void StoreWirePlaneID(G4int wireplane_ID)
G4THitsCollection< QweakSimVDC_WirePlaneHit > QweakSimVDC_WirePlane_HitsCollection
const QweakSimVDC_WirePlaneHit & operator=(const QweakSimVDC_WirePlaneHit &right)
G4Allocator< QweakSimVDC_WirePlaneHit > QweakSimVDC_WirePlane_HitAllocator
G4ThreeVector GetWorldMomentum() const
int operator==(const QweakSimVDC_WirePlaneHit &right) const
void StoreOriginVertexTotalEnergy(G4double et)
void StoreWorldMomentum(G4ThreeVector gpxyz)
void StoreWorldPosition(G4ThreeVector gxyz)
void StoreOriginVertexMomentumDirection(G4ThreeVector pxyz)
Handling of a U-WirePlane and/or V-WirePlane Hit of the VDC.
G4double GetOriginVertexTotalEnergy() const
G4ThreeVector GetOriginVertexPosition() const
void StoreOriginVertexPosition(G4ThreeVector xyz)
void StoreCrossSectionWeight(G4double csw)
G4ThreeVector GetOriginVertexMomentumDirection() const