00001 #ifndef ExpoRandomPtGunSource_H 00002 #define ExpoRandomPtGunSource_H 00003 00010 #include "IOMC/ParticleGuns/interface/BaseFlatGunSource.h" 00011 #include "CLHEP/Random/RandExponential.h" 00012 namespace edm 00013 { 00014 00015 class ExpoRandomPtGunSource : public BaseFlatGunSource 00016 { 00017 00018 public: 00019 ExpoRandomPtGunSource(const ParameterSet &, const InputSourceDescription& ); 00020 virtual ~ExpoRandomPtGunSource(); 00021 00022 private: 00023 00024 virtual bool produce(Event & e); 00025 00026 protected : 00027 00028 // data members 00029 00030 double fMinPt ; 00031 double fMaxPt ; 00032 double fMeanPt ; 00033 CLHEP::RandExponential * fRandomExpoGenerator; 00034 00035 }; 00036 } 00037 00038 #endif