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
gen::Py8GunBase::Py8GunBase
Py8GunBase(edm::ParameterSet const &ps)
Definition: Py8GunBase.cc:15
gen::Py8GunBase::fMinPhi
double fMinPhi
Definition: Py8GunBase.h:58
gen::Py8GunBase::initializeForInternalPartons
bool initializeForInternalPartons() override
Definition: Py8GunBase.cc:32
gen::Py8GunBase::statistics
void statistics() override
Definition: Py8GunBase.cc:135
LuminosityBlock.h
edm
HLT enums.
Definition: AlignableModifier.h:19
gen::Py8GunBase::residualDecay
virtual bool residualDecay()
Definition: Py8GunBase.cc:56
GenRunInfoProduct.h
gen::Py8GunBase::p8SharedResources
static const std::vector< std::string > p8SharedResources
Definition: Py8GunBase.h:62
gen::Py8GunBase::evtGenDecay
void evtGenDecay()
Definition: Py8GunBase.cc:144
Event
gen::Py8GunBase::sharedResources
std::vector< std::string > const & sharedResources() const
Definition: Py8GunBase.h:51
gen
Definition: PythiaDecays.h:13
CLHEP
Definition: CocoaGlobals.h:27
edm::ParameterSet
Definition: ParameterSet.h:47
GenEventInfoProduct.h
gen::v
double v[5][pyjets_maxn]
Definition: Cascade2Hadronizer.cc:76
gen::Py8GunBase::fPartIDs
std::vector< int > fPartIDs
Definition: Py8GunBase.h:57
Py8InterfaceBase.h
gen::Py8GunBase
Definition: Py8GunBase.h:40
gen::Py8GunBase::setRandomEngine
void setRandomEngine(CLHEP::HepRandomEngine *v)
Definition: Py8GunBase.h:50
ParameterSet.h
HepMCProduct.h
gen::Py8GunBase::fMaxPhi
double fMaxPhi
Definition: Py8GunBase.h:59
gen::Py8InterfaceBase
Definition: Py8InterfaceBase.h:27
gen::Py8GunBase::~Py8GunBase
~Py8GunBase() override
Definition: Py8GunBase.h:43
gen::Py8GunBase::finalizeEvent
void finalizeEvent() override
Definition: Py8GunBase.cc:110
gen::Py8InterfaceBase::p8SetRandomEngine
void p8SetRandomEngine(CLHEP::HepRandomEngine *v)
Definition: Py8InterfaceBase.h:43