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 // TrajectoryManager does not compile when forward declaring P8RndmEngine
9 
10 class ParticlePropagator;
11 class RawParticle;
12 
13 namespace gen {
14  class P8RndmEngine;
15 }
16 
17 namespace CLHEP {
18  class HepRandomEngine;
19 }
20 
21 namespace Pythia8 {
22  class Pythia;
23 }
24 
25 typedef std::vector<RawParticle> DaughterParticleList;
26 typedef DaughterParticleList::const_iterator DaughterParticleIterator;
27 
29 {
30  public:
31 
32  PythiaDecays();
34  const DaughterParticleList & particleDaughters(ParticlePropagator& particle, CLHEP::HepRandomEngine*);
35 
36  private:
37 
39  std::auto_ptr<Pythia8::Pythia> decayer;
40  std::unique_ptr<gen::P8RndmEngine> p8RndmEngine;
41 };
42 #endif
const DaughterParticleList & particleDaughters(ParticlePropagator &particle, CLHEP::HepRandomEngine *)
Definition: PythiaDecays.cc:30
DaughterParticleList::const_iterator DaughterParticleIterator
Definition: PythiaDecays.h:26
DaughterParticleList theList
Definition: PythiaDecays.h:38
std::auto_ptr< Pythia8::Pythia > decayer
Definition: PythiaDecays.h:39
std::unique_ptr< gen::P8RndmEngine > p8RndmEngine
Definition: PythiaDecays.h:40
std::vector< RawParticle > DaughterParticleList
Definition: PythiaDecays.h:25