QwGeant4
QweakSimVDC_DriftCellHit.hh
Go to the documentation of this file.
1 //=============================================================================
2 //
3 // ---------------------------
4 // | Doxygen File Information |
5 // ---------------------------
6 /**
7 
8  \file QweakSimVDC_DriftCellHit.hh
9  $Revision: 1.2 $
10  $Date: 2005/12/27 19:32:12 $
11  \author Klaus Hans Grimm
12 
13 */
14 //=============================================================================
15 //
16 //=============================================================================
17 //
18 // ---------------------------
19 // | Doxygen Class Information |
20 // ---------------------------
21 /**
22  \class QweakSimVDC_DriftCellHit
23 
24  \brief Region 3 Vertical Drift Chamber Drift Cell Hit
25 
26  Placeholder for a long explaination
27 
28  */
29 //=============================================================================
30 //
31 //=============================================================================
32 // -----------------------
33 // | CVS File Information |
34 // -----------------------
35 //
36 // Last Update: $Author: grimm $
37 // Update Date: $Date: 2005/12/27 19:32:12 $
38 // CVS/RCS Revision: $Revision: 1.2 $
39 // Status: $State: Exp $
40 //
41 // ===================================
42 // CVS Revision Log at end of file !!
43 // ===================================
44 //
45 //=============================================================================
46 
47 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
48 #ifndef QweakSimVDC_DriftCellHit_h
49 #define QweakSimVDC_DriftCellHit_h 1
50 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
51 
52 // user includes
53 #include "QweakSimHit.hh"
54 
55 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
56 class QweakSimVDC_DriftCellHit : public G4VHit
57 {
58  public:
59 
61  QweakSimVDC_DriftCellHit(G4int dc_id);
62  virtual ~QweakSimVDC_DriftCellHit();
65  int operator==(const QweakSimVDC_DriftCellHit &right) const;
66 
67  inline void *operator new(size_t);
68  inline void operator delete(void *aHit);
69 
70  inline float x();
71  inline float y();
72 
73  virtual void Draw();
74  virtual void Print();
75 
76 private:
77  G4int driftCellID;
79  G4double time;
80 
81  G4ThreeVector localPos;
82  G4ThreeVector worldPos;
83 
84  G4ThreeVector cellPos;
85  G4RotationMatrix cellRot;
86  const G4LogicalVolume* pLogV;
87 
88  G4ThreeVector originVertexPosition;
91 
92  G4ThreeVector currentMomentumDirection;
95 
96  G4double dcWidthOnFrame;
97  G4double dcFullThickness;
100 
101  public:
102  inline void StoreDriftCellID(G4int dc_id) { driftCellID = dc_id; }
103  inline G4int GetDriftCellID() const { return driftCellID; }
104 
105  inline void StoreDriftCellPlaneID(G4int dcplane_id) { driftCellPlaneID = dcplane_id; }
106  inline G4int GetDriftCellPlaneID() const { return driftCellPlaneID; }
107 
108  inline void StoreTime(G4double t) { time = t; }
109  inline G4double GetTime() const { return time; }
110  inline void StoreLocalPos(G4ThreeVector xyz) { localPos = xyz; }
111  inline G4ThreeVector GetLocalPos() const { return localPos; }
112  inline void StoreWorldPos(G4ThreeVector xyz) { worldPos = xyz; }
113  inline G4ThreeVector GetWorldPos() const { return worldPos; }
114 
115 
116  inline void StoreCellPos(G4ThreeVector xyz) { cellPos = xyz; }
117  inline G4ThreeVector GetCellPos() const { return cellPos; }
118  inline void StoreCellRot(G4RotationMatrix rmat) { cellRot = rmat; }
119  inline G4RotationMatrix GetCellRot() const { return cellRot; }
120  inline void StoreLogV(G4LogicalVolume* val) { pLogV = val; }
121  inline const G4LogicalVolume* GetLogV() const { return pLogV; }
122 
123 
124  inline void StoreOriginVertexPosition(G4ThreeVector xyz) { originVertexPosition = xyz; }
125  inline G4ThreeVector GetOriginVertexPosition() const { return originVertexPosition; }
126  inline void StoreOriginVertexMomentumDirection(G4ThreeVector pxyz) { originVertexMomentumDirection = pxyz; }
127  inline G4ThreeVector GetOriginVertexMomentumDirection() const { return originVertexMomentumDirection; }
128  inline void StoreOriginVertexKineticEnergy(G4double ekin) { originVertexKineticEnergy = ekin; }
129  inline G4double GetOriginVertexKineticEnergy() const { return originVertexKineticEnergy; }
130 
131  inline void StoreMomentumDirection(G4ThreeVector pxyz) { currentMomentumDirection = pxyz; }
132  inline G4ThreeVector GetMomentumDirection() const { return currentMomentumDirection; }
133  inline void StoreKineticEnergy(G4double ekin) { currentKineticEnergy = ekin; }
134  inline G4double GetKineticEnergy() const { return currentKineticEnergy; }
135  inline void StoreTotalEnergy(G4double etot) { currentTotalEnergy = etot; }
136  inline G4double GetTotalEnergy() const { return currentTotalEnergy; }
137 
138  inline void StoreDCWidthOnFrame(G4double dcw) { dcWidthOnFrame = dcw; }
139  inline G4double GetDCWidthOnFrame() const { return dcWidthOnFrame; }
140  inline void StoreDCFullThickness(G4double dct) { dcFullThickness = dct; }
141  inline G4double GetDCFullThickness() const { return dcFullThickness; }
142  inline void StoreDCUPlaneWireAngle(G4double dca) { dcUPlaneWireAngle = dca; }
143  inline G4double GetDCUPlaneWireAngle() const { return dcUPlaneWireAngle; }
144  inline void StoreDCVPlaneWireAngle(G4double dca) { dcVPlaneWireAngle = dca; }
145  inline G4double GetDCVPlaneWireAngle() const { return dcVPlaneWireAngle; }
146 };
147 
148 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
149 typedef G4THitsCollection<QweakSimVDC_DriftCellHit> QweakSimVDC_DriftCellHitsCollection;
150 
151 extern G4Allocator<QweakSimVDC_DriftCellHit> QweakSimVDC_DriftCellHitAllocator;
152 
153 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
154 inline void* QweakSimVDC_DriftCellHit::operator new(size_t)
155 {
156  void* aHit;
157  aHit = (void*)QweakSimVDC_DriftCellHitAllocator.MallocSingle();
158  return aHit;
159 }
160 
161 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
162 inline void QweakSimVDC_DriftCellHit::operator delete(void* aHit)
163 {
165 }
166 
167 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
168 
169 #endif
170 
171 //=======================================================================================
172 // -----------------------
173 // | CVS File Information |
174 // -----------------------
175 //
176 // $Revisions$
177 // $Log: QweakSimVDC_DriftCellHit.hh,v $
178 // Revision 1.2 2005/12/27 19:32:12 grimm
179 // - Redesign of Doxygen header containing CVS info like revision and date
180 // - Added CVS revision log at the end of file
181 //
182 //
183 
184 
const QweakSimVDC_DriftCellHit & operator=(const QweakSimVDC_DriftCellHit &right)
void StoreCellPos(G4ThreeVector xyz)
G4THitsCollection< QweakSimVDC_DriftCellHit > QweakSimVDC_DriftCellHitsCollection
void StoreOriginVertexKineticEnergy(G4double ekin)
G4ThreeVector GetOriginVertexMomentumDirection() const
void StoreDCUPlaneWireAngle(G4double dca)
void StoreDriftCellPlaneID(G4int dcplane_id)
G4RotationMatrix GetCellRot() const
G4double GetOriginVertexKineticEnergy() const
Region 3 Vertical Drift Chamber Drift Cell Hit.
void StoreKineticEnergy(G4double ekin)
int operator==(const QweakSimVDC_DriftCellHit &right) const
G4ThreeVector GetWorldPos() const
G4ThreeVector GetMomentumDirection() const
void StoreMomentumDirection(G4ThreeVector pxyz)
void StoreDCVPlaneWireAngle(G4double dca)
G4Allocator< QweakSimVDC_DriftCellHit > QweakSimVDC_DriftCellHitAllocator
void StoreLogV(G4LogicalVolume *val)
G4ThreeVector GetCellPos() const
void StoreWorldPos(G4ThreeVector xyz)
void StoreOriginVertexPosition(G4ThreeVector xyz)
G4ThreeVector GetOriginVertexPosition() const
void StoreOriginVertexMomentumDirection(G4ThreeVector pxyz)
const G4LogicalVolume * pLogV
void StoreLocalPos(G4ThreeVector xyz)
const G4LogicalVolume * GetLogV() const
void StoreCellRot(G4RotationMatrix rmat)
G4ThreeVector GetLocalPos() const