File indexing completed on 2024-05-02 05:09:38
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 typedef std::shared_ptr<P8RndmEngine> P8RndmEnginePtr;
0016 }
0017
0018 namespace CLHEP {
0019 class HepRandomEngine;
0020 }
0021
0022 namespace Pythia8 {
0023 class Pythia;
0024 }
0025
0026 typedef std::vector<RawParticle> DaughterParticleList;
0027 typedef DaughterParticleList::const_iterator DaughterParticleIterator;
0028
0029 class PythiaDecays {
0030 public:
0031 PythiaDecays();
0032 ~PythiaDecays();
0033 const DaughterParticleList& particleDaughters(ParticlePropagator& particle, CLHEP::HepRandomEngine*);
0034
0035 private:
0036 DaughterParticleList theList;
0037 std::unique_ptr<Pythia8::Pythia> decayer;
0038 gen::P8RndmEnginePtr p8RndmEngine;
0039 };
0040 #endif