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 
16 #include <boost/shared_ptr.hpp>
17 
19 
22 
24 
27 
28 #include <Pythia8/Pythia.h>
29 #include <Pythia8Plugins/HepMC2.h>
30 
31 // foward declarations
32 namespace edm {
33  class Event;
34 }
35 
36 namespace CLHEP {
37  class HepRandomEngine;
38 }
39 
40 namespace gen {
41 
42  class Py8GunBase : public Py8InterfaceBase {
43  public:
44  Py8GunBase( edm::ParameterSet const& ps );
45  ~Py8GunBase() override {}
46 
47  virtual bool residualDecay(); // common func
48  bool initializeForInternalPartons() override;
49  void finalizeEvent() override;
50  void statistics() override;
51 
52  void setRandomEngine(CLHEP::HepRandomEngine* v) { p8SetRandomEngine(v); }
53  std::vector<std::string> const& sharedResources() const { return p8SharedResources; }
54  void evtGenDecay();
55 
56  protected:
57  // (some of) PGun parameters
58  //
59  std::vector<int> fPartIDs ;
60  double fMinPhi ;
61  double fMaxPhi ;
62 
63  private:
64  static const std::vector<std::string> p8SharedResources;
65  };
66 
67 } // namespace gen
68 
69 #endif // gen_BaseHadronizer_h
std::vector< std::string > const & sharedResources() const
Definition: Py8GunBase.h:53
~Py8GunBase() override
Definition: Py8GunBase.h:45
double fMinPhi
Definition: Py8GunBase.h:60
static const std::vector< std::string > p8SharedResources
Definition: Py8GunBase.h:64
std::vector< int > fPartIDs
Definition: Py8GunBase.h:59
double fMaxPhi
Definition: Py8GunBase.h:61
HLT enums.
void setRandomEngine(CLHEP::HepRandomEngine *v)
Definition: Py8GunBase.h:52