9 #ifndef ThePEG_Amplitude_H
10 #define ThePEG_Amplitude_H
14 #include "ThePEG/Handlers/HandlerBase.h"
15 #include "ThePEG/PDT/ParticleData.h"
16 #include "ThePEG/EventRecord/Particle.h"
53 const vector<Lorentz5Momentum> & momenta,
54 const vector<int> & helicities) = 0;
65 const vector<Lorentz5Momentum> & momenta,
66 const vector<int> & helicities);
85 const vector<int> & helicities);
119 struct BaseClassTrait<Amplitude,1>:
public ClassTraitsType {
129 struct ClassTraits<Amplitude>:
public ClassTraitsBase<Amplitude> {
131 static string className() {
return "ThePEG::Amplitude"; }
std::complex< double > Complex
ThePEG code should use Complex for all complex scalars.
static AbstractNoPIOClassDescription< Amplitude > initAmplitude
Describe an abstract base class with persistent data.
vector< tcPDPtr > tcPDVector
A vector of transient pointers to const ParticleData objects.
static void Init()
Standard Init function used to initialize the interfaces.
This is the main namespace within which all identifiers in ThePEG are declared.
The Amplitude class is the abstract base class for all the classes representing complex amplitudes as...
A concreate implementation of ClassDescriptionBase describing an abstract class without persistent da...
Amplitude & operator=(const Amplitude &)
Private and non-existent assignment operator.
virtual Complex value(const tcPDVector &particles, const vector< Lorentz5Momentum > &momenta, const vector< int > &helicities)=0
Return the amplitude.
HandlerBase is an abstract base class derived from the Interfaced class via the HandlerBaseT class ad...
static string className()
Return the name of class T.
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
virtual Complex overestimateValue(const tcPDVector &particles, const vector< Lorentz5Momentum > &momenta, const vector< int > &helicities)
Return an overestimated amplitude.
vector< PPtr > PVector
A vector of pointers to Particle objects.