CMS 3D CMS Logo

Py8GunBase.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 //
4 
5 //
6 // This class is a "Hadronizer" template (see GeneratorInterface/Core)
7 //
8 
9 #ifndef gen_Py8GunBase_h
10 #define gen_Py8GunBase_h
11 
12 #include <memory>
13 #include <string>
14 #include <vector>
15 
17 
20 
22 
25 
26 #include <Pythia8/Pythia.h>
27 #include <Pythia8Plugins/HepMC2.h>
28 
29 // foward declarations
30 namespace edm {
31  class Event;
32 }
33 
34 namespace CLHEP {
35  class HepRandomEngine;
36 }
37 
38 namespace gen {
39 
40  class Py8GunBase : public Py8InterfaceBase {
41  public:
42  Py8GunBase(edm::ParameterSet const& ps);
43  ~Py8GunBase() override {}
44 
45  virtual bool residualDecay(); // common func
46  bool initializeForInternalPartons() override;
47  void finalizeEvent() override;
48  void statistics() override;
49 
50  void setRandomEngine(CLHEP::HepRandomEngine* v) { p8SetRandomEngine(v); }
51  std::vector<std::string> const& sharedResources() const { return p8SharedResources; }
52  void evtGenDecay();
53 
54  protected:
55  // (some of) PGun parameters
56  //
57  std::vector<int> fPartIDs;
58  double fMinPhi;
59  double fMaxPhi;
60 
61  private:
62  static const std::vector<std::string> p8SharedResources;
63  };
64 
65 } // namespace gen
66 
67 #endif // gen_BaseHadronizer_h
void finalizeEvent() override
Definition: Py8GunBase.cc:110
~Py8GunBase() override
Definition: Py8GunBase.h:43
void p8SetRandomEngine(CLHEP::HepRandomEngine *v)
double fMinPhi
Definition: Py8GunBase.h:58
bool initializeForInternalPartons() override
Definition: Py8GunBase.cc:32
void statistics() override
Definition: Py8GunBase.cc:135
std::vector< std::string > const & sharedResources() const
Definition: Py8GunBase.h:51
virtual bool residualDecay()
Definition: Py8GunBase.cc:56
double v[5][pyjets_maxn]
void evtGenDecay()
Definition: Py8GunBase.cc:144
static const std::vector< std::string > p8SharedResources
Definition: Py8GunBase.h:62
std::vector< int > fPartIDs
Definition: Py8GunBase.h:57
double fMaxPhi
Definition: Py8GunBase.h:59
HLT enums.
void setRandomEngine(CLHEP::HepRandomEngine *v)
Definition: Py8GunBase.h:50
Py8GunBase(edm::ParameterSet const &ps)
Definition: Py8GunBase.cc:15