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

00001 #ifndef BDSBunchEShell_h
00002 #define BDSBunchEShell_h 
00003 
00004 #include "BDSBunchInterface.hh"
00005 #include "Randomize.hh"
00006 
00007 namespace CLHEP {
00008   class RandFlat;
00009 }
00010 
00011 class BDSBunchEShell : public BDSBunchInterface { 
00012 
00013 protected : 
00014   G4double shellX;
00015   G4double shellXp;
00016   G4double shellY; 
00017   G4double shellYp;
00018   G4double shellXWidth;
00019   G4double shellXpWidth;
00020   G4double shellYWidth;
00021   G4double shellYpWidth;
00022 
00023   CLHEP::RandFlat  *FlatGen;    
00024 
00025 public: 
00026   BDSBunchEShell();  
00027   BDSBunchEShell(G4double shellX,  G4double shellXp,
00028                  G4double shellY,  G4double shellYp,
00029                  G4double shellXWidthIn, G4double shellXpWidthIn,
00030                  G4double shellYWidthIn, G4double shellYpWidthIn,
00031                  G4double X0,      G4double Y0,      G4double Z0,   G4double T0, 
00032                  G4double Xp0,     G4double Yp0,     G4double Zp0,
00033                  G4double sigmaT,  G4double sigmaE);
00034   ~BDSBunchEShell(); 
00035   void SetOptions(struct Options& opt);
00036   void GetNextParticle(G4double& x0, G4double& y0, G4double& z0, 
00037                        G4double& xp, G4double& yp, G4double& zp,
00038                        G4double& t , G4double&  E, G4double& weight);
00039 
00040   G4double GetShellX()       {return shellX;      }
00041   G4double GetShellXp()      {return shellXp;     }
00042   G4double GetShellY()       {return shellY;      }
00043   G4double GetShellYp()      {return shellYp;     }
00044   G4double GetShellXWidth()  {return shellXWidth; }
00045   G4double GetShellXpWidth() {return shellXpWidth;}
00046   G4double GetShellYWidth()  {return shellYWidth; }
00047   G4double GetShellYpWidth() {return shellYpWidth;}
00048 
00049 protected:
00050   void SetShellX (G4double shellXIn)            {shellX       = shellXIn;      }
00051   void SetShellXp(G4double shellXpIn)           {shellXp      = shellXpIn;     }
00052   void SetShellY (G4double shellYIn)            {shellY       = shellYIn;      }
00053   void SetShellYp(G4double shellYpIn)           {shellYp      = shellYpIn;     }
00054   void SetShellXWidth (G4double shellXWidthIn)  {shellXWidth  = shellXWidthIn; }
00055   void SetShellXpWidth(G4double shellXpWidthIn) {shellXpWidth = shellXpWidthIn;}
00056   void SetShellYWidth (G4double shellYWidthIn)  {shellYWidth  = shellYWidthIn; }
00057   void SetShellYpWidth(G4double shellYpWidthIn) {shellYpWidth = shellYpWidthIn;}
00058 };
00059 
00060 #endif

Generated on 28 Jun 2015 for BDSIM by  doxygen 1.4.7