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 
8 // Author: L. Vanelderen
9 // Date: 13 May 2014
10 //
11 // Revision: Class structure modified to match SimplifiedGeometryPropagator
12 // S. Kurz, 29 May 2017
14 
15 namespace gen {
16  class P8RndmEngine;
17  typedef std::shared_ptr<P8RndmEngine> P8RndmEnginePtr;
18 } // namespace gen
19 
20 namespace CLHEP {
21  class HepRandomEngine;
22 }
23 
24 namespace Pythia8 {
25  class Pythia;
26 }
27 
28 namespace fastsim {
29  class Particle;
30 
32 
35  class Decayer {
36  public:
38  Decayer();
39 
41  ~Decayer();
42 
44 
49  void decay(const Particle& particle,
50  std::vector<std::unique_ptr<Particle> >& secondaries,
51  CLHEP::HepRandomEngine& engine) const;
52 
53  private:
54  std::unique_ptr<Pythia8::Pythia> pythia_;
56  };
57 } // namespace fastsim
58 #endif
gen::P8RndmEnginePtr pythiaRandomEngine_
Instance of pythia Random Engine.
Definition: Decayer.h:55
void decay(const Particle &particle, std::vector< std::unique_ptr< Particle > > &secondaries, CLHEP::HepRandomEngine &engine) const
Decay particle using pythia.
Definition: Decayer.cc:29
~Decayer()
Default destructor.
Definition: Decayer.cc:10
std::shared_ptr< P8RndmEngine > P8RndmEnginePtr
Definition: PythiaDecays.h:14
Decayer()
Default Constructor.
Definition: Decayer.cc:12
Implementation of non-stable particle decays.
Definition: Decayer.h:35
std::unique_ptr< Pythia8::Pythia > pythia_
Instance of pythia.
Definition: Decayer.h:54