QwGeant4
QweakSimGEM.hh
Go to the documentation of this file.
1 //=============================================================================
2 //
3 // ---------------------------
4 // | Doxygen File Information |
5 // ---------------------------
6 /**
7 
8  \file QweakSimGEM.hh
9  $Revision: 1.2 $
10  $Date: 2005/12/27 19:23:57 $
11  \author Klaus Hans Grimm
12 
13 */
14 //=============================================================================
15 //
16 //=============================================================================
17 //
18 // ---------------------------
19 // | Doxygen Class Information |
20 // ---------------------------
21 /**
22  \class QweakSimGEM
23 
24  \brief Region 1 GEM (Gas Electron Multiplier)
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:23:57 $
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 QweakSimGEM_h
49 #define QweakSimGEM_h
50 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
51 
52 // user includes
53 #include "QweakSimSolids.hh"
55 
56 // user classes
58 class QweakSimMaterial;
59 
60 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
61 
62 //class QweakSimGEM: public QweakSimVGeometryComponent
63 //class QweakSimGEM: public G4VUserDetectorConstruction
65 {
66 public:
67  QweakSimGEM();
68  ~QweakSimGEM();
69 
70  void ConstructComponent(G4VPhysicalVolume*);
71  void DestroyComponent();
72 
73  //=============
74  // Set function
75  //=============
76 
77  void SetGEM_MasterContainerMaterial(G4String);
78  void SetGEM_SubContainerMaterial(G4String);
79  void SetGEM_FrameMaterial(G4String);
80  //void SetGEM_FoilMaterial(G4String);
81  //void SetGEM_WirePlaneMaterial(G4String);
82 
83  void SetFrontGEM_CenterPositionInX(G4double xPos);
84  void SetFrontGEM_CenterPositionInY(G4double yPos);
85  void SetFrontGEM_CenterPositionInZ(G4double zPos);
86 
87  void SetBackGEM_CenterPositionInX(G4double xPos);
88  void SetBackGEM_CenterPositionInY(G4double yPos);
89  void SetBackGEM_CenterPositionInZ(G4double zPos);
90 
91  void SetGEM_FrontChamber_RotationAngleInPhi(G4double GEM_phiangleFront);
92  void SetGEM_BackChamber_RotationAngleInPhi(G4double GEM_phiangleBack);
93 
94 
95  //=============
96  // Get function
97  //=============
98 
99  G4LogicalVolume* getGEM_LogicalVolume() {return GEM_MasterContainer_Logical;}
100 
103 
104  G4LogicalVolume* getGEM_Frame_LogicalVolume() {return GEM_Frame_Logical;}
105 G4VPhysicalVolume* getGEM_Frame_PhysicalVolume() {return GEM_Frame_Physical;}
106 
107 
108  //G4LogicalVolume* getGEM_Foil_LogicalVolume() {return GEM_Foil_Logical;}
109  //G4VPhysicalVolume* getGEM_Foil_PhysicalVolume() {return GEM_Foil_Physical;}
110 
111  //G4LogicalVolume* getGEM_WirePlane_LogicalVolume() {return GEM_WirePlane_Logical;}
112  //G4VPhysicalVolume* getGEM_WirePlane_PhysicalVolume() {return GEM_WirePlane_Physical;}
113 
114 
117 
118 private:
119 
120 
122 
123  G4RotationMatrix* Rotation_FrontChamber_GEM; // for Phi angle orientation
124  G4RotationMatrix* Rotation_BackChamber_GEM; // for Phi angle orientation
125 
128 
129  G4LogicalVolume* GEM_MasterContainer_Logical;
131  G4VPhysicalVolume* GEM_MasterContainerBack_Physical;
132 
133  G4LogicalVolume* GEM_SubContainer_Logical;
134  G4VPhysicalVolume* GEM_SubContainer_Physical;
135 
136  G4LogicalVolume* GEM_Frame_Logical;
137  G4VPhysicalVolume* GEM_Frame_Physical;
138 
139  //--------------------
142  //
144  G4VPhysicalVolume* GEM_KaptonMiddleFoil_Physical;
145  //
149  //--------------------
150  //
151  //--------------------
154  //
156  G4VPhysicalVolume* GEM_AnodeReadoutBoard_Physical;
157  //
159  G4VPhysicalVolume* GEM_AnodeCopperLayer_Physical;
160  //--------------------
161  //
162  //--------------------
165  //
168  //--------------------
169 
170  QweakSimGEMMessenger* GEM_Messenger; // pointer to the Messenger
171 
179 
183 
186 
192 
196 
200 
201 
202  G4VisAttributes* GEM_MasterContainer_VisAtt;
203  G4VisAttributes* GEM_SubContainer_VisAtt;
204  G4VisAttributes* GEM_Frame_VisAtt;
205 
207  G4VisAttributes* GEM_KaptonMiddleFoil_VisAtt;
208  G4VisAttributes* GEM_CopperMiddleFoil_VisAtt;
209 
212  G4VisAttributes* GEM_AnodeCopperLayer_VisAtt;
215 
216 
217  // QweakSimGEMSD* driftChamberSD; // pointer to the sensitive DC
218  G4VSensitiveDetector* GEMdriftChamberSD;
219 
220  G4SubtractionSolid* GEM_Frame_Solid;
221 
222 
223  // cuts for G4Region and PAIModel
224  G4double fGammaCut;
225  G4double fElectronCut;
226  G4double fPositronCut;
227  G4Region* fRegGasDet;
228 
229 };
230 
231 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
232 
233 #endif
234 
235 //=======================================================================================
236 // -----------------------
237 // | CVS File Information |
238 // -----------------------
239 //
240 // $Revisions$
241 // $Log: QweakSimGEM.hh,v $
242 // Revision 1.2 2005/12/27 19:23:57 grimm
243 // - Redesign of Doxygen header containing CVS info like revision and date
244 // - Added CVS revision log at the end of file
245 //
246 //
G4VisAttributes * GEM_CopperMiddleFoil_VisAtt
Definition: QweakSimGEM.hh:208
G4double GEM_CenterBack_YPos
Definition: QweakSimGEM.hh:198
G4SubtractionSolid * GEM_Frame_Solid
Definition: QweakSimGEM.hh:220
G4double fElectronCut
Definition: QweakSimGEM.hh:225
G4VSensitiveDetector * GEMdriftChamberSD
Definition: QweakSimGEM.hh:218
G4double AluFrame_InnerWidth
Definition: QweakSimGEM.hh:191
G4double fPositronCut
Definition: QweakSimGEM.hh:226
G4VisAttributes * GEM_CathodeHVPlaneContainer_VisAtt
Definition: QweakSimGEM.hh:213
G4VPhysicalVolume * GEM_MasterContainerFront_Physical
Definition: QweakSimGEM.hh:130
G4double GEMFrame_Thickness
Definition: QweakSimGEM.hh:172
G4VisAttributes * GEM_CathodeHVCopperLayer_VisAtt
Definition: QweakSimGEM.hh:214
G4VisAttributes * GEM_MiddleFoilContainer_VisAtt
Definition: QweakSimGEM.hh:206
QweakSimGEMMessenger * GEM_Messenger
Definition: QweakSimGEM.hh:170
G4VisAttributes * GEM_Frame_VisAtt
Definition: QweakSimGEM.hh:204
G4double GEM_CenterFront_ZPos
Definition: QweakSimGEM.hh:195
G4double GEMFrame_BorderWidthInY
Definition: QweakSimGEM.hh:178
G4VisAttributes * GEM_AnodeReadoutPlaneContainer_VisAtt
Definition: QweakSimGEM.hh:210
void SetGEM_MasterContainerMaterial(G4String)
Definition: QweakSimGEM.cc:891
G4VPhysicalVolume * GEM_MiddleFoilContainer_Physical
Definition: QweakSimGEM.hh:141
G4LogicalVolume * GEM_Frame_Logical
Definition: QweakSimGEM.hh:136
G4double GEM_G10AnodeBoard_Thickness
Definition: QweakSimGEM.hh:184
G4VisAttributes * GEM_KaptonMiddleFoil_VisAtt
Definition: QweakSimGEM.hh:207
void SetFrontGEM_CenterPositionInZ(G4double zPos)
G4LogicalVolume * GEM_MasterContainer_Logical
Definition: QweakSimGEM.hh:129
Definition of elements and materials.
G4VisAttributes * GEM_AnodeCopperLayer_VisAtt
Definition: QweakSimGEM.hh:212
void SetFrontGEM_CenterPositionInX(G4double xPos)
Definition: QweakSimGEM.cc:981
G4LogicalVolume * GEM_CathodeHVPlaneContainer_Logical
Definition: QweakSimGEM.hh:163
G4double GEM_BackChamber_RotationAngleInPhi
Definition: QweakSimGEM.hh:127
G4LogicalVolume * GEM_AnodeCopperLayer_Logical
Definition: QweakSimGEM.hh:158
G4double AluFrame_Thickness
Definition: QweakSimGEM.hh:187
G4LogicalVolume * getGEM_LogicalVolume()
Definition: QweakSimGEM.hh:99
void SetGEM_FrameMaterial(G4String)
Definition: QweakSimGEM.cc:925
G4VPhysicalVolume * GEM_SubContainer_Physical
Definition: QweakSimGEM.hh:134
G4double GEM_KaptonAnodeFoil_Thickness
Definition: QweakSimGEM.hh:182
G4VisAttributes * GEM_SubContainer_VisAtt
Definition: QweakSimGEM.hh:203
G4double GEM_CenterFront_YPos
Definition: QweakSimGEM.hh:194
G4double GEM_CenterBack_XPos
Definition: QweakSimGEM.hh:197
void SetBackGEM_CenterPositionInZ(G4double zPos)
G4double GetGEM_BackChamber_RotationAngleInPhi()
Definition: QweakSimGEM.hh:116
G4VPhysicalVolume * getGEM_Frame_PhysicalVolume()
Definition: QweakSimGEM.hh:105
G4VPhysicalVolume * GEM_CathodeHVCopperLayer_Physical
Definition: QweakSimGEM.hh:167
G4VPhysicalVolume * GEM_BottomCopperMiddleFoil_Physical
Definition: QweakSimGEM.hh:148
G4VPhysicalVolume * GEM_AnodeCopperLayer_Physical
Definition: QweakSimGEM.hh:159
G4double GEMFrame_OuterWidth
Definition: QweakSimGEM.hh:174
G4LogicalVolume * GEM_AnodeReadoutPlaneContainer_Logical
Definition: QweakSimGEM.hh:152
G4RotationMatrix * Rotation_BackChamber_GEM
Definition: QweakSimGEM.hh:124
void DestroyComponent()
Definition: QweakSimGEM.cc:976
G4LogicalVolume * getGEM_Frame_LogicalVolume()
Definition: QweakSimGEM.hh:104
G4LogicalVolume * GEM_AnodeReadoutBoard_Logical
Definition: QweakSimGEM.hh:155
G4double GEMFrame_InnerWidth
Definition: QweakSimGEM.hh:176
G4VPhysicalVolume * GEM_MasterContainerBack_Physical
Definition: QweakSimGEM.hh:131
G4VPhysicalVolume * GEM_CathodeHVPlaneContainer_Physical
Definition: QweakSimGEM.hh:164
G4double GEM_CenterFront_XPos
Definition: QweakSimGEM.hh:193
Scans the input file for /GEM/xyz commands.
G4double GEM_CopperLayer_Thickness
Definition: QweakSimGEM.hh:185
QweakSimMaterial * pMaterial
Definition: QweakSimGEM.hh:121
G4double AluFrame_OuterLength
Definition: QweakSimGEM.hh:188
G4double GEMFrame_OuterLength
Definition: QweakSimGEM.hh:173
void ConstructComponent(G4VPhysicalVolume *)
Definition: QweakSimGEM.cc:253
G4double AluFrame_InnerLength
Definition: QweakSimGEM.hh:190
void SetGEM_BackChamber_RotationAngleInPhi(G4double GEM_phiangleBack)
G4double GEM_FrontChamber_RotationAngleInPhi
Definition: QweakSimGEM.hh:126
void SetFrontGEM_CenterPositionInY(G4double yPos)
Definition: QweakSimGEM.cc:995
G4double GEM_KaptonMiddleFoil_Thickness
Definition: QweakSimGEM.hh:181
G4double GEM_KaptonCathodeFoil_Thickness
Definition: QweakSimGEM.hh:180
G4LogicalVolume * GEM_KaptonMiddleFoil_Logical
Definition: QweakSimGEM.hh:143
G4double GEMFrame_InnerLength
Definition: QweakSimGEM.hh:175
void SetBackGEM_CenterPositionInY(G4double yPos)
void SetGEM_SubContainerMaterial(G4String)
Definition: QweakSimGEM.cc:908
G4double GetGEM_FrontChamber_RotationAngleInPhi()
Definition: QweakSimGEM.hh:115
void SetGEM_FrontChamber_RotationAngleInPhi(G4double GEM_phiangleFront)
G4double AluFrame_OuterWidth
Definition: QweakSimGEM.hh:189
G4VPhysicalVolume * GEM_AnodeReadoutPlaneContainer_Physical
Definition: QweakSimGEM.hh:153
G4VisAttributes * GEM_AnodeReadoutBoard_VisAtt
Definition: QweakSimGEM.hh:211
G4RotationMatrix * Rotation_FrontChamber_GEM
Definition: QweakSimGEM.hh:123
Region 1 GEM (Gas Electron Multiplier)
Definition: QweakSimGEM.hh:64
G4VPhysicalVolume * getGEMBack_PhysicalVolume()
Definition: QweakSimGEM.hh:102
G4VPhysicalVolume * GEM_AnodeReadoutBoard_Physical
Definition: QweakSimGEM.hh:156
G4VisAttributes * GEM_MasterContainer_VisAtt
Definition: QweakSimGEM.hh:202
void SetBackGEM_CenterPositionInX(G4double xPos)
G4LogicalVolume * GEM_SubContainer_Logical
Definition: QweakSimGEM.hh:133
G4VPhysicalVolume * GEM_TopCopperMiddleFoil_Physical
Definition: QweakSimGEM.hh:147
G4VPhysicalVolume * getGEMFront_PhysicalVolume()
Definition: QweakSimGEM.hh:101
G4LogicalVolume * GEM_CathodeHVCopperLayer_Logical
Definition: QweakSimGEM.hh:166
G4LogicalVolume * GEM_CopperMiddleFoil_Logical
Definition: QweakSimGEM.hh:146
G4Region * fRegGasDet
Definition: QweakSimGEM.hh:227
G4VPhysicalVolume * GEM_KaptonMiddleFoil_Physical
Definition: QweakSimGEM.hh:144
G4double GEMFrame_BorderWidthInX
Definition: QweakSimGEM.hh:177
G4VPhysicalVolume * GEM_Frame_Physical
Definition: QweakSimGEM.hh:137
G4double fGammaCut
Definition: QweakSimGEM.hh:224
G4double GEM_CenterBack_ZPos
Definition: QweakSimGEM.hh:199
G4LogicalVolume * GEM_MiddleFoilContainer_Logical
Definition: QweakSimGEM.hh:140