![]() |
|
|||
File indexing completed on 2021-02-14 13:26:46
0001 #ifndef FASTSIM_DECAYER_H 0002 #define FASTSIM_DECAYER_H 0003 0004 #include <memory> 0005 #include <vector> 0006 0007 /////////////////////////////////////////////// 0008 // Author: L. Vanelderen 0009 // Date: 13 May 2014 0010 // 0011 // Revision: Class structure modified to match SimplifiedGeometryPropagator 0012 // S. Kurz, 29 May 2017 0013 ////////////////////////////////////////////////////////// 0014 0015 namespace gen { 0016 class P8RndmEngine; 0017 } 0018 0019 namespace CLHEP { 0020 class HepRandomEngine; 0021 } 0022 0023 namespace Pythia8 { 0024 class Pythia; 0025 } 0026 0027 namespace fastsim { 0028 class Particle; 0029 0030 //! Implementation of non-stable particle decays. 0031 /*! 0032 Inspired by method Pythia8Hadronizer::residualDecay() in GeneratorInterface/Pythia8Interface/src/Py8GunBase.cc 0033 */ 0034 class Decayer { 0035 public: 0036 //! Default Constructor. 0037 Decayer(); 0038 0039 //! Default destructor. 0040 ~Decayer(); 0041 0042 //! Decay particle using pythia. 0043 /*! 0044 \param particle The particle that should be decayed. 0045 \param secondaries The decay products. 0046 \param engine The Random Engine. 0047 */ 0048 void decay(const Particle& particle, 0049 std::vector<std::unique_ptr<Particle> >& secondaries, 0050 CLHEP::HepRandomEngine& engine) const; 0051 0052 private: 0053 std::unique_ptr<Pythia8::Pythia> pythia_; //!< Instance of pythia 0054 std::unique_ptr<gen::P8RndmEngine> pythiaRandomEngine_; //!< Instance of pythia Random Engine 0055 }; 0056 } // namespace fastsim 0057 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |
![]() ![]() |