|
|
|||
File indexing completed on 2026-08-06 09:24:16
0001 // -*- C++ -*- 0002 #ifndef HERWIG_GravitonMassGenerator_H 0003 #define HERWIG_GravitonMassGenerator_H 0004 // 0005 // This is the declaration of the GravitonMassGenerator class. 0006 // 0007 0008 #include "Herwig/PDT/GenericMassGenerator.h" 0009 0010 namespace Herwig { 0011 0012 using namespace ThePEG; 0013 0014 /** 0015 * Here is the documentation of the GravitonMassGenerator class. 0016 * 0017 * @see \ref GravitonMassGeneratorInterfaces "The interfaces" 0018 * defined for GravitonMassGenerator. 0019 */ 0020 class GravitonMassGenerator: public GenericMassGenerator { 0021 0022 public: 0023 0024 /** 0025 * The default constructor. 0026 */ 0027 GravitonMassGenerator(); 0028 0029 public: 0030 0031 /** @name Functions used by the persistent I/O system. */ 0032 //@{ 0033 /** 0034 * Function used to write out object persistently. 0035 * @param os the persistent output stream written to. 0036 */ 0037 void persistentOutput(PersistentOStream & os) const; 0038 0039 /** 0040 * Function used to read in object persistently. 0041 * @param is the persistent input stream read from. 0042 * @param version the version number of the object when written. 0043 */ 0044 void persistentInput(PersistentIStream & is, int version); 0045 //@} 0046 0047 /** 0048 * The standard Init function used to initialize the interfaces. 0049 * Called exactly once for each class by the class description system 0050 * before the main function starts or 0051 * when this class is dynamically loaded. 0052 */ 0053 static void Init(); 0054 0055 protected: 0056 0057 /** @name Clone Methods. */ 0058 //@{ 0059 /** 0060 * Make a simple clone of this object. 0061 * @return a pointer to the new object. 0062 */ 0063 virtual IBPtr clone() const; 0064 0065 /** Make a clone of this object, possibly modifying the cloned object 0066 * to make it sane. 0067 * @return a pointer to the new object. 0068 */ 0069 virtual IBPtr fullclone() const; 0070 //@} 0071 0072 protected: 0073 0074 /** @name Standard Interfaced functions. */ 0075 //@{ 0076 /** 0077 * Initialize this object after the setup phase before saving an 0078 * EventGenerator to disk. 0079 * @throws InitException if object could not be initialized properly. 0080 */ 0081 virtual void doinit(); 0082 //@} 0083 0084 protected: 0085 0086 /** 0087 * Return a mass with the weight using the specified limits. 0088 * @param part The particle data pointer of the particle. 0089 * @param low The lower limit on the particle's mass. 0090 * @param upp The upper limit on the particle's mass. 0091 * @param wgt The weight for this mass. 0092 * @param shape The type of shape to use 0093 * @param r The random number used for the weight 0094 * @return The mass of the particle instance. 0095 */ 0096 virtual Energy mass(double & wgt, const ParticleData & part, 0097 const Energy low,const Energy upp, int shape, 0098 double r=UseRandom::rnd()) const; 0099 0100 private: 0101 0102 /** 0103 * The assignment operator is private and must never be called. 0104 * In fact, it should not even be implemented. 0105 */ 0106 GravitonMassGenerator & operator=(const GravitonMassGenerator &) = delete; 0107 0108 private: 0109 0110 /** 0111 * prefactor 0112 */ 0113 double prefactor_; 0114 0115 /** 0116 * Number of extra dimensions 0117 */ 0118 unsigned int delta_; 0119 0120 /** 0121 * d-dimensional Planck mass 0122 */ 0123 Energy md_; 0124 0125 /** 0126 * Minimum mass cut to avoid numerical problems 0127 */ 0128 Energy mMin_; 0129 0130 }; 0131 0132 } 0133 0134 #endif /* HERWIG_GravitonMassGenerator_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|