Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:04:53

0001 #ifndef gen_PTYDISTRIBUTOR_H
0002 #define gen_PTYDISTRIBUTOR_H
0003 
0004 namespace edm {
0005   class FileInPath;
0006 }
0007 
0008 namespace CLHEP {
0009   class RandGeneral;
0010   class HepRandomEngine;
0011 }  // namespace CLHEP
0012 
0013 namespace gen {
0014   class PtYDistributor {
0015   public:
0016     PtYDistributor(){};
0017     //PtYDistributor(std::string inputfile, CLHEP::HepRandomEngine& fRandomEngine, double ptmax, double ptmin, double ymax, double ymin, int ptbins, int ybins);
0018     PtYDistributor(
0019         const edm::FileInPath& fip, double ptmax, double ptmin, double ymax, double ymin, int ptbins, int ybins);
0020     virtual ~PtYDistributor(){};
0021 
0022     double fireY(CLHEP::HepRandomEngine*);
0023     double firePt(CLHEP::HepRandomEngine*);
0024     double fireY(double ymin, double ymax, CLHEP::HepRandomEngine*);
0025     double firePt(double ptmin, double ptmax, CLHEP::HepRandomEngine*);
0026 
0027   private:
0028     double ptmax_;
0029     double ptmin_;
0030     double ymax_;
0031     double ymin_;
0032 
0033     int ptbins_;
0034     int ybins_;
0035 
0036     CLHEP::RandGeneral* fYGenerator;
0037     CLHEP::RandGeneral* fPtGenerator;
0038   };
0039 }  // namespace gen
0040 #endif