00001 #ifndef AGILE_RAPGAP_HH 00002 #define AGILE_RAPGAP_HH 00003 00004 #include "AGILe/Generator.hh" 00005 #include "HepMC/IO_HEPEVT.h" 00006 00007 namespace AGILe { 00008 00009 00013 class Rapgap : public Generator { 00014 public: 00016 Rapgap(); 00017 00019 virtual ~Rapgap() { } 00020 00022 void setGenSpecificInitialState(PdgCode p1 = PROTON, double e1 = 6000.0, 00023 PdgCode p2 = PROTON, double e2 = 7000.0); 00024 00026 using Generator::setParam; 00027 00029 virtual bool setParam(const string& name, const string& value); 00030 00032 virtual const string getName() const{ 00033 return "Rapgap"; 00034 } 00035 00037 void makeEvent(HepMC::GenEvent& evt); 00038 00039 00041 //virtual void setSeed(const int value) { 00042 //setParam("ISEED", value); 00043 //} 00044 00045 00046 //string getPDFSet(PdgCode pid); 00047 //int getPDFMember(PdgCode pid); 00048 //string getPDFScheme(PdgCode pid)const; 00049 00051 virtual const double getCrossSection(); 00052 00053 //virtual const string getVersion(); 00054 00056 void finalize(); 00057 00058 protected: 00060 void initialize(); 00061 00063 void fillEvent(HepMC::GenEvent& evt); 00064 00066 string _particleName1, _particleName2; 00067 double _e1, _e2; 00068 00070 int _nevt; 00071 00073 HepMC::IO_HEPEVT _hepevt; 00074 }; 00075 00076 00077 } 00078 00079 #endif