File indexing completed on 2023-03-17 11:00:50
0001 #ifndef PythiaDecays_h
0002 #define PythiaDecays_h
0003
0004 #include <memory>
0005 #include <vector>
0006
0007
0008 #include "GeneratorInterface/Pythia8Interface/interface/P8RndmEngine.h"
0009
0010 class ParticlePropagator;
0011 class RawParticle;
0012
0013 namespace gen {
0014 class P8RndmEngine;
0015 }
0016
0017 namespace CLHEP {
0018 class HepRandomEngine;
0019 }
0020
0021 namespace Pythia8 {
0022 class Pythia;
0023 }
0024
0025 typedef std::vector<RawParticle> DaughterParticleList;
0026 typedef DaughterParticleList::const_iterator DaughterParticleIterator;
0027
0028 class PythiaDecays {
0029 public:
0030 PythiaDecays();
0031 ~PythiaDecays();
0032 const DaughterParticleList& particleDaughters(ParticlePropagator& particle, CLHEP::HepRandomEngine*);
0033
0034 private:
0035 DaughterParticleList theList;
0036 std::unique_ptr<Pythia8::Pythia> decayer;
0037 std::unique_ptr<gen::P8RndmEngine> p8RndmEngine;
0038 };
0039 #endif