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
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 }
0028
0029 #endif