|
|
|||
File indexing completed on 2026-08-06 09:24:19
0001 // -*- C++ -*- 0002 #ifndef Herwig_RPVFFWVertex_H 0003 #define Herwig_RPVFFWVertex_H 0004 // 0005 // This is the declaration of the RPVFFWVertex class. 0006 // 0007 0008 #include "ThePEG/Helicity/Vertex/Vector/FFVVertex.h" 0009 #include "Herwig/Models/Susy/SusyBase.h" 0010 #include "Herwig/Models/Susy/MixingMatrix.fh" 0011 0012 namespace Herwig { 0013 0014 using namespace ThePEG; 0015 0016 /** 0017 * Here is the documentation of the RPVFFWVertex class. 0018 * 0019 * @see \ref RPVFFWVertexInterfaces "The interfaces" 0020 * defined for RPVFFWVertex. 0021 */ 0022 class RPVFFWVertex: public Helicity::FFVVertex { 0023 0024 public: 0025 0026 /** 0027 * The default constructor. 0028 */ 0029 RPVFFWVertex(); 0030 0031 /** 0032 * Calculate the couplings. 0033 * @param q2 The scale \f$q^2\f$ for the coupling at the vertex. 0034 * @param part1 The ParticleData pointer for the first particle. 0035 * @param part2 The ParticleData pointer for the second particle. 0036 * @param part3 The ParticleData pointer for the third particle. 0037 */ 0038 virtual void setCoupling(Energy2 q2, tcPDPtr part1, 0039 tcPDPtr part2, tcPDPtr part3); 0040 0041 public: 0042 0043 /** @name Functions used by the persistent I/O system. */ 0044 //@{ 0045 /** 0046 * Function used to write out object persistently. 0047 * @param os the persistent output stream written to. 0048 */ 0049 void persistentOutput(PersistentOStream & os) const; 0050 0051 /** 0052 * Function used to read in object persistently. 0053 * @param is the persistent input stream read from. 0054 * @param version the version number of the object when written. 0055 */ 0056 void persistentInput(PersistentIStream & is, int version); 0057 //@} 0058 0059 /** 0060 * The standard Init function used to initialize the interfaces. 0061 * Called exactly once for each class by the class description system 0062 * before the main function starts or 0063 * when this class is dynamically loaded. 0064 */ 0065 static void Init(); 0066 0067 protected: 0068 0069 /** @name Clone Methods. */ 0070 //@{ 0071 /** 0072 * Make a simple clone of this object. 0073 * @return a pointer to the new object. 0074 */ 0075 virtual IBPtr clone() const; 0076 0077 /** Make a clone of this object, possibly modifying the cloned object 0078 * to make it sane. 0079 * @return a pointer to the new object. 0080 */ 0081 virtual IBPtr fullclone() const; 0082 //@} 0083 0084 protected: 0085 0086 /** @name Standard Interfaced functions. */ 0087 //@{ 0088 /** 0089 * Initialize this object after the setup phase before saving an 0090 * EventGenerator to disk. 0091 * @throws InitException if object could not be initialized properly. 0092 */ 0093 virtual void doinit(); 0094 //@} 0095 0096 private: 0097 0098 /** 0099 * The assignment operator is private and must never be called. 0100 * In fact, it should not even be implemented. 0101 */ 0102 RPVFFWVertex & operator=(const RPVFFWVertex &) = delete; 0103 0104 private: 0105 0106 /** @name Quark flavour parameters */ 0107 //@{ 0108 /** 0109 * True, if a diagonal CKM matrix should be assumed. This ignores 0110 * the CKM object of the StandardModel. 0111 */ 0112 bool _diagonal; 0113 0114 /** 0115 * The elements of the CKM matrix. 0116 */ 0117 vector<vector<Complex> > _ckm; 0118 //@} 0119 0120 /** 0121 * Store \f$sin(\theta_W)\f$ 0122 */ 0123 double _sw; 0124 0125 /** 0126 * Store the neutralino mixing matrix 0127 */ 0128 tMixingMatrixPtr _theN; 0129 0130 /** 0131 * Store the U-type chargino mixing matrix 0132 */ 0133 tMixingMatrixPtr _theU; 0134 0135 /** 0136 * Store the V-type chargino mixing matrix 0137 */ 0138 tMixingMatrixPtr _theV; 0139 0140 /** 0141 * The value of the coupling when it was last evaluated 0142 */ 0143 Complex _couplast; 0144 0145 /** 0146 * The scale at which the coupling was last evaluated 0147 */ 0148 Energy2 _q2last; 0149 0150 /** 0151 * The id of the first chargino the last time the vertex was evaluated 0152 */ 0153 long _id1last; 0154 0155 /** 0156 * The id of the second chargino the last time the vertex was evaluated 0157 */ 0158 long _id2last; 0159 0160 /** 0161 * The value of the left coupling when it was last evaluated 0162 */ 0163 Complex _leftlast; 0164 0165 /** 0166 * The value of the right coupling when it was last evaluated 0167 */ 0168 Complex _rightlast; 0169 0170 /** 0171 * Which interactions to include 0172 */ 0173 unsigned int _interactions; 0174 }; 0175 0176 } 0177 0178 #endif /* Herwig_RPVFFWVertex_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|