Herwig++
2.7.0
|
00001 // -*- C++ -*- 00002 #ifndef HERWIG_AnomalousWWHVertex_H 00003 #define HERWIG_AnomalousWWHVertex_H 00004 // 00005 // This is the declaration of the AnomalousWWHVertex class. 00006 // 00007 00008 #include "ThePEG/Helicity/Vertex/Scalar/GeneralVVSVertex.h" 00009 00010 namespace Herwig { 00011 using namespace ThePEG; 00012 00027 class AnomalousWWHVertex: public Helicity::GeneralVVSVertex { 00028 00029 public: 00030 00034 AnomalousWWHVertex(); 00035 00043 virtual void setCoupling(Energy2 q2,tcPDPtr part1, tcPDPtr part2, 00044 tcPDPtr part3); 00045 00046 public: 00047 00054 void persistentOutput(PersistentOStream & os) const; 00055 00061 void persistentInput(PersistentIStream & is, int version); 00063 00070 static void Init(); 00071 00072 protected: 00073 00080 virtual IBPtr clone() const; 00081 00086 virtual IBPtr fullclone() const; 00088 00089 protected: 00090 00098 virtual void doinit(); 00100 00101 private: 00102 00107 static ClassDescription<AnomalousWWHVertex> initAnomalousWWHVertex; 00108 00113 AnomalousWWHVertex & operator=(const AnomalousWWHVertex &); 00114 00118 unsigned int interactionType_; 00119 00123 Energy Lambda_; 00124 00132 Complex couplast_; 00133 00137 Energy2 q2last_; 00138 00142 Energy mw_; 00143 00147 double zfact_; 00149 }; 00150 00151 } 00152 00153 #include "ThePEG/Utilities/ClassTraits.h" 00154 00155 namespace ThePEG { 00156 00161 template <> 00162 struct BaseClassTrait<Herwig::AnomalousWWHVertex,1> { 00164 typedef Helicity::GeneralVVSVertex NthBase; 00165 }; 00166 00169 template <> 00170 struct ClassTraits<Herwig::AnomalousWWHVertex> 00171 : public ClassTraitsBase<Herwig::AnomalousWWHVertex> { 00173 static string className() { return "Herwig::AnomalousWWHVertex"; } 00181 static string library() { return "AnomalousHVV.so"; } 00182 }; 00183 00186 } 00187 00188 #endif /* HERWIG_AnomalousWWHVertex_H */