QwGeant4
QweakSimTarget.hh
Go to the documentation of this file.
1 
2 //=============================================================================
3 //
4 // ---------------------------
5 // | Doxygen File Information |
6 // ---------------------------
7 /**
8 
9  \file QweakSimTarget.hh
10  $Revision: 1.2 $
11  $Date: 2005/12/27 19:27:07 $
12  \author Klaus Hans Grimm
13 
14 */
15 //=============================================================================
16 //
17 //=============================================================================
18 //
19 // ---------------------------
20 // | Doxygen Class Information |
21 // ---------------------------
22 /**
23  \class QweakSimTarget
24 
25  \brief Definition of the Target
26 
27  Placeholder for a long explaination
28 
29  */
30 //=============================================================================
31 
32 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
33 #ifndef QweakSimTarget_h
34 #define QweakSimTarget_h 1
35 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
36 
37 //
38 // geant4 includes
39 #include "G4Material.hh"
40 #include "G4LogicalVolume.hh"
41 
42 // system includes
43 //#include "cpp_include.h"
44 //#include "Root_include.h"
45 //#include "Geant4_include.hh"
46 
47 // user includes
50 #include "QweakSimMaterial.hh"
51 
52 // system classes
53 // class G4Tubs;
54 // class G4LogicalVolume;
55 // class G4VPhysicalVolume;
56 // class G4Material;
57 // class G4VisAttributes;
58 
59 // user classes
60 class QweakSimMaterial;
62 
63 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
64 
66 {
67 public:
70 
71  void ConstructComponent(G4VPhysicalVolume*);
72  void DestroyComponent();
73 
74  void SetTargetCenterPositionInZ(G4double);
75  G4double GetTargetCenterPositionInZ();
76 
77  void SetTargetMaterial(G4String);
78  G4String GetTargetMaterial();
79 
80  void SetTargetCellMaterial(G4String);
81  G4String GetTargetCellMaterial();
82 
83  void SetTargetEntranceWindowMaterial(G4String);
84  G4String GetTargetEntranceMaterial();
85 
86  void SetTargetExitWindowMaterial(G4String);
87  G4String GetTargetExitWindowMaterial();
88 
89  void SetTargetExitWindowNippleMaterial(G4String);
91 
92  G4LogicalVolume* getTargetLogicalVolume() {return TargetMaterial_Logical;}
93  G4VPhysicalVolume* getTargetPhysicalVolume() {return TargetMaterial_Physical;}
94 
95  void SetTargetLength(G4double);
96  G4double GetTargetLength();
97 
98  void SetTarget(G4String);
99  void SetTargetEntranceWindowLength(G4double);
100  void SetTargetExitWindowLength(G4double);
101  void SetTargetExitWindowNippleLength(G4double);
102 
103  G4double CalculateLuminosity(G4double mass, G4double density, G4double length, G4double pweight);
104 
105 private:
106 
107  G4VPhysicalVolume* theMotherPV;
108 
110 
111  G4LogicalVolume* TargetCell_Logical;
112  G4VPhysicalVolume* TargetCell_Physical;
113  G4Material* TargetCell_Material;
114 
115  G4LogicalVolume* TargetEntranceWindow_Logical;
116  G4VPhysicalVolume* TargetEntranceWindow_Physical;
118 
119  G4LogicalVolume* TargetExitWindow_Logical;
120  G4VPhysicalVolume* TargetExitWindow_Physical;
122 
126 
130 
131  G4LogicalVolume* TargetMaterial_Logical;
132  G4VPhysicalVolume* TargetMaterial_Physical;
134 
135  G4LogicalVolume* TargetContainer_Logical;
136  G4VPhysicalVolume* TargetContainer_Physical;
138 
143 
146 
150 
154 
156 
159 
162  G4double targetZPos;
163 
164  QweakSimTargetMessenger* targetMessenger; // pointer to the Messenger
166 
167  G4ThreeVector positionTarget;
171 
172  G4VSensitiveDetector* TargetSD;
173 
175 
176  void ConstructTargetContainer(); // scattering chamber
178 
179  void ConstructTargetCell(); // Al cell without end caps
180  void ConstructTargetMaterial(); // LH2 for production target
181 
185 
186 };
187 
188 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
189 
190 #endif
G4Material * ScatteringChamberWindow_Material
G4VPhysicalVolume * TargetEntranceWindow_Physical
G4double targetCellOuterLength
Definition of the Target.
G4double ScatteringChamberWindowRadius
G4double CalculateLuminosity(G4double mass, G4double density, G4double length, G4double pweight)
G4double targetCellWallThickness
G4VSensitiveDetector * TargetSD
void ConstructTargetExitWindow()
void ConstructTargetContainer()
G4LogicalVolume * TargetExitWindow_Logical
Scans the input file for /Target/xyz commands.
G4String GetTargetCellMaterial()
void ConstructComponent(G4VPhysicalVolume *)
void ConstructTargetExitWindowNipple()
G4double targetCellFrontInnerRadiusMax
void ConstructTargetMaterial()
G4ThreeVector positionTarget
G4VPhysicalVolume * TargetMaterial_Physical
QweakSimMaterial * pMaterial
G4VPhysicalVolume * getTargetPhysicalVolume()
G4String GetTargetExitWindowNippleMaterial()
G4Material * TargetMaterial_Material
G4Material * TargetExitWindow_Material
void CalculateTargetPositions()
G4double GetTargetLength()
G4double targetCellExitWindowNippleRadius
G4double targetCellStartingPhi
G4LogicalVolume * TargetMaterial_Logical
Definition of elements and materials.
void SetTargetCenterPositionInZ(G4double)
G4VPhysicalVolume * TargetCell_Physical
G4VPhysicalVolume * TargetExitWindow_Physical
void ConstructTargetEntranceWindow()
G4LogicalVolume * getTargetLogicalVolume()
G4String GetTargetExitWindowMaterial()
void SetTargetEntranceWindowLength(G4double)
G4double targetCellFrontRadiusMin
G4ThreeVector positionScatteringChamberWindow
G4double targetCellEntranceWindowThickness
void SetTargetEntranceWindowMaterial(G4String)
G4double targetCellInnerLength
G4String GetTargetMaterial()
G4Material * TargetExitWindowNipple_Material
void ConstructTargetCell()
void SetTargetExitWindowNippleLength(G4double)
G4ThreeVector positionTargetExitWindow
G4LogicalVolume * ScatteringChamberWindow_Logical
G4LogicalVolume * TargetContainer_Logical
G4VPhysicalVolume * ScatteringChamberWindow_Physical
void SetTargetMaterial(G4String)
void SetTargetCellMaterial(G4String)
void SetTargetExitWindowLength(G4double)
G4LogicalVolume * TargetExitWindowNipple_Logical
G4double GetTargetCenterPositionInZ()
G4double targetCellBackInnerRadiusMax
G4VPhysicalVolume * TargetContainer_Physical
void ConstructScatteringChamberWindow()
G4LogicalVolume * TargetEntranceWindow_Logical
G4double targetCellDeltaPhi
QweakSimTarget(QweakSimUserInformation *myUI)
G4double targetCellBackOuterRadiusMax
G4Material * TargetContainer_Material
G4ThreeVector positionTargetEntranceWindow
G4double ScatteringChamberWindowThickness
void SetTargetExitWindowMaterial(G4String)
G4double targetCellBackRadiusMin
G4Material * TargetEntranceWindow_Material
G4double targetCellExitWindowThickness
G4double targetCellExitWindowNippleThickness
G4Material * TargetCell_Material
G4VPhysicalVolume * theMotherPV
QweakSimTargetMessenger * targetMessenger
void SetTargetLength(G4double)
void SetTargetExitWindowNippleMaterial(G4String)
G4VPhysicalVolume * TargetExitWindowNipple_Physical
void SetTarget(G4String)
G4LogicalVolume * TargetCell_Logical
G4double targetCellFrontOuterRadiusMax
QweakSimUserInformation * myUserInfo
G4String GetTargetEntranceMaterial()