00001 #ifndef MultiParticleInConeGunProducer_H 00002 #define MultiParticleInConeGunProducer_H 00003 00010 #include "IOMC/ParticleGuns/interface/BaseFlatGunProducer.h" 00011 #include "CLHEP/Random/RandExponential.h" 00012 namespace edm 00013 { 00014 00015 class MultiParticleInConeGunProducer : public BaseFlatGunProducer 00016 { 00017 00018 public: 00019 MultiParticleInConeGunProducer(const ParameterSet &); 00020 virtual ~MultiParticleInConeGunProducer(); 00021 00022 private: 00023 00024 virtual void produce(Event & e, const EventSetup& es) override; 00025 00026 protected : 00027 00028 // data members 00029 double fMinPt ; 00030 double fMaxPt ; 00031 00032 std::vector<int> fInConeIds; 00033 double fMinDeltaR; 00034 double fMaxDeltaR; 00035 double fMinMomRatio; 00036 double fMaxMomRatio; 00037 00038 double fInConeMinEta; 00039 double fInConeMaxEta; 00040 double fInConeMinPhi; 00041 double fInConeMaxPhi; 00042 unsigned int fInConeMaxTry; 00043 00044 }; 00045 } 00046 00047 #endif