00001 /* BDSIM code. Version 1.0 00002 Author: Grahame A. Blair, Royal Holloway, Univ. of London. 00003 Last modified 24.7.2002 00004 Copyright (c) 2002 by G.A.Blair. ALL RIGHTS RESERVED. 00005 */ 00006 00007 #ifndef BDSSPOILER_H 00008 #define BDSSPOILER_H 00009 00010 #include "BDSAcceleratorComponent.hh" 00011 #include "BDSTiltOffset.hh" 00012 00013 #include "globals.hh" // geant4 types / globals 00014 #include "G4LogicalVolume.hh" 00015 00016 class G4Material; 00017 class G4VPhysicalVolume; 00018 00019 class BDSSpoiler :public BDSAcceleratorComponent 00020 { 00021 public: 00022 BDSSpoiler(G4String name, 00023 G4double length, 00024 G4double xAper, 00025 G4double yAper, 00026 G4Material* SpoilerMaterial, 00027 BDSTiltOffset tiltOffset = BDSTiltOffset()); 00028 ~BDSSpoiler(); 00029 00030 protected: 00031 00032 private: 00033 00034 virtual void Build(); 00035 virtual void BuildMarkerLogicalVolume(); 00036 void BuildInnerSpoiler(); 00037 virtual void SetVisAttributes(); 00038 00039 // Geometrical objects: 00040 00041 G4VPhysicalVolume* itsPhysiComp; 00042 G4VPhysicalVolume* itsPhysiComp2; 00043 G4LogicalVolume* itsSolidLogVol; 00044 G4LogicalVolume* itsInnerLogVol; 00045 00046 private: 00047 G4Material* itsSpoilerMaterial; 00048 00049 G4double xAper; 00050 G4double yAper; 00051 }; 00052 00053 #endif