thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
Helicity
Vertex
Scalar
SSSVertex.h
1
// -*- C++ -*-
2
//
3
// SSSVertex.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 2003-2019 Peter Richardson, Leif Lonnblad
5
//
6
// ThePEG is licenced under version 3 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
35
class
SSSVertex
:
public
AbstractSSSVertex
{
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
92
virtual
void
setCoupling
(
Energy2
q2,
tcPDPtr
part1,
93
tcPDPtr
part2,
tcPDPtr
part3)=0;
94
100
virtual
void
setCoupling
(
Energy2
,
tcPDPtr
,
tcPDPtr
,
tcPDPtr
,
tcPDPtr
) {
101
assert(
false
);
102
}
104
105
private
:
106
110
SSSVertex
&
operator=
(
const
SSSVertex
&) =
delete
;
111
112
};
113
114
}
115
116
}
117
#endif
/* ThePEG_SSSVertex_H */
ThePEG::Helicity::AbstractSSSVertex
The AbstractSSSVertex class is the base class for all scalar-scalar-scalar interactions in ThePEG.
Definition:
AbstractSSSVertex.h:19
ThePEG::Helicity::SSSVertex
The SSSVertex class is the implementation of the interaction of three scalars.
Definition:
SSSVertex.h:35
ThePEG::Helicity::SSSVertex::operator=
SSSVertex & operator=(const SSSVertex &)=delete
Private and non-existent assignment operator.
ThePEG::Helicity::SSSVertex::Init
static void Init()
Standard Init function used to initialize the interfaces.
ThePEG::Helicity::SSSVertex::evaluate
Complex evaluate(Energy2 q2, const ScalarWaveFunction &sca1, const ScalarWaveFunction &sca2, const ScalarWaveFunction &sca3)
Members to calculate the helicity amplitude expressions for vertices and off-shell particles.
ThePEG::Helicity::SSSVertex::evaluate
ScalarWaveFunction evaluate(Energy2 q2, int iopt, tcPDPtr out, const ScalarWaveFunction &sca1, const ScalarWaveFunction &sca2, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)
Evaluate the off-shell scalar coming from the vertex.
ThePEG::Helicity::SSSVertex::setCoupling
virtual void setCoupling(Energy2 q2, tcPDPtr part1, tcPDPtr part2, tcPDPtr part3)=0
Set coupling methods.
ThePEG::Helicity::SSSVertex::setCoupling
virtual void setCoupling(Energy2, tcPDPtr, tcPDPtr, tcPDPtr, tcPDPtr)
Dummy setCouplings for a four point interaction This method is virtual and must be implemented in cla...
Definition:
SSSVertex.h:100
ThePEG::Helicity::ScalarWaveFunction
Definition:
ScalarWaveFunction.h:36
ThePEG::Pointer::TransientConstRCPtr
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition:
RCPtr.h:696
ThePEG::Qty< 0, 2, 0 >
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::Complex
std::complex< double > Complex
ThePEG code should use Complex for all complex scalars.
Definition:
Complex.h:23
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6