CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PythiaDecays.h
Go to the documentation of this file.
1 #ifndef PythiaDecays_h
2 #define PythiaDecays_h
3 
4 #include <memory>
5 #include <vector>
6 
7 // Needed for Pythia8
8 #include <HepMC/GenEvent.h>
9 #include <HepMC/GenParticle.h>
10 #include <Pythia.h>
11 #include <HepMCInterface.h>
15 
16 class ParticlePropagator;
17 class Pythia6jets;
18 class RawParticle;
19 
20 namespace CLHEP {
21  class HepRandomEngine;
22 }
23 
24 namespace gen {
25  class P8RndmEngine;
26 }
27 
28 typedef std::vector<RawParticle> DaughterParticleList;
29 typedef DaughterParticleList::const_iterator DaughterParticleIterator;
30 
31 namespace gen { class Pythia6Service; } // remove?
32 //using namespace gen;
33 
35 {
36  public:
37  PythiaDecays(std::string program);
38  ~PythiaDecays();
39 
41  particleDaughtersPy6(ParticlePropagator& particle, CLHEP::HepRandomEngine*);
43  particleDaughtersPy8(ParticlePropagator& particle, CLHEP::HepRandomEngine*);
44 
45  private:
48  // for Pythia6:
51  // for Pythia8:
52  std::auto_ptr<Pythia8::Pythia> pythia;
53  std::auto_ptr<Pythia8::Pythia> decayer;
54  std::unique_ptr<gen::P8RndmEngine> p8RndmEngine;
55 };
56 #endif
const DaughterParticleList & particleDaughtersPy6(ParticlePropagator &particle, CLHEP::HepRandomEngine *)
gen::Pythia6Service * pyservice
Definition: PythiaDecays.h:49
DaughterParticleList::const_iterator DaughterParticleIterator
Definition: PythiaDecays.h:29
DaughterParticleList theList
Definition: PythiaDecays.h:46
const DaughterParticleList & particleDaughtersPy8(ParticlePropagator &particle, CLHEP::HepRandomEngine *)
Definition: PythiaDecays.cc:53
std::auto_ptr< Pythia8::Pythia > decayer
Definition: PythiaDecays.h:53
std::string program_
Definition: PythiaDecays.h:47
std::unique_ptr< gen::P8RndmEngine > p8RndmEngine
Definition: PythiaDecays.h:54
Pythia6jets * pyjets
Definition: PythiaDecays.h:50
std::auto_ptr< Pythia8::Pythia > pythia
Definition: PythiaDecays.h:52
PythiaDecays(std::string program)
Definition: PythiaDecays.cc:23
std::vector< RawParticle > DaughterParticleList
Definition: PythiaDecays.h:28