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 }
0012
0013 namespace gen {
0014 class PtYDistributor {
0015 public:
0016 PtYDistributor(){};
0017
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 }
0040 #endif