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

00001 #ifndef BDSMAGNETOUTERFACTORYNONE_H
00002 #define BDSMAGNETOUTERFACTORYNONE_H
00003 
00004 #include "BDSGeometryComponent.hh"
00005 #include "BDSMagnetOuterFactoryBase.hh"
00006 //#include "BDSBeamPipe.hh"
00007 
00008 #include "globals.hh"           // geant4 globals / types
00009 //#include "G4Material.hh"
00010 
00011 class BDSBeamPipe;
00012 class G4Material;
00013 
00014 class BDSMagnetOuterFactoryNone: public BDSMagnetOuterFactoryBase
00015 {
00016 public:
00017   static BDSMagnetOuterFactoryNone* Instance(); 
00018   
00019   ~BDSMagnetOuterFactoryNone();
00020   
00022   virtual BDSGeometryComponent* CreateSectorBend(G4String      name,                // name
00023                                                  G4double      length,              // length [mm]
00024                                                  BDSBeamPipe*  beamPipe,            // beampipe
00025                                                  G4double      boxSize,             // full width
00026                                                  G4double      angle,               // full bend angle [rad]
00027                                                  G4Material*   outerMaterial = NULL // material for outer volume
00028                                                  );
00029 
00031   virtual BDSGeometryComponent* CreateRectangularBend(G4String      name,                // name
00032                                                       G4double      length,              // length [mm]
00033                                                       BDSBeamPipe*  beamPipe,            // beampipe
00034                                                       G4double      boxSize,             // full width
00035                                                       G4double      angle,               // full bend angle [rad]
00036                                                       G4Material*   outerMaterial = NULL // material for outer volume
00037                                                       );
00038   
00040   virtual BDSGeometryComponent* CreateQuadrupole(G4String      name,                 // name
00041                                                  G4double      length,               // length [mm]
00042                                                  BDSBeamPipe*  beamPipe,             // beampipe
00043                                                  G4double      boxSize,              // full width
00044                                                  G4Material*   outerMaterial = NULL  // material for outer volume
00045                                                  );
00046 
00047 
00049   virtual BDSGeometryComponent* CreateSextupole(G4String      name,                 // name
00050                                                 G4double      length,               // length [mm]
00051                                                 BDSBeamPipe*  beamPipe,             // beampipe
00052                                                 G4double      boxSize,              // full width
00053                                                 G4Material*   outerMaterial = NULL  // material for outer volume
00054                                                 );
00055 
00057   virtual BDSGeometryComponent* CreateOctupole(G4String      name,                  // name
00058                                                G4double      length,                // length [mm]
00059                                                BDSBeamPipe*  beamPipe,              // beampipe
00060                                                G4double      boxSize,               // full width
00061                                                G4Material*   outerMaterial = NULL   // material for outer volume
00062                                                );
00063 
00065   virtual BDSGeometryComponent* CreateDecapole(G4String      name,                  // name
00066                                                G4double      length,                // length [mm]
00067                                                BDSBeamPipe*  beamPipe,              // beampipe
00068                                                G4double      boxSize,               // full width
00069                                                G4Material*   outerMaterial = NULL   // material for outer volume
00070                                                );
00071 
00073   virtual BDSGeometryComponent* CreateSolenoid(G4String      name,                  // name
00074                                                G4double      length,                // length [mm]
00075                                                BDSBeamPipe*  beamPipe,              // beampipe
00076                                                G4double      boxSize,               // full width
00077                                                G4Material*   outerMaterial = NULL   // material for outer volume
00078                                                );
00079 
00081   virtual BDSGeometryComponent* CreateMultipole(G4String      name,                 // name
00082                                                 G4double      length,               // length [mm]
00083                                                 BDSBeamPipe*  beamPipe,             // beampipe
00084                                                 G4double      boxSize,              // full width
00085                                                 G4Material*   outerMaterial = NULL  // material for outer volume
00086                                                 );
00087 
00089   virtual BDSGeometryComponent* CreateRfCavity(G4String      name,                  // name
00090                                                G4double      length,                // length [mm]
00091                                                BDSBeamPipe*  beamPipe,              // beampipe
00092                                                G4double      boxSize,               // full width
00093                                                G4Material*   outerMaterial = NULL   // material for outer volume
00094                                                );
00095 
00097   virtual BDSGeometryComponent* CreateMuSpoiler(G4String      name,                 // name
00098                                                 G4double      length,               // length [mm]
00099                                                 BDSBeamPipe*  beamPipe,             // beampipe
00100                                                 G4double      boxSize,              // full width
00101                                                 G4Material*   outerMaterial = NULL  // material for outer volume
00102                                                 );
00103 
00105   virtual BDSGeometryComponent* CreateKicker(G4String      name,                  // name
00106                                              G4double      length,                // length [mm]
00107                                              BDSBeamPipe*  beamPipe,              // beampipe
00108                                              G4double      boxSize,               // full width
00109                                              G4bool        vertical = true,       // is it a vertical kicker?
00110                                              G4Material*   outerMaterial = NULL   // material for outer volume
00111                                              );
00112 
00113 private:
00114   BDSMagnetOuterFactoryNone(); //private constructor as singleton
00115   static BDSMagnetOuterFactoryNone* _instance;
00116 };
00117 
00118 #endif

Generated on 28 Jun 2015 for BDSIM by  doxygen 1.4.7