QwGeant4
QweakSimDetectorConstruction.hh
Go to the documentation of this file.
1 //=============================================================================
2 //
3 // ---------------------------
4 // | Doxygen File Information |
5 // ---------------------------
6 /**
7 
8  \file QweakSimDetectorConstruction.hh
9  $Revision: 1.4 $
10  $Date: 2006/05/02 00:58:26 $
11  \author Klaus Hans Grimm
12 
13 */
14 //=============================================================================
15 //
16 //=============================================================================
17 //
18 // ---------------------------
19 // | Doxygen Class Information |
20 // ---------------------------
21 /**
22  \class QweakSimDetectorConstruction
23 
24  \brief main class of QweakSim.
25  All experiment components are are placed here.
26 
27  Placeholder for a long explaination
28 
29  */
30 //=============================================================================
31 
32 #ifndef QweakSimDetectorConstruction_h
33 #define QweakSimDetectorConstruction_h 1
34 
35 // geant4 includes
36 #include "G4VUserDetectorConstruction.hh"
37 
38 // geant4 classes
39 class G4Box;
40 class G4LogicalVolume;
41 class G4Material;
42 class G4VisAttributes;
43 class G4FieldManager;
44 class G4ChordFinder;
45 class G4Mag_EqRhs;
46 class G4MagIntegratorStepper;
47 
48 // user classes
50 class QweakSimMaterial;
51 class QweakSimGeometry;
53 class QweakSimTarget;
55 class QweakSimBeamLine;
58 class QweakSimCollimator;
61 class QweakSimPionWall;
62 class QweakSimWShutters;
63 class QweakSimLeadGlass;
64 class QweakSimPMTOnly;
66 class QweakSimMainMagnet;
67 class QweakSimVDC;
68 class QweakSimVDCRotator;
69 class QweakSimHDC;
70 // class QweakSimGEM;
75 
76 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
77 
78 class QweakSimDetectorConstruction : public G4VUserDetectorConstruction
79 {
80  public:
81 
84 
85 public:
86 
87  G4VPhysicalVolume* Construct();
88 
89  void UpdateGeometry();
91  void ShowHallFloor();
92  void HideHallFloor();
93 
97 
98  void DumpGeometry(
99  G4bool surfchk = false,
100  G4VPhysicalVolume* aVolume = 0,
101  G4int depth = 0);
102 
103 private:
104 
106  G4VPhysicalVolume* ConstructQweak();
107 
109 
111 
114 
119 
121 
123 
125 
128 
130 
132 
134 
136 
137 
140  //QweakSimGEM* pGEM;
141 
143 
146  //G4VReadOutGeometry* pROHitPlane;
147 
148  QweakSimDetectorMessenger* detectorMessenger; // pointer to the Messenger
149 
150  G4Box* experimentalHall_Solid; // pointer to the solid envelope
151  G4LogicalVolume* experimentalHall_Logical; // pointer to the logical envelope
152  G4VPhysicalVolume* experimentalHall_Physical; // pointer to the physical envelope
154 
155  G4Box* HallFloor_Solid; // pointer to the solid envelope
156  G4LogicalVolume* HallFloor_Logical; // pointer to the logical envelope
157  G4VPhysicalVolume* HallFloor_Physical; // pointer to the physical envelope
158  G4Material* HallFloor_Material;
159  G4VisAttributes* HallFloor_VisAtt;
160 
161  G4double fWorldLength; // Full length of the world volume
162  G4double fWorldLengthInX; // Full length of the world volume
163  G4double fWorldLengthInY; // Full length of the world volume
164  G4double fWorldLengthInZ; // Full length of the world volume
165 
166  G4double fFloorLengthInX;
167  G4double fFloorLengthInY;
168  G4double fFloorLengthInZ;
170 
171  //----------------------
172  // global magnet section
173  //----------------------
174  //
176 
177  G4FieldManager* fGlobalFieldManager;
178  G4ChordFinder* fGlobalChordFinder;
179  G4Mag_EqRhs* fGlobalEquation;
180  G4MagIntegratorStepper* fGlobalStepper;
181 
182  G4double fMinStep;
183 
184 };
185 
186 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
187 
188 #endif
189 
190 //=======================================================================================
191 // -----------------------
192 // | CVS File Information |
193 // -----------------------
194 //
195 // $Revisions$
196 // $Log: QweakSimDetectorConstruction.hh,v $
197 // Revision 1.4 2006/05/02 00:58:26 grimm
198 // Implemented VDC Rotator
199 //
200 // Revision 1.3 2005/12/28 22:49:21 grimm
201 // Added QweakSimCollimatorSupport into the world
202 //
203 // Revision 1.2 2005/12/27 19:23:20 grimm
204 // - Redesign of Doxygen header containing CVS info like revision and date
205 // - Added CVS revision log at the end of file
206 //
207 //
QweakSimCollimatorSupport * pCollimatorSupport
Definition of the Target.
Scans the input file for /GDML/ commands.
main class of QweakSim. All experiment components are are placed here.
Defines the Shielding Wall with trapezoid cut outs (located after Main Magnet and before Region 3 VDC...
Scans the input file for /Target/xyz commands.
main class of QweakSim. All passive elements are are read from the GDML files.
Scans the input file for /QweakSim/xyz commands.
Definition of elements and materials.
QweakSimDetectorMessenger * detectorMessenger
Definition of the Collimators.
QweakSimTriggerScintillator * pTriggerScintillator
void DumpGeometry(G4bool surfchk=false, G4VPhysicalVolume *aVolume=0, G4int depth=0)
Placeholder for a long explaination.
Region 3 Vertical Drift Chamber.
Definition: QweakSimVDC.hh:67
Definition of the Support/Shielding of the Collimators.
QweakSimDetectorConstruction(QweakSimUserInformation *)
Definition of the Support/Shielding of the Collimators.
Region 2 Horizontal Drift Chamber.
Definition: QweakSimHDC.hh:65
Main Magnet solids like coils and support, no field.
QweakSimCerenkovDetector * pCerenkovDetector
Definition of the BeamLine.
Definition of the Trigger Scintillator detector.