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.
Definition of the Trigger Scintillator detector.
Defines the Shielding Wall with trapezoid cut outs (located after Main Magnet and before Region 3 VDC...
Region 3 Vertical Drift Chamber.
Definition: QweakSimVDC.hh:67
Scans the input file for /Target/xyz commands.
main class of QweakSim. All passive elements are are read from the GDML files.
Definition of the Support/Shielding of the Collimators.
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.
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.