include/BDSCollimator.hh

00001 /* BDSIM code.    Version 1.0
00002   
00003 */
00004 
00005 #ifndef BDSCollimator_h
00006 #define BDSCollimator_h 
00007 
00008 #include "globals.hh"
00009 #include "BDSAcceleratorComponent.hh"
00010 #include "BDSMaterials.hh"
00011 #include "G4LogicalVolume.hh"
00012 #include "G4Mag_UsualEqRhs.hh"
00013 
00014 #include "G4UserLimits.hh"
00015 #include "G4VisAttributes.hh"
00016 #include "G4Box.hh"
00017 #include "G4EllipticalTube.hh"
00018 #include "G4VSolid.hh"
00019 #include "G4SubtractionSolid.hh"
00020 
00021 class BDSCollimator :public BDSAcceleratorComponent
00022 {
00023 public:
00024   BDSCollimator(G4String aName, G4double aLength,G4double bpRad, 
00025                 G4double xAper, G4double yAper,G4int type,G4Material *collimatorMaterial, G4double outR, 
00026                 std::list<G4double> blmLocZ, std::list<G4double> blmLocTheta,
00027 G4String aTunnelMaterial="");
00028   ~BDSCollimator();
00029 
00030 protected:
00031 
00032 private:
00033   void BuildBLMs();
00034   void BuildInnerCollimator();
00035   void BuildCollimatorTunnel();
00036   G4VisAttributes* SetVisAttributes();
00037 
00038   // Geometrical objects:
00039 
00040   G4VPhysicalVolume* itsPhysiComp;
00041   G4VPhysicalVolume* itsPhysiComp2;
00042   G4LogicalVolume* itsSolidLogVol;
00043   G4LogicalVolume* itsTempSolidLogVol;
00044   G4LogicalVolume* itsInnerLogVol;
00045 
00046   G4VSolid* itsInnerSolid;
00047   G4VSolid* itsOuterSolid;
00048   G4SubtractionSolid* itsSolid;
00049 
00050 
00051   G4Tubs* itsSoilTube;
00052   G4Tubs* itsTunnelTube;
00053   G4Tubs* itsInnerTunnelTube;
00054   G4LogicalVolume* itsInnerTunnelLogicalVolume;
00055   G4LogicalVolume* itsSoilTunnelLogicalVolume;
00056   G4UserLimits* itsTunnelUserLimits;
00057   G4UserLimits* itsSoilTunnelUserLimits;
00058   G4UserLimits* itsInnerTunnelUserLimits;
00059                     
00060   G4VisAttributes* itsVisAttributes;
00061   G4Mag_UsualEqRhs* itsEqRhs;
00062 
00063 private:
00064   G4Material* itsCollimatorMaterial;
00065   //BDSEnergyCounterSD* itsEnergyCounterSD;
00066   G4double itsOuterR;
00067 };
00068 
00069 #endif

Generated on 27 Aug 2013 for BDSIM by  doxygen 1.4.7