/scratch0/jsnuveri/BDSIM/BDSIMgit/bdsim/include/BDSBeamPipeType.hh

00001 #ifndef BDSBEAMPIPETYPE_H
00002 #define BDSBEAMPIPETYPE_H
00003 
00004 #include "BDSTypeSafeEnum.hh"
00005 #include "globals.hh"         // geant4 globals / types
00006 
00014 struct beampipetypes_def {
00015   enum type { circular, rectangular, elliptical, lhc, lhcdetailed, rectellipse};
00016 };
00017 
00018 typedef BDSTypeSafeEnum<beampipetypes_def,int> BDSBeamPipeType;
00019 
00020 namespace BDS {
00022   BDSBeamPipeType DetermineBeamPipeType(G4String apertureType);
00023 
00026   void CheckApertureInfo(BDSBeamPipeType beamPipeTypeIn, G4double& beamPipeRadius,
00027                          G4double& aper1, G4double& aper2, G4double& aper3, G4double& aper4);
00028 
00030   void InfoOKForCircular(G4double& beamPipeRadius, G4double& aper1, G4double& aper2, G4double& aper3, G4double& aper4);
00031 
00033   void InfoOKForElliptical(G4double& beamPipeRadius, G4double& aper1, G4double& aper2, G4double& aper3, G4double& aper4);
00034 
00036   void InfoOKForRectangular(G4double& beamPipeRadius, G4double& aper1, G4double& aper2, G4double& aper3, G4double& aper4);
00037 
00039   void InfoOKForLHC(G4double& beamPipeRadius, G4double& aper1, G4double& aper2, G4double& aper3, G4double& aper4);
00040 
00042   void InfoOKForLHCDetailed(G4double& beamPipeRadius, G4double& aper1, G4double& aper2, G4double& aper3, G4double& aper4);
00043 
00045   void InfoOKForRectEllipse(G4double& beamPipeRadius, G4double& aper1, G4double& aper2, G4double& aper3, G4double& aper4);
00046 }
00047 
00048 #endif

Generated on 28 Jun 2015 for BDSIM by  doxygen 1.4.7