|
|
|||
File indexing completed on 2026-08-06 09:24:19
0001 // -*- C++ -*- 0002 #ifndef HERWIG_SSGVNVVertex_H 0003 #define HERWIG_SSGVNVVertex_H 0004 // 0005 // This is the declaration of the SSGVNVVertex class. 0006 // 0007 0008 #include "ThePEG/Helicity/Vertex/Vector/RFVVertex.h" 0009 #include "MixingMatrix.h" 0010 0011 namespace Herwig { 0012 0013 using namespace ThePEG; 0014 0015 /** 0016 * The SSGVNVVertex class implements the coupling of the gravitino 0017 * to a gaugino and the assoicated gauge boson. 0018 * 0019 * @see \ref SSGVNVVertexInterfaces "The interfaces" 0020 * defined for SSGVNVVertex. 0021 */ 0022 class SSGVNVVertex: public Helicity::RFVVertex { 0023 0024 public: 0025 0026 /** 0027 * The default constructor. 0028 */ 0029 SSGVNVVertex(); 0030 0031 /** 0032 * Calculate the couplings. This method is virtual and must be implemented in 0033 * classes inheriting from this. 0034 * @param q2 The scale \f$q^2\f$ for the coupling at the vertex. 0035 * @param part1 The ParticleData pointer for the first particle. 0036 * @param part2 The ParticleData pointer for the second particle. 0037 * @param part3 The ParticleData pointer for the third particle. 0038 */ 0039 virtual void setCoupling(Energy2 q2,tcPDPtr part1, 0040 tcPDPtr part2,tcPDPtr part3); 0041 0042 public: 0043 0044 /** @name Functions used by the persistent I/O system. */ 0045 //@{ 0046 /** 0047 * Function used to write out object persistently. 0048 * @param os the persistent output stream written to. 0049 */ 0050 void persistentOutput(PersistentOStream & os) const; 0051 0052 /** 0053 * Function used to read in object persistently. 0054 * @param is the persistent input stream read from. 0055 * @param version the version number of the object when written. 0056 */ 0057 void persistentInput(PersistentIStream & is, int version); 0058 //@} 0059 0060 /** 0061 * The standard Init function used to initialize the interfaces. 0062 * Called exactly once for each class by the class description system 0063 * before the main function starts or 0064 * when this class is dynamically loaded. 0065 */ 0066 static void Init(); 0067 0068 protected: 0069 0070 /** @name Clone Methods. */ 0071 //@{ 0072 /** 0073 * Make a simple clone of this object. 0074 * @return a pointer to the new object. 0075 */ 0076 virtual IBPtr clone() const; 0077 0078 /** Make a clone of this object, possibly modifying the cloned object 0079 * to make it sane. 0080 * @return a pointer to the new object. 0081 */ 0082 virtual IBPtr fullclone() const; 0083 //@} 0084 0085 protected: 0086 0087 /** @name Standard Interfaced functions. */ 0088 //@{ 0089 /** 0090 * Initialize this object after the setup phase before saving an 0091 * EventGenerator to disk. 0092 * @throws InitException if object could not be initialized properly. 0093 */ 0094 virtual void doinit(); 0095 //@} 0096 0097 private: 0098 0099 /** 0100 * The assignment operator is private and must never be called. 0101 * In fact, it should not even be implemented. 0102 */ 0103 SSGVNVVertex & operator=(const SSGVNVVertex &) = delete; 0104 0105 private: 0106 0107 /** 0108 * \f$\sin\theta_W\f$ 0109 */ 0110 double sw_; 0111 0112 /** 0113 * \f$\sin\theta_W\f$ 0114 */ 0115 double cw_; 0116 0117 /** 0118 * The value of \f$\sin\beta\f$ 0119 */ 0120 double sb_; 0121 0122 /** 0123 * The value of \f$\cos\beta\f$ 0124 */ 0125 double cb_; 0126 0127 /** 0128 * The Z mass 0129 */ 0130 Energy mz_; 0131 0132 /** 0133 * Pointer to the neutralino mixing matrix 0134 */ 0135 tMixingMatrixPtr nmix_; 0136 0137 /** 0138 * The Planck mass 0139 */ 0140 Energy MPlanck_; 0141 0142 }; 0143 0144 } 0145 0146 #endif /* HERWIG_SSGVNVVertex_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|