CMS 3D CMS Logo

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 
28 class PythiaDecays {
29 public:
30  PythiaDecays();
31  ~PythiaDecays();
32  const DaughterParticleList& particleDaughters(ParticlePropagator& particle, CLHEP::HepRandomEngine*);
33 
34 private:
36  std::unique_ptr<Pythia8::Pythia> decayer;
37  std::unique_ptr<gen::P8RndmEngine> p8RndmEngine;
38 };
39 #endif
RawParticle
Definition: RawParticle.h:37
P8RndmEngine.h
PythiaDecays::~PythiaDecays
~PythiaDecays()
Definition: PythiaDecays.cc:29
gen::P8RndmEngine
Definition: P8RndmEngine.h:27
Pythia8
Definition: PythiaDecays.h:21
PythiaDecays::particleDaughters
const DaughterParticleList & particleDaughters(ParticlePropagator &particle, CLHEP::HepRandomEngine *)
Definition: PythiaDecays.cc:31
DaughterParticleList
std::vector< RawParticle > DaughterParticleList
Definition: PythiaDecays.h:25
gen
Definition: PythiaDecays.h:13
CLHEP
Definition: CocoaGlobals.h:27
PythiaDecays::p8RndmEngine
std::unique_ptr< gen::P8RndmEngine > p8RndmEngine
Definition: PythiaDecays.h:37
PythiaDecays::theList
DaughterParticleList theList
Definition: PythiaDecays.h:35
ParticlePropagator
Definition: ParticlePropagator.h:28
PythiaDecays
Definition: PythiaDecays.h:28
PythiaDecays::decayer
std::unique_ptr< Pythia8::Pythia > decayer
Definition: PythiaDecays.h:36
PythiaDecays::PythiaDecays
PythiaDecays()
Definition: PythiaDecays.cc:9
DaughterParticleIterator
DaughterParticleList::const_iterator DaughterParticleIterator
Definition: PythiaDecays.h:26