00001 #ifndef BDSBunch_h 00002 #define BDSBunch_h 00003 00004 #include <string> 00005 #include "BDSBunchInterface.hh" 00006 00007 #include "globals.hh" 00008 #include "parser/options.h" 00009 00018 // can become a singleton? - JS 00019 00020 class BDSBunch { 00021 00022 protected: 00024 std::string distribType; 00026 BDSBunchInterface *bdsBunch; 00027 00028 public: 00029 BDSBunch(); 00030 ~BDSBunch(); 00031 void SetOptions(struct Options& opt); 00032 void GetNextParticle(G4double& x0, G4double& y0, G4double& z0, 00033 G4double& xp, G4double& yp, G4double& zp, 00034 G4double& t , G4double& E, G4double& weight); 00035 00036 std::string GetDistributionType() {return distribType;} 00037 BDSBunchInterface* GetBDSBunchInterface() {return bdsBunch;} 00038 }; 00039 00040 #endif