/** * @file Phase1PlanesModule.hh * @author Ibrahin Pinera * @date 2017 SoLid - University of Antwerp */ #ifndef Phase1PlanesModule_h #define Phase1PlanesModule_h #include "Phase1Plane.hh" #include "G4LogicalVolume.hh" #include "G4MaterialPropertiesTable.hh" class SolidMaterials; class Phase1PlanesModule { public: Phase1PlanesModule(G4int, G4int, G4double, Phase1Plane * planeConstruction); ~Phase1PlanesModule(); public: G4LogicalVolume * PlanesModuleConstruction(); G4double GetFullLength(){return m_moduleFullLength;}; G4double GetFullHeight(){return m_moduleFullHeight;}; G4double GetFullWidth(){return m_moduleFullWidth;}; G4double GetOffSetX(){return m_moduleOffSetX;}; G4double GetOffSetY(){return m_moduleOffSetY;}; G4double GetSupportLength(){return m_supportFullLength;}; G4double GetSupportPostWidth(){return m_postWidth;}; G4double GetSupportFoot(){return m_foot1Height - m_foot2Height;}; G4double GetSupportOffSetX(){return m_moduleOffSetX + 0.5*(m_moduleFullLength - m_supportFullLength - m_postWidth);}; private: G4LogicalVolume * logPlanesModule; G4double m_moduleFullLength; G4double m_moduleFullHeight; G4double m_moduleFullWidth; G4double m_gapZ; G4int m_nPlanesPerModule; G4double m_moduleOffSetX; G4double m_moduleOffSetY; G4VPhysicalVolume * physPlane; G4LogicalVolume * logPlane; G4int m_verboseLevel; G4double m_planeFullLength; G4double m_planeFullHeight; G4double m_planeFullWidth; G4VPhysicalVolume * physModuleSupport; G4LogicalVolume * logModuleSupport; G4double m_postWidth; G4double m_horPostWidth; G4double m_verPostLength; G4double m_horPostLength; G4double m_topPostLength; G4double m_footLength; G4double m_footWidth; G4double m_foot1TopHeight; G4double m_foot1BottomHeight; G4double m_foot1Height; G4double m_foot2Height; G4double m_supportFullLength; G4double m_supportFullHeight; G4double m_supportFullWidth; G4LogicalVolume* SupportConstruction(); G4LogicalVolume* SupportFoot1Construction(); G4LogicalVolume* SupportFoot2Construction(); }; #endif