|
|
|||
File indexing completed on 2026-08-06 09:24:02
0001 // -*- C++ -*- 0002 // 0003 // DecayRadiationGenerator.h is a part of Herwig - A multi-purpose Monte Carlo event generator 0004 // Copyright (C) 2002-2019 The Herwig Collaboration 0005 // 0006 // Herwig is licenced under version 3 of the GPL, see COPYING for details. 0007 // Please respect the MCnet academic guidelines, see GUIDELINES for details. 0008 // 0009 #ifndef HERWIG_DecayRadiationGenerator_H 0010 #define HERWIG_DecayRadiationGenerator_H 0011 // 0012 // This is the declaration of the DecayRadiationGenerator class. 0013 // 0014 0015 #include "ThePEG/Interface/Interfaced.h" 0016 #include "Herwig/Decay/DecayIntegrator.fh" 0017 #include "DecayRadiationGenerator.fh" 0018 0019 namespace Herwig { 0020 0021 using namespace ThePEG; 0022 0023 /** 0024 * The DecayRadiationGenerator class is the base class for classes generating 0025 * QED radiation in particle decays in Herwig. Classes implementing specific 0026 * algorithms must inherit from this class and implement the virtual generatePhotons 0027 * member. 0028 * 0029 * @see \ref DecayRadiationGeneratorInterfaces "The interfaces" 0030 * defined for DecayRadiationGenerator. 0031 */ 0032 class DecayRadiationGenerator: public Interfaced { 0033 0034 public: 0035 0036 /** 0037 * Member to generate the photons in the decay. This must be implemented 0038 * in classes inheriting from this one to produce the radiation. 0039 * @param p The decaying particle 0040 * @param children The decay products 0041 * @param decayer The decayer which would normally generate this decay 0042 * @return The decay products with additional radiation 0043 */ 0044 virtual ParticleVector generatePhotons(const Particle & p, 0045 ParticleVector children, 0046 tDecayIntegratorPtr decayer)=0; 0047 0048 public: 0049 0050 /** 0051 * The standard Init function used to initialize the interfaces. 0052 * Called exactly once for each class by the class description system 0053 * before the main function starts or 0054 * when this class is dynamically loaded. 0055 */ 0056 static void Init(); 0057 0058 private: 0059 0060 /** 0061 * The assignment operator is private and must never be called. 0062 * In fact, it should not even be implemented. 0063 */ 0064 DecayRadiationGenerator & operator=(const DecayRadiationGenerator &) = delete; 0065 0066 }; 0067 0068 } 0069 0070 #endif /* HERWIG_DecayRadiationGenerator_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|