00001 #ifndef Pyquen_Source_h 00002 #define Pyquen_Source_h 00003 00013 #define PYCOMP pycomp_ 00014 00015 #include "FWCore/Framework/interface/GeneratedInputSource.h" 00016 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00017 #include <map> 00018 #include <string> 00019 #include "HepMC/GenEvent.h" 00020 00021 namespace edm 00022 { 00023 class PyquenSource : public GeneratedInputSource { 00024 public: 00025 00027 PyquenSource(const ParameterSet &, const InputSourceDescription &); 00029 virtual ~PyquenSource(); 00030 00031 private: 00032 void add_heavy_ion_rec(HepMC::GenEvent *evt); 00033 bool call_pygive(const std::string& iParm ); 00034 void clear(); 00035 virtual bool produce(Event & e); 00036 bool pyqpythia_init(const ParameterSet &pset); 00037 bool pyquen_init(const ParameterSet &pset); 00038 00039 HepMC::GenEvent *evt; 00040 double abeamtarget_; 00041 unsigned int angularspecselector_; 00042 00043 00044 00045 double bfixed_; 00046 int cflag_; 00047 double comenergy; 00048 bool doquench_; 00049 bool doradiativeenloss_; 00050 bool docollisionalenloss_; 00051 unsigned int nquarkflavor_; 00052 00053 double qgpt0_; 00054 00055 double qgptau0_; 00056 00057 unsigned int maxEventsToPrint_; 00058 bool pythiaHepMCVerbosity_; 00059 unsigned int pythiaPylistVerbosity_; 00060 }; 00061 } /*end namespace*/ 00062 00063 #endif