Herwig++
2.7.0
|
00001 // -*- C++ -*- 00002 #ifndef RADIATIVEZPRIME_FFZPrimeVertex_H 00003 #define RADIATIVEZPRIME_FFZPrimeVertex_H 00004 // 00005 // This is the declaration of the FFZPrimeVertex class. 00006 // 00007 00008 #include "ThePEG/Helicity/Vertex/Vector/FFVVertex.h" 00009 00010 namespace RadiativeZPrime { 00011 00012 using namespace ThePEG; 00013 00020 class FFZPrimeVertex: public Helicity::FFVVertex { 00021 00022 public: 00023 00027 inline FFZPrimeVertex(); 00028 00036 virtual void setCoupling(Energy2 q2,tcPDPtr part1,tcPDPtr part2,tcPDPtr part3); 00037 00038 public: 00039 00046 void persistentOutput(PersistentOStream & os) const; 00047 00053 void persistentInput(PersistentIStream & is, int version); 00055 00062 static void Init(); 00063 00064 protected: 00065 00072 inline virtual IBPtr clone() const {return new_ptr(*this);} 00073 00078 inline virtual IBPtr fullclone() const {return new_ptr(*this);} 00080 00081 protected: 00082 00088 virtual void doinit(); 00089 00090 private: 00091 00096 static ClassDescription<FFZPrimeVertex> initFFZPrimeVertex; 00097 00102 FFZPrimeVertex & operator=(const FFZPrimeVertex &); 00103 00104 00112 vector<double> _gl; 00113 00117 vector<double> _gr; 00119 }; 00120 00121 } 00122 00123 #include "ThePEG/Utilities/ClassTraits.h" 00124 00125 namespace ThePEG { 00126 00131 template <> 00132 struct BaseClassTrait<RadiativeZPrime::FFZPrimeVertex,1> { 00134 typedef Helicity::FFVVertex NthBase; 00135 }; 00136 00139 template <> 00140 struct ClassTraits<RadiativeZPrime::FFZPrimeVertex> 00141 : public ClassTraitsBase<RadiativeZPrime::FFZPrimeVertex> { 00143 static string className() { return "RadiativeZPrime::FFZPrimeVertex"; } 00151 static string library() { return "RadiativeZPrime.so"; } 00152 }; 00153 00156 } 00157 00158 #endif /* RADIATIVEZPRIME_FFZPrimeVertex_H */