00001 #ifndef ExpoRandomPtGunProducer_H 00002 #define ExpoRandomPtGunProducer_H 00003 00010 #include "IOMC/ParticleGuns/interface/BaseFlatGunProducer.h" 00011 #include "CLHEP/Random/RandExponential.h" 00012 namespace edm 00013 { 00014 00015 class ExpoRandomPtGunProducer : public BaseFlatGunProducer 00016 { 00017 00018 public: 00019 ExpoRandomPtGunProducer(const ParameterSet & pset); 00020 virtual ~ExpoRandomPtGunProducer(); 00021 00022 private: 00023 00024 virtual void produce(Event & e, const EventSetup& es); 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