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  virtual ~Py8GunBase() {}
46 
47  virtual bool residualDecay(); // common func
48  bool initializeForInternalPartons();
49  void finalizeEvent();
50  void statistics();
51 
52  void setRandomEngine(CLHEP::HepRandomEngine* v) { p8SetRandomEngine(v); }
53  std::vector<std::string> const& sharedResources() const { return p8SharedResources; }
54 
55  protected:
56  // (some of) PGun parameters
57  //
58  std::vector<int> fPartIDs ;
59  double fMinPhi ;
60  double fMaxPhi ;
61 
62  private:
63  static const std::vector<std::string> p8SharedResources;
64  };
65 
66 } // namespace gen
67 
68 #endif // gen_BaseHadronizer_h
std::vector< std::string > const & sharedResources() const
Definition: Py8GunBase.h:53
double fMinPhi
Definition: Py8GunBase.h:59
static const std::vector< std::string > p8SharedResources
Definition: Py8GunBase.h:63
std::vector< int > fPartIDs
Definition: Py8GunBase.h:58
virtual ~Py8GunBase()
Definition: Py8GunBase.h:45
double fMaxPhi
Definition: Py8GunBase.h:60
HLT enums.
void setRandomEngine(CLHEP::HepRandomEngine *v)
Definition: Py8GunBase.h:52