1 #ifndef _G4TankSimulatorOG_G4TankConstruction_h_
2 #define _G4TankSimulatorOG_G4TankConstruction_h_
8 #include <utl/TabulatedFunction.h>
11 #include <G4VUserDetectorConstruction.hh>
13 #include <G4Colour.hh>
14 #include <G4Element.hh>
15 #include <G4ElementTable.hh>
16 #include <G4LogicalBorderSurface.hh>
17 #include <G4LogicalVolume.hh>
18 #include <G4Material.hh>
19 #include <G4MaterialTable.hh>
20 #include <G4PVPlacement.hh>
21 #include <G4SDManager.hh>
22 #include <G4Sphere.hh>
23 #include <G4ThreeVector.hh>
25 #include <G4VisAttributes.hh>
26 #include <G4GeometryManager.hh>
27 #include <G4PhysicalVolumeStore.hh>
28 #include <G4LogicalVolumeStore.hh>
29 #include <G4SolidStore.hh>
30 #include <G4RunManager.hh>
31 #include <CLHEP/Units/SystemOfUnits.h>
32 #include <G4SubtractionSolid.hh>
35 #include <G4Ellipsoid.hh>
37 namespace G4TankSimulatorOG {
G4VPhysicalVolume * expHall_phys
G4LogicalVolume * expHall_log
static utl::TabulatedFunction fPmtdomeRINDEX
void CreateAluminium(void)
static double fGlassThickness
G4OpticalSurface * OpLinerSurface
G4SubtractionSolid * pmt_solid1
G4SubtractionSolid * pmt_solid
void CleanupFreestore(void)
G4Ellipsoid * dome_in_aux
G4VPhysicalVolume * solarPanel_phys
static double fSolarPanelThickness
static utl::TabulatedFunction fLinerTYVEK_RINDEX
G4VPhysicalVolume * pmt1_phys
G4LogicalVolume * interface1_log
G4LogicalVolume * solarPanel_log
G4LogicalVolume * pmt1_log1
G4VPhysicalVolume * dome1_phys
G4VPhysicalVolume * pmt2_phys
static double fInterfaceRzmax
static double fGroundThickness
G4MaterialPropertiesTable * linerOpticalMPT
static double fTankThickness
G4VPhysicalVolume * inner2_phys
G4LogicalBorderSurface * sidesurface
G4SubtractionSolid * interface_solid
static double fInterfaceRmin
Class to hold collection (x,y) points and provide interpolation between them.
G4MaterialPropertiesTable * interfaceMPT
void GetDataForThisTank(void)
G4MaterialPropertiesTable * pmtfaceMPT
G4VPhysicalVolume * tank_phys
static utl::TabulatedFunction fPmtdomeABSORPTION
G4LogicalVolume * ground_log
static utl::TabulatedFunction fInterfaceABSORPTION
G4SubtractionSolid * dome_solid
static double fDomeThickness
G4LogicalVolume * interface2_log
G4LogicalVolume * dome1_log
G4LogicalVolume * inner1_log
static double fTankRadius
static utl::TabulatedFunction fLinerSPECULARSPIKECONSTANT
static double fSolarPanelZ
static double fSolarPanelY
static utl::TabulatedFunction fLinerSPECULARLOBECONSTANT
G4VPhysicalVolume * interface2_phys
static double fFaceRadiusz
static double fElecBoxTiltAngle
static utl::TabulatedFunction fLinerREFLECTIVITY
static utl::TabulatedFunction fPmtfaceRINDEX
static double fElecBoxLength
G4VPhysicalVolume * pmt3_phys1
static double fElecBoxThickness
G4MaterialPropertiesTable * waterMPT
static double fSolarPanelTiltAngle
G4VPhysicalVolume * dome2_phys
G4Ellipsoid * inner_solid
G4LogicalBorderSurface * bottomsurface
static utl::TabulatedFunction fLinerBACKSCATTERCONSTANT
G4Ellipsoid * dome_out_aux
G4LogicalVolume * tank_log
void CreatePrimitives(void)
G4LogicalVolume * pmt2_log
G4VPhysicalVolume * ground_phys
void CreateInterface(void)
static double fInterfaceThickness
static utl::TabulatedFunction fInterfaceRINDEX
G4LogicalBorderSurface * topsurface
void SetXMLParameters(void)
void SetRequiredParameters(void)
static double fSolarPanelWidth
G4MaterialPropertiesTable * airMPT
static double fSolarPanelX
G4VPhysicalVolume * inner3_phys
G4LogicalVolume * inner3_log
G4VPhysicalVolume * pmt2_phys1
G4VPhysicalVolume * bottom_phys
G4VPhysicalVolume * side_phys
static utl::TabulatedFunction fWaterRINDEX
G4VPhysicalVolume * elecBox_phys
G4Ellipsoid * interface_out_aux
G4LogicalVolume * dome3_log
static utl::TabulatedFunction fPmtfaceABSORPTION
G4VPhysicalVolume * CreateTank(void)
G4LogicalVolume * pmt2_log1
G4LogicalVolume * pmt3_log
static double fSIGMA_ALPHA
void CreateMaterials(void)
static double fSolarPanelLength
G4LogicalVolume * elecBox_log
void SetDetectorParameters(void)
G4VPhysicalVolume * pmt3_phys
G4LogicalVolume * inner2_log
G4VPhysicalVolume * dome3_phys
G4LogicalVolume * dome2_log
static double fInterfaceRzmin
G4VPhysicalVolume * Construct(void)
G4LogicalVolume * interface3_log
static double fFaceRadius
G4LogicalVolume * inner_log
G4VPhysicalVolume * top_phys
static utl::TabulatedFunction fWaterABSORPTION
G4LogicalVolume * bottom_log
G4LogicalVolume * top_log
static double fTankHalfHeight
static utl::TabulatedFunction fLinerABSORPTION
G4LogicalVolume * pmt1_log
G4Ellipsoid * interface_in_aux
static double fInterfaceRmax
G4VPhysicalVolume * interface1_phys
G4MaterialPropertiesTable * pmtfaceMPT1
G4MaterialPropertiesTable * linerMPT
G4VPhysicalVolume * interface3_phys
G4VPhysicalVolume * pmt1_phys1
G4LogicalVolume * pmt3_log1
void CreateElements(void)
static double fFaceActiveRadius
G4VPhysicalVolume * inner1_phys
static double fElecBoxWidth
G4MaterialPropertiesTable * pmtdomeMPT
G4LogicalVolume * side_log