ThePEG  1.8.0
SSSVertex.h
1 // -*- C++ -*-
2 //
3 // SSSVertex.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_SSSVertex_H
10 #define ThePEG_SSSVertex_H
11 //
12 // This is the declaration of the SSSVertex class.
13 //
14 #include "ThePEG/Helicity/Vertex/AbstractSSSVertex.h"
15 #include "ThePEG/Helicity/WaveFunction/ScalarWaveFunction.h"
16 #include "SSSVertex.fh"
17 
18 namespace ThePEG {
19 namespace Helicity {
20 
36 
37 public:
38 
42  static void Init();
43 
44 public:
45 
58  Complex evaluate(Energy2 q2,const ScalarWaveFunction & sca1,
59  const ScalarWaveFunction & sca2,const ScalarWaveFunction & sca3);
60 
73  ScalarWaveFunction evaluate(Energy2 q2,int iopt, tcPDPtr out,
74  const ScalarWaveFunction & sca1,
75  const ScalarWaveFunction & sca2,
76  complex<Energy> mass=-GeV, complex<Energy> width=-GeV);
78 
87  virtual void setCoupling(Energy2 q2,tcPDPtr part1,tcPDPtr part2,tcPDPtr part3)=0;
88 
89 private:
90 
95 
99  SSSVertex & operator=(const SSSVertex &);
100 
101 };
102 
103 }
104 
111 template <>
112 struct BaseClassTrait<ThePEG::Helicity::SSSVertex,1> {
115 };
116 
121 template <>
122 struct ClassTraits<ThePEG::Helicity::SSSVertex>
123  : public ClassTraitsBase<ThePEG::Helicity::SSSVertex> {
124 
128  static string className() { return "ThePEG::SSSVertex"; }
129 };
130 
133 }
134 
135 
136 #endif /* ThePEG_SSSVertex_H */