/** * @file Phase1AlFrame.hh * @author Ibrahin Pinera * @date 2016 SoLid - University of Antwerp */ #ifndef Phase1AlFrame_h #define Phase1AlFrame_h #include "G4LogicalVolume.hh" #include "G4MaterialPropertiesTable.hh" #include "Phase1PEReflector.hh" class SolidMaterials; class Phase1AlFrame { public: Phase1AlFrame(G4int, G4int, G4int, G4double, G4double, G4double, G4double); ~Phase1AlFrame(); public: G4LogicalVolume *AlFrameConstruction(G4double, G4double); G4double GetOffSetX(){return m_frameInnerOffSetX;}; G4double GetOffSetY(){return 0.;}; G4double GetWidth(){return m_frameWidth;}; G4double GetFullLength(){return m_frameFullLength;}; G4double GetFullHeight(){return m_frameFullHeight;}; G4double GetExternalLength(){return m_frameExternalLength;}; G4double GetExternalHeight(){return m_frameExternalHeight;}; G4double GetInternalLength(){return m_frameInternalLength;}; G4double GetInternalHeight(){return m_frameInternalHeight;}; G4double GetHolesOffSetZ1(){return m_holesOffsetZ1;}; G4double GetHolesOffSetZ2(){return m_holesOffsetZ2;}; private: G4LogicalVolume * logAlFrame; G4LogicalVolume * logFrameAlBars; G4VPhysicalVolume * physFrameAlBars; G4LogicalVolume * logFrameAlCovers; G4VPhysicalVolume * physFrameAlCovers; G4int m_verboseLevel; G4double m_frameFullLength; G4double m_frameFullHeight; G4double m_frameInternalLength; G4double m_frameInternalHeight; G4double m_frameExternalLength; G4double m_frameExternalHeight; G4double m_frameWidth; G4double m_frameThickness; G4double m_frameInnerOffSetX; G4double m_fibersGapX; G4double m_fibersGapY; G4int m_nHolesX; G4int m_nHolesY; G4double m_holesDiam; G4double m_holesOffsetZ1; G4double m_holesOffsetZ2; G4double m_holesSeparationX; G4double m_holesSeparationY; G4double m_holesOffsetY; G4double m_holesOffsetX; G4double m_frameExtGrooveLength; G4double m_frameExtGrooveWidth; G4double m_frameExtGrooveSeparation; G4double m_frameExtGrooveCoverWidth; G4double m_frameExtGrooveCoverLength; G4double m_frameExtGrooveCoverThickness; }; #endif