|
|
|||
File indexing completed on 2026-08-06 09:38:28
0001 // -*- C++ -*- 0002 // 0003 // BreitWignerMass.h is a part of ThePEG - Toolkit for HEP Event Generation 0004 // Copyright (C) 1999-2019 Leif Lonnblad 0005 // 0006 // ThePEG 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 ThePEG_BreitWignerMass_H 0010 #define ThePEG_BreitWignerMass_H 0011 // This is the declaration of the BreitWignerMass class. 0012 0013 #include "ThePEG/PDT/MassGenerator.h" 0014 0015 namespace ThePEG { 0016 0017 /** 0018 * BreitWignerMass is derived from MassGenerator and is able to 0019 * generate the mass for a particle given its nominal mass and its 0020 * with. 0021 * 0022 * 0023 * @see MassGenerator 0024 * @see ParticleData 0025 * 0026 */ 0027 class BreitWignerMass: public MassGenerator { 0028 0029 public: 0030 0031 /** @name Virtual methods required by the MassGenerator base class. */ 0032 //@{ 0033 /** 0034 * Return true if this mass generator can handle the given particle 0035 * type. 0036 */ 0037 virtual bool accept(const ParticleData &) const { return true; } 0038 0039 /** 0040 * Generate a mass for an instance of a given particle type. 0041 */ 0042 virtual Energy mass(const ParticleData &) const; 0043 //@} 0044 0045 public: 0046 0047 /** 0048 * Standard Init function used to initialize the interface. 0049 */ 0050 static void Init(); 0051 0052 protected: 0053 0054 /** @name Clone Methods. */ 0055 //@{ 0056 /** 0057 * Make a simple clone of this object. 0058 * @return a pointer to the new object. 0059 */ 0060 virtual IBPtr clone() const; 0061 0062 /** Make a clone of this object, possibly modifying the cloned object 0063 * to make it sane. 0064 * @return a pointer to the new object. 0065 */ 0066 virtual IBPtr fullclone() const; 0067 //@} 0068 0069 private: 0070 0071 /** 0072 * Describe concrete class without persistent data. 0073 */ 0074 static NoPIOClassDescription<BreitWignerMass> initBreitWignerMass; 0075 0076 /** 0077 * Private and non-existent assignment operator. 0078 */ 0079 BreitWignerMass & operator=(const BreitWignerMass &) = delete; 0080 0081 }; 0082 0083 0084 /** @cond TRAITSPECIALIZATIONS */ 0085 ThePEG_DECLARE_DYNAMIC_CLASS_TRAITS(BreitWignerMass,MassGenerator,"BreitWignerMass.so"); 0086 /** @endcond */ 0087 0088 } 0089 0090 #endif /* ThePEG_BreitWignerMass_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|