include/BDSMuSpoiler.hh

00001 /* BDSIM code.    Version 1.0
00002    Author: Grahame A. Blair, Royal Holloway, Univ. of London.
00003    Last modified 12.12.2004
00004    Copyright (c) 2004 by G.A.Blair.  ALL RIGHTS RESERVED. 
00005 */
00006 
00007 #ifndef BDSMuSpoiler_h
00008 #define BDSMuSpoiler_h 1
00009 
00010 #include "globals.hh"
00011 #include "BDSAcceleratorComponent.hh"
00012 #include "G4Mag_UsualEqRhs.hh"
00013 #include "BDSMaterials.hh"
00014 #include "G4LogicalVolume.hh"
00015 
00016 #include "G4UserLimits.hh"
00017 #include "G4VisAttributes.hh"
00018 
00019 #include "G4Box.hh"
00020 //#include "BDSEnergyCounterSD.hh"
00021 #include "BDSMuSpoilerMagField.hh"
00022 #include "G4FieldManager.hh"
00023 
00024 class BDSMuSpoiler :public BDSAcceleratorComponent
00025 {
00026 public:
00027   BDSMuSpoiler(G4String& aName, G4double aLength,G4double bpRad, 
00028                G4double rInner, G4double rOuter,G4double BField, 
00029                std::list<G4double> blmLocZ, std::list<G4double> blmLocTheta,
00030                G4String aTunnelMaterial="");
00031 
00032 
00033   ~BDSMuSpoiler();
00034 
00035 protected:
00036 
00037 private:
00038   G4VisAttributes* SetVisAttributes();
00039   G4VisAttributes* SetBPVisAttributes();
00040 
00041   // Geometrical objects:
00042 
00043   void BuildMuSpoiler();
00044   void BuildMuSpoilerTunnel();
00045   void BuildBLMs();
00046 
00047   G4VPhysicalVolume* itsPhysiComp;
00048   G4VPhysicalVolume* itsPhysiCompSoil;
00049   G4VPhysicalVolume* itsPhysiComp2;
00050   G4VPhysicalVolume* itsPhysiInnerBP;
00051   G4VPhysicalVolume* itsPhysiBP;
00052   G4LogicalVolume* itsSolidLogVol;
00053   G4LogicalVolume* itsInnerLogVol;
00054   G4LogicalVolume* itsBeampipeLogicalVolume;
00055   G4LogicalVolume* itsInnerBPLogicalVolume;
00056   G4Tubs* itsBPTube;
00057   G4Tubs* itsInnerBPTube;
00058    
00059   G4Tubs* itsSoilTube;
00060   G4Tubs* itsTunnelTube;
00061   G4Tubs* itsInnerTunnelTube;
00062 
00063   G4LogicalVolume* itsInnerTunnelLogicalVolume;
00064   G4LogicalVolume* itsSoilTunnelLogicalVolume;
00065   G4UserLimits* itsTunnelUserLimits;
00066   G4UserLimits* itsSoilTunnelUserLimits;
00067   G4UserLimits* itsInnerTunnelUserLimits;
00068                  
00069   G4VisAttributes* itsVisAttributes;
00070   G4VisAttributes* itsBPVisAttributes;
00071   G4Mag_UsualEqRhs* itsEqRhs;
00072 
00073 private:
00074   //  BDSEnergyCounterSD* itsEnergyCounterSD;
00075   G4double itsBeampipeRadius;
00076   G4double itsInnerRadius;
00077   G4double itsOuterRadius;
00078   G4double itsBField;
00079 
00080   BDSMuSpoilerMagField* itsMagField;
00081   G4FieldManager* itsFieldMgr;
00082 };
00083 
00084 #endif

Generated on 27 Aug 2013 for BDSIM by  doxygen 1.4.7