File indexing completed on 2024-04-06 12:13:55
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef gen_Py8GunBase_h
0010 #define gen_Py8GunBase_h
0011
0012 #include <memory>
0013 #include <string>
0014 #include <vector>
0015
0016 #include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h"
0017
0018 #include "SimDataFormats/GeneratorProducts/interface/GenRunInfoProduct.h"
0019 #include "SimDataFormats/GeneratorProducts/interface/GenEventInfoProduct.h"
0020
0021 #include "GeneratorInterface/Pythia8Interface/interface/Py8InterfaceBase.h"
0022
0023 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0024 #include "FWCore/Framework/interface/LuminosityBlock.h"
0025
0026 #include <Pythia8/Pythia.h>
0027 #include <Pythia8Plugins/HepMC2.h>
0028
0029
0030 namespace edm {
0031 class Event;
0032 }
0033
0034 namespace CLHEP {
0035 class HepRandomEngine;
0036 }
0037
0038 namespace gen {
0039
0040 class Py8GunBase : public Py8InterfaceBase {
0041 public:
0042 Py8GunBase(edm::ParameterSet const& ps);
0043 ~Py8GunBase() override {}
0044
0045 virtual bool residualDecay();
0046 bool initializeForInternalPartons() override;
0047 void finalizeEvent() override;
0048 void statistics() override;
0049
0050 void setRandomEngine(CLHEP::HepRandomEngine* v) { p8SetRandomEngine(v); }
0051 std::vector<std::string> const& sharedResources() const { return p8SharedResources; }
0052 void evtGenDecay();
0053
0054 protected:
0055
0056
0057 std::vector<int> fPartIDs;
0058 double fMinPhi;
0059 double fMaxPhi;
0060
0061 private:
0062 static const std::vector<std::string> p8SharedResources;
0063 };
0064
0065 }
0066
0067 #endif