Back to home page

Project CMSSW displayed by LXR

 
 

    


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 // TrajectoryManager does not compile when forward declaring P8RndmEngine
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