00001 #ifndef MultiParticleInConeGunSource_H 00002 #define MultiParticleInConeGunSource_H 00003 00010 #include "IOMC/ParticleGuns/interface/BaseFlatGunSource.h" 00011 #include "CLHEP/Random/RandExponential.h" 00012 namespace edm 00013 { 00014 00015 class MultiParticleInConeGunSource : public BaseFlatGunSource 00016 { 00017 00018 public: 00019 MultiParticleInConeGunSource(const ParameterSet &, const InputSourceDescription& ); 00020 virtual ~MultiParticleInConeGunSource(); 00021 00022 private: 00023 00024 virtual bool produce(Event & e); 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 uint fInConeMaxTry; 00043 00044 }; 00045 } 00046 00047 #endif