00001
00002
00003
00004
00005
00006
00007 #ifndef BDSSpoiler_h
00008 #define BDSSpoiler_h 1
00009
00010 #include"globals.hh"
00011 #include"BDSAcceleratorComponent.hh"
00012 #include "BDSMaterials.hh"
00013 #include "G4LogicalVolume.hh"
00014
00015 #include "G4UserLimits.hh"
00016 #include "G4VisAttributes.hh"
00017 #include "G4Box.hh"
00018 #include "BDSEnergyCounterSD.hh"
00019
00020 class BDSSpoiler :public BDSAcceleratorComponent
00021 {
00022 public:
00023 BDSSpoiler(G4String& aName, G4double aLength,G4double bpRad,
00024 G4double xAper, G4double yAper,G4Material* SpoilerMaterial);
00025 ~BDSSpoiler();
00026
00027 protected:
00028
00029 private:
00030 void BuildInnerSpoiler();
00031 G4VisAttributes* SetVisAttributes();
00032
00033
00034
00035 G4VPhysicalVolume* itsPhysiComp;
00036 G4VPhysicalVolume* itsPhysiComp2;
00037 G4LogicalVolume* itsSolidLogVol;
00038 G4LogicalVolume* itsInnerLogVol;
00039
00040 G4UserLimits* itsUserLimits;
00041 G4VisAttributes* itsVisAttributes;
00042 G4Mag_UsualEqRhs* itsEqRhs;
00043
00044 private:
00045 G4Material* itsSpoilerMaterial;
00046 BDSEnergyCounterSD* itsEnergyCounterSD;
00047 };
00048
00049 #endif