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

00001 #ifndef BDSBunchSquare_h
00002 #define BDSBunchSquare_h 
00003 
00004 #include "BDSBunchInterface.hh"
00005 #include "Randomize.hh"
00006 
00007 namespace CLHEP {
00008   class RandFlat;
00009 }
00010 
00011 class BDSBunchSquare : public BDSBunchInterface { 
00012 protected : 
00013   G4double envelopeX; 
00014   G4double envelopeY;
00015   G4double envelopeXp; 
00016   G4double envelopeYp; 
00017   G4double envelopeT;
00018   G4double envelopeE; 
00019   
00020   CLHEP::RandFlat  *FlatGen;    
00021 
00022 public: 
00023   BDSBunchSquare(); 
00024   BDSBunchSquare(G4double envelopeX , G4double envelopeY,
00025                  G4double envelopeXp, G4double envelopeYp,
00026                  G4double envelopeT , G4double envelopeE,
00027                  G4double X0,         G4double Y0,         G4double Z0,   G4double T0, 
00028                  G4double Xp0,        G4double Yp0,        G4double Zp0);
00029   ~BDSBunchSquare(); 
00030   void SetOptions(struct Options& opt);
00031   void GetNextParticle(G4double& x0, G4double& y0, G4double& z0, 
00032                        G4double& xp, G4double& yp, G4double& zp,
00033                        G4double& t , G4double&  E, G4double& weight);  
00034   
00035   G4double GetEnvelopeX() {return envelopeX;}
00036   G4double GetEnvelopeY() {return envelopeY;}
00037   G4double GetEnvelopeXp(){return envelopeXp;}
00038   G4double GetEnvelopeYp(){return envelopeYp;}
00039   G4double GetEnvelopeT() {return envelopeT;}
00040   G4double GetEnvelopeE() {return envelopeE;}
00041 protected:
00042   void SetEnvelopeX(G4double envelopeXIn)  {envelopeX = envelopeXIn;}
00043   void SetEnvelopeY(G4double envelopeYIn)  {envelopeY = envelopeYIn;}
00044   void SetEnvelopeXp(G4double envelopeXpIn){envelopeXp= envelopeXpIn;}
00045   void SetEnvelopeYp(G4double envelopeYpIn){envelopeYp= envelopeYpIn;}
00046   void SetEnvelopeT(G4double envelopeTIn)  {envelopeT = envelopeTIn;}
00047   void SetEnvelopeE(G4double envelopeEIn)  {envelopeE = envelopeEIn;}
00048 
00049 
00050 
00051 };
00052 
00053 #endif

Generated on 28 Jun 2015 for BDSIM by  doxygen 1.4.7