CMS 3D CMS Logo

Decayer.h
Go to the documentation of this file.
1 #ifndef FASTSIM_DECAYER_H
2 #define FASTSIM_DECAYER_H
3 
4 #include <memory>
5 #include <vector>
6 
7 
9 // Author: L. Vanelderen
10 // Date: 13 May 2014
11 //
12 // Revision: Class structure modified to match SimplifiedGeometryPropagator
13 // S. Kurz, 29 May 2017
15 
16 
17 namespace gen {
18  class P8RndmEngine;
19 }
20 
21 namespace CLHEP {
22  class HepRandomEngine;
23 }
24 
25 namespace Pythia8 {
26  class Pythia;
27 }
28 
29 namespace fastsim
30 {
31  class Particle;
32 
34 
37  class Decayer
38  {
39  public:
41  Decayer();
42 
44  ~Decayer();
45 
47 
52  void decay(const Particle & particle, std::vector<std::unique_ptr<Particle> > & secondaries, CLHEP::HepRandomEngine & engine) const;
53 
54  private:
55  std::unique_ptr<Pythia8::Pythia> pythia_;
56  std::unique_ptr<gen::P8RndmEngine> pythiaRandomEngine_;
57  };
58 }
59 #endif
std::unique_ptr< gen::P8RndmEngine > pythiaRandomEngine_
Instance of pythia Random Engine.
Definition: Decayer.h:56
Implementation of non-stable particle decays.
Definition: Decayer.h:37
std::unique_ptr< Pythia8::Pythia > pythia_
Instance of pythia.
Definition: Decayer.h:55