|
|
|||
File indexing completed on 2026-08-06 09:24:21
0001 // -*- C++ -*- 0002 // 0003 // WidthCalculatorBase.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_WidthCalculatorBase_H 0010 #define HERWIG_WidthCalculatorBase_H 0011 // 0012 // This is the declaration of the WidthCalculatorBase class. 0013 // 0014 #include "ThePEG/Config/ThePEG.h" 0015 #include "ThePEG/Pointer/ReferenceCounted.h" 0016 #include "WidthCalculatorBase.fh" 0017 0018 namespace Herwig { 0019 using namespace ThePEG; 0020 0021 /** \ingroup PDT 0022 * The WidthCalculatorBase class is a base class to be used 0023 * by classes which calculate partial widths for the running width. 0024 * 0025 * @see DecayIntegrator 0026 * @see GenericWidthGenerator 0027 * 0028 */ 0029 class WidthCalculatorBase: public Pointer::ReferenceCounted { 0030 0031 public: 0032 0033 /** 0034 * Destructor 0035 */ 0036 virtual ~WidthCalculatorBase(); 0037 0038 /** 0039 * Calculate the partial width. This must be implemented in classes inheriting from 0040 * this one. 0041 * @param scale The mass squared of the decaying particle. 0042 * @return The partial width. 0043 */ 0044 virtual Energy partialWidth(Energy2 scale) const =0; 0045 0046 /** 0047 * Reset the mass of a particle (used to integrate over the mass.) This must be 0048 * implemented in classes inheriting from this one. 0049 * @param imass The mass to be reset. 0050 * @param mass The new mass. 0051 */ 0052 virtual void resetMass(int imass,Energy mass) =0; 0053 0054 /** 0055 * Get the mass of one of the decay products. This must be 0056 * implemented in classes inheriting from this one. 0057 * @param imass The mass required. 0058 * @return The mass required. 0059 */ 0060 virtual Energy getMass(const int imass) const= 0; 0061 0062 /** 0063 * Get the masses of all bar the one specified. Used to get the limits 0064 * for integration. 0065 * @param imass The particle not needed 0066 * @return The sum of the other masses. 0067 */ 0068 virtual Energy otherMass(const int imass) const=0; 0069 0070 private: 0071 0072 /** 0073 * Private and non-existent assignment operator. 0074 */ 0075 WidthCalculatorBase & operator=(const WidthCalculatorBase &) = delete; 0076 0077 }; 0078 } 0079 0080 #endif /* HERWIG_WidthCalculatorBase_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|