ThePEG  1.8.0
SSSSVertex.h
1 // -*- C++ -*-
2 //
3 // SSSSVertex.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 2003-2011 Peter Richardson, Leif Lonnblad
5 //
6 // ThePEG is licenced under version 2 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef ThePEG_SSSSVertex_H
10 #define ThePEG_SSSSVertex_H
11 //
12 // This is the declaration of the SSSSVertex class.
13 //
14 #include "ThePEG/Helicity/Vertex/AbstractSSSSVertex.h"
15 #include "ThePEG/Helicity/WaveFunction/ScalarWaveFunction.h"
16 #include "SSSSVertex.fh"
17 
18 namespace ThePEG {
19 namespace Helicity {
20 
37 
38 public:
39 
43  static void Init();
44 
45 public:
46 
60  Complex evaluate(Energy2 q2, const ScalarWaveFunction & sca1,
61  const ScalarWaveFunction & sca2, const ScalarWaveFunction & sca3,
62  const ScalarWaveFunction & sca4);
63 
73  ScalarWaveFunction evaluate(Energy2 q2,int iopt, tcPDPtr out,
74  const ScalarWaveFunction & sca1,
75  const ScalarWaveFunction & sca2,
76  const ScalarWaveFunction & sca3);
78 
88  virtual void setCoupling(Energy2 q2,tcPDPtr part1,tcPDPtr part2,
89  tcPDPtr part3,tcPDPtr part4)=0;
90 
91 private:
92 
97 
101  SSSSVertex & operator=(const SSSSVertex &);
102 
103 };
104 }
105 
112 template <>
113 struct BaseClassTrait<ThePEG::Helicity::SSSSVertex,1> {
116 };
117 
122 template <>
123 struct ClassTraits<ThePEG::Helicity::SSSSVertex>
124  : public ClassTraitsBase<ThePEG::Helicity::SSSSVertex> {
125 
129  static string className() { return "ThePEG::SSSSVertex"; }
130 };
131 
134 }
135 
136 
137 #endif /* ThePEG_SSSSVertex_H */