Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:10:14

0001 #ifndef IOMC_ParticleGun_CloseByParticleGunProducer_H
0002 #define IOMC_ParticleGun_CloseByParticleGunProducer_H
0003 
0004 #include "IOMC/ParticleGuns/interface/BaseFlatGunProducer.h"
0005 
0006 namespace edm {
0007 
0008   class CloseByParticleGunProducer : public BaseFlatGunProducer {
0009   public:
0010     CloseByParticleGunProducer(const ParameterSet&);
0011     ~CloseByParticleGunProducer() override;
0012 
0013   private:
0014     void produce(Event& e, const EventSetup& es) override;
0015 
0016   protected:
0017     // data members
0018     bool fControlledByEta;
0019     double fEnMin, fEnMax, fEtaMin, fEtaMax, fRMin, fRMax, fZMin, fZMax, fDelta, fPhiMin, fPhiMax;
0020     int fNParticles;
0021     bool fMaxEnSpread = false;
0022     bool fPointing = false;
0023     bool fOverlapping = false;
0024     bool fRandomShoot = false;
0025     std::vector<int> fPartIDs;
0026   };
0027 }  // namespace edm
0028 
0029 #endif