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

00001 #ifndef BDSBunchCircle_h
00002 #define BDSBunchCircle_h 
00003 
00004 #include "BDSBunchInterface.hh"
00005 #include "Randomize.hh"
00006 
00007 namespace CLHEP {
00008   class RandFlat;
00009 }
00010 
00011 class BDSBunchCircle : public BDSBunchInterface { 
00012 protected : 
00013   G4double envelopeR; 
00014   G4double envelopeRp; 
00015   G4double envelopeT;
00016   G4double envelopeE; 
00017   
00018   CLHEP::RandFlat  *FlatGen;    
00019 
00020 public: 
00021   BDSBunchCircle(); 
00022   BDSBunchCircle(G4double envelopeR , G4double envelopeRp,
00023                  G4double envelopeT , G4double envelopeE,
00024                  G4double X0        , G4double Y0,    G4double Z0,   G4double T0, 
00025                  G4double Xp0       , G4double Yp0,   G4double Zp0);
00026   ~BDSBunchCircle(); 
00027   void SetOptions(struct Options& opt);
00028   void GetNextParticle(G4double& x0, G4double& y0, G4double& z0, 
00029                        G4double& xp, G4double& yp, G4double& zp,
00030                        G4double& t , G4double&  E, G4double& weight);  
00031   
00032   G4double GetEnvelopeR() {return envelopeR;}
00033   G4double GetEnvelopeRp(){return envelopeRp;}
00034   G4double GetEnvelopeT() {return envelopeT;}
00035   G4double GetEnvelopeE() {return envelopeE;}
00036 
00037 protected:
00038   void SetEnvelopeR(G4double envelopeRIn)  {envelopeR = envelopeRIn;}
00039   void SetEnvelopeRp(G4double envelopeRpIn) {envelopeRp= envelopeRpIn;}
00040   void SetEnvelopeT(G4double envelopeTIn)  {envelopeT = envelopeTIn;}
00041   void SetEnvelopeE(G4double envelopeEIn)  {envelopeE = envelopeEIn;}
00042 
00043 
00044 
00045 };
00046 
00047 #endif

Generated on 28 Jun 2015 for BDSIM by  doxygen 1.4.7