QwGeant4
QweakSimPMTOnly.hh
Go to the documentation of this file.
1 // QweakSimPMTOnly.hh
2 // Marty McHugh
3 // 2013-06-11
4 
5 /////// --------------------------------------------------------------------
6 
7 #ifndef QweakSimPMTOnly_hh
8 #define QweakSimPMTOnly_hh 1
9 
10 /////// --------------------------------------------------------------------
11 
12 //--- geant4 includes
13 #include "G4LogicalVolume.hh"
14 #include "G4OpticalSurface.hh"
15 #include "G4LogicalBorderSurface.hh"
16 #include "G4LogicalSkinSurface.hh"
17 
18 //--- user includes
19 #include "QweakSimSolids.hh"
20 #include "QweakSimMaterial.hh"
23 
24 /////// --------------------------------------------------------------------
25 
26 //--- user classes
27 class QweakSimMaterial;
29 
30 /////// --------------------------------------------------------------------
31 
33 {
34 
35 public:
36 
39 
40  void ConstructComponent(G4VPhysicalVolume* MotherVolume);
41  void DestroyComponent();
42 
43  void SetPMTOnly_Material(G4String);
44 
45  void SetPMTOnly_CenterPositionInX(G4double xPos);
46  void SetPMTOnly_CenterPositionInY(G4double yPos);
47  void SetPMTOnly_CenterPositionInZ(G4double zPos);
48 
50 
54 
55  void SetPMTOnly_FullLengthInX(G4double dim) {PMTOnly_FullLength_X = dim;}
56  void SetPMTOnly_FullLengthInY(G4double dim) {PMTOnly_FullLength_Y = dim;}
57  void SetPMTOnly_FullLengthInZ(G4double dim) {PMTOnly_FullLength_Z = dim;}
58 
62 
63  void SetPMTOnly_TiltAngleInX(G4double xTiltAngle);
64  void SetPMTOnly_TiltAngleInY(G4double yTiltAngle);
65  void SetPMTOnly_TiltAngleInZ(G4double zTiltAngle);
66 
70 
71  void SetPMTOnly_Enabled();
72  void SetPMTOnly_Disabled();
73 
74  G4LogicalVolume* GetPMTOnly_LogicalVolume() {return PMTOnly_Logical;}
75  G4VPhysicalVolume* GetPMTOnly_PhysicalVolume() {return PMTOnly_Physical;}
76 
77 private:
78 
80 
82 
84  G4LogicalVolume* PMTOnlyContainer_Logical;
85  G4VPhysicalVolume* PMTOnlyContainer_Physical;
87  G4VisAttributes* PMTOnlyContainer_VisAtt;
88 
89  G4Box* PMTOnly_Solid;
90  G4LogicalVolume* PMTOnly_Logical;
91  G4VPhysicalVolume* PMTOnly_Physical;
92  G4Material* PMTOnly_Material;
93  G4VisAttributes* PMTOnly_VisAtt;
94 
99 
101  G4LogicalVolume* PMTOnlyEntranceWindow_Logical;
102  G4VPhysicalVolume* PMTOnlyEntranceWindow_Physical;
104 
106  G4LogicalVolume* PMTOnlyCathode_Logical;
107  G4VPhysicalVolume* PMTOnlyCathode_Physical;
109 
110  //--- Mother sizes
114 
115  //--- Mother position
120 
121  //--- PMTOnly sizes
125 
126  //--- PMTOnly position
130  G4ThreeVector PMTOnly_CenterPosition;
131 
132  //--- Mother rotation
137 
138  //--- MD5 position
142 
143  //--- PMT Stuff
147 
150 
154 
157 
159  G4double PMTOnlyCathode_Y;
161 
164 
165  //--- PMTOnly sensitive detector
166  G4VSensitiveDetector* PMTOnlySD;
167 
168  G4VSensitiveDetector* PMTOnly_PMTSD;
169 
170  //--- QweakSimUserInformation
172 
173 };
174 
175 
176 /////// --------------------------------------------------------------------
177 
178 #endif
179 
180 /////// --------------------------------------------------------------------
G4double PMTOnlyContainer_TiltAngle_Z
G4VisAttributes * PMTOnly_VisAtt
G4LogicalVolume * PMTOnlyQuartzOpticalFilm_Logical
G4double PMTOnlyContainer_FullLength_X
G4double PMTOnlyEntranceWindow_Diameter
G4double PMTOnlyQuartzOpticalFilm_X
G4LogicalVolume * PMTOnly_Logical
G4double PMTOnlyCathode_Diameter
G4double GetPMTOnly_TiltAngleInY()
G4double PMTOnlyContainer_CenterPosition_X
G4VSensitiveDetector * PMTOnlySD
G4double PMTOnlyEntranceWindow_Y
G4double GetPMTOnly_CenterPositionInX()
G4double MD5_CenterPosition_Y
G4double GetPMTOnly_FullLengthInY()
G4VPhysicalVolume * GetPMTOnly_PhysicalVolume()
void SetPMTOnly_FullLengthInY(G4double dim)
G4double MD5_CenterPosition_X
QweakSimUserInformation * myUserInfo
G4VPhysicalVolume * PMTOnlyContainer_Physical
void FindPMTOnly_MotherCenter()
void SetPMTOnly_CenterPositionInZ(G4double zPos)
G4double PMTOnly_FullLength_X
G4VPhysicalVolume * PMTOnlyQuartzOpticalFilm_Physical
G4double PMTOnlyCathode_Z
G4double PMTOnlyEntranceWindow_Thickness
G4double PMTOnlyContainer_FullLength_Z
QweakSimMaterial * pMaterial
G4double MD5_CenterPosition_Z
G4LogicalVolume * GetPMTOnly_LogicalVolume()
G4Material * PMTOnlyEntranceWindow_Material
G4VPhysicalVolume * PMTOnlyEntranceWindow_Physical
G4double PMTOnlyContainer_CenterPosition_Z
G4double PMTOnly_CenterPosition_Y
G4Material * PMTOnlyQuartzOpticalFilm_Material
G4LogicalVolume * PMTOnlyEntranceWindow_Logical
G4Tubs * PMTOnlyCathode_Solid
G4double PMTOnlyContainer_CenterPosition_Y
G4double PMTOnlyContainer_TiltAngle_X
void SetPMTOnly_FullLengthInX(G4double dim)
void SetPMTOnly_FullLengthInZ(G4double dim)
void SetPMTOnly_CenterPositionInY(G4double yPos)
Definition of elements and materials.
G4double PMTOnly_CenterPosition_Z
void SetPMTOnly_TiltAngleInX(G4double xTiltAngle)
G4Box * PMTOnlyContainer_Solid
QweakSimPMTOnly(QweakSimUserInformation *)
G4Tubs * PMTOnlyEntranceWindow_Solid
G4VSensitiveDetector * PMTOnly_PMTSD
G4double PMTOnlyCathode_X
G4double PMTOnlyQuartzOpticalFilm_Thickness
G4double GetPMTOnly_TiltAngleInZ()
G4Material * PMTOnlyContainer_Material
G4double GetPMTOnly_CenterPositionInY()
G4ThreeVector PMTOnly_CenterPosition
G4LogicalVolume * PMTOnlyCathode_Logical
void SetPMTOnly_TiltAngleInY(G4double yTiltAngle)
G4Material * PMTOnly_Material
void SetPMTOnly_TiltAngleInZ(G4double zTiltAngle)
void ConstructComponent(G4VPhysicalVolume *MotherVolume)
QweakSimPMTOnlyMessenger * PMTOnlyMessenger
G4VPhysicalVolume * PMTOnlyCathode_Physical
G4double PMTOnly_FullLength_Z
G4double PMTOnlyContainer_TiltAngle_Y
G4Material * PMTOnlyCathode_Material
G4VisAttributes * PMTOnlyContainer_VisAtt
void SetPMTOnly_CenterPositionInX(G4double xPos)
G4double PMTOnlyEntranceWindow_X
G4double PMTOnlyQuartzOpticalFilm_Y
G4Tubs * PMTOnlyQuartzOpticalFilm_Solid
G4LogicalVolume * PMTOnlyContainer_Logical
G4RotationMatrix * PMTOnlyContainer_RotationMatrix
G4double PMTOnlyQuartzOpticalFilm_Diameter
G4VPhysicalVolume * PMTOnly_Physical
G4double PMTOnlyContainer_FullLength_Y
G4double PMTOnly_CenterPosition_X
G4double PMTOnlyCathode_Y
G4double GetPMTOnly_FullLengthInZ()
G4double PMTOnly_FullLength_Y
G4double PMTOnlyQuartzOpticalFilm_Z
G4ThreeVector PMTOnlyContainer_CenterPosition
G4double GetPMTOnly_CenterPositionInZ()
void SetPMTOnly_Material(G4String)
G4double GetPMTOnly_TiltAngleInX()
G4double GetPMTOnly_FullLengthInX()
G4double PMTOnlyEntranceWindow_Z
G4double PMTOnlyCathode_Thickness