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