/** * @file Phase1Container.hh * @author Ibrahin Pinera * @date 2016 SoLid - University of Antwerp */ #ifndef Phase1Container_h #define Phase1Container_h #include "G4LogicalVolume.hh" #include "G4MaterialPropertiesTable.hh" #include "G4VSolid.hh" class SolidMaterials; class Phase1ContainerISOFrame; class Phase1Container { public: Phase1Container(G4int); ~Phase1Container(); public: G4LogicalVolume *ContainerConstruction(); G4double GetFullLength(){return m_totalLength;}; G4double GetFullHeight(){return m_totalHeight;}; G4double GetFullWidth(){return m_totalWidth;}; G4double GetInnerLength(){return m_innerLength;}; G4double GetInnerHeight(){return m_innerHeight;}; G4double GetInnerWidth(){return m_innerWidth;}; G4double GetOffSetX(){return m_containerOffSetX;}; G4double GetOffSetY(){return m_containerOffSetY;}; G4double GetOffSetZ(){return m_containerOffSetZ;}; private: G4int m_verboseLevel; G4LogicalVolume * logContainer; Phase1ContainerISOFrame * containerISOFrame; G4LogicalVolume * logContainerISOFrame; G4VPhysicalVolume * physContainerISOFrame; G4LogicalVolume * logContainerFoot; G4VPhysicalVolume * physContainerFoot; G4LogicalVolume * logContainerInsulation; G4VPhysicalVolume * physContainerInsulation; G4LogicalVolume * logContainerInsulationAlcover; G4VPhysicalVolume * physContainerInsulationAlcover; G4LogicalVolume * logContainerAlFoil; G4VPhysicalVolume * physContainerAlFoil; G4LogicalVolume * logContainerTopPanel; G4VPhysicalVolume * physContainerTopPanel; G4LogicalVolume * logContainerBottomPanel; G4VPhysicalVolume * physContainerBottomPanel; G4LogicalVolume * logShieldingBottomPlane; G4VPhysicalVolume * physShieldingBottomPlane; G4LogicalVolume * logShieldingBottomCd; G4VPhysicalVolume * physShieldingBottomCd; G4LogicalVolume * logShieldingTopCd; G4VPhysicalVolume * physShieldingTopCd; G4LogicalVolume * logShieldingBackCd; G4VPhysicalVolume * physShieldingBackCd; G4double m_outerLength; G4double m_outerHeight; G4double m_outerWidth; G4double m_innerLength; G4double m_innerHeight; G4double m_innerWidth; G4double m_totalLength; G4double m_totalHeight; G4double m_totalWidth; G4double m_frameInnerLength; G4double m_frameInnerHeight; G4double m_frameInnerWidth; G4double m_innerOffSetX; G4double m_innerOffSetY; G4double m_innerOffSetZ; G4double m_OffSetX; G4double m_OffSetY; G4double m_OffSetZ; G4double m_containerOffSetX; G4double m_containerOffSetY; G4double m_containerOffSetZ; G4double m_footTubeHeight; G4double m_footTubeDiam; G4double m_footBaseLength; G4double m_footBaseWidth; G4double m_footBaseThickness; G4double m_insulationThickness; G4double m_insulationAlcoverThickness; G4double m_AlFoilFloorThickness; G4double m_AlFoilWallsRoofThickness; G4double m_topPatchPanelLength; G4double m_topPatchPanelHeight; G4double m_topPatchPanelWidth; G4double m_bottomPatchPanelLength; G4double m_bottomPatchPanelHeight; G4double m_bottomPatchPanelWidth; // PE plate below the container for shielding G4double m_shieldingBottomPlaneLength; G4double m_shieldingBottomPlaneHeight; G4double m_shieldingBottomPlaneWidth; // Cd sheets below the container for shielding G4double m_CdThickness; G4double m_CdBottomLength; G4double m_CdBottomHeight; G4double m_CdBottomWidth; // Cd sheets on top of the container for shielding G4double m_CdTopLength; G4double m_CdTopHeight; G4double m_CdTopWidth; // Cd sheets on the back (-Z) of the container for shielding G4double m_CdBackLength; G4double m_CdBackHeight; G4double m_CdBackWidth; }; #endif