/** * @file Phase1ElectronicBox.hh * @author: Valentin Pestel * @author: Ibrahin Pinera (modified by) * @date 2017 SoLid - LPC Caen - UAntwerpen */ #ifndef PHASE1ELECTRONICBOX_HH #define PHASE1ELECTRONICBOX_HH // Standard library : // Third part : // - Geant4 : #include "G4LogicalVolume.hh" #include "G4VisAttributes.hh" #include "G4SubtractionSolid.hh" class Phase1ElectronicBox { public : Phase1ElectronicBox(G4int); G4LogicalVolume * ConstructElectronicBox(); G4double GetFullLength(){ return m_EBFullLength; }; G4LogicalVolume * AlExtrusion(double x_, double y1_, double y2_, double z_, double e_, std::string name_); G4SubtractionSolid * AlRawExtrusion(double x_, double y1_, double y2_, double z_, double e_, std::string name_); private : G4Material * mate; G4int m_verboseLevel; G4double m_EBFullLength; G4double m_EBFullHeight; G4double m_EBFullWidth; G4double m_boxWidth; G4double m_boxHeight; G4double m_boxLength; G4double m_boxOffSetY; G4double m_coverLength; G4double m_coverHeight; G4double m_coverThickness; G4double m_sideLength; G4double m_sideThickness; G4double m_supportWidth; G4double m_supportHeight; G4double m_supportThickness; std::string AlMaterial; G4VisAttributes * vatAl; }; #endif //PHASE1ELECTRONICBOX_HH