00001 #ifndef PTYDISTRIBUTOR_H 00002 #define PTYDISTRIBUTOR_H 00003 00004 #include <fstream> 00005 #include <iostream> 00006 #include <sstream> 00007 00008 #include "CLHEP/Random/JamesRandom.h" 00009 #include "CLHEP/Random/RandGeneral.h" 00010 00011 namespace edm 00012 { 00013 class PtYDistributor { 00014 public: 00015 PtYDistributor() {}; 00016 PtYDistributor(std::string inputfile, CLHEP::HepRandomEngine& fRandomEngine, double ptmax, double ptmin, double ymax, double ymin, int ptbins, int ybins); 00017 virtual ~PtYDistributor() {}; 00018 00019 double fireY(); 00020 double firePt(); 00021 double fireY(double ymin, double ymax); 00022 double firePt(double ptmin, double ptmax); 00023 00024 private: 00025 double ptmax_; 00026 double ptmin_; 00027 double ymax_; 00028 double ymin_; 00029 00030 int ptbins_; 00031 int ybins_; 00032 00033 std::string file; 00034 00035 RandGeneral* fYGenerator; 00036 RandGeneral* fPtGenerator; 00037 00038 }; 00039 } 00040 00041 #endif 00042