herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
AnomalousWWHVertex.h
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 */