thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
MatrixElement
Amplitude.h
1
// -*- C++ -*-
2
//
3
// Amplitude.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 1999-2019 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_Amplitude_H
10
#define ThePEG_Amplitude_H
11
// This is the declaration of the Amplitude class.
12
13
14
#include "ThePEG/Handlers/HandlerBase.h"
15
#include "ThePEG/PDT/ParticleData.h"
16
#include "ThePEG/EventRecord/Particle.h"
17
18
namespace
ThePEG
{
19
34
class
Amplitude
:
public
HandlerBase
{
35
52
virtual
Complex
value
(
const
tcPDVector
& particles,
53
const
vector<Lorentz5Momentum> & momenta,
54
const
vector<int> & helicities) = 0;
55
64
virtual
Complex
overestimateValue
(
const
tcPDVector
& particles,
65
const
vector<Lorentz5Momentum> & momenta,
66
const
vector<int> & helicities);
68
77
Complex
value
(
const
PVector
& particles,
const
vector<int> & helicities);
78
84
Complex
overestimateValue
(
const
PVector
& particles,
85
const
vector<int> & helicities);
87
88
public
:
89
93
static
void
Init
();
94
98
static
AbstractNoPIOClassDescription<Amplitude>
initAmplitude
;
99
103
Amplitude
&
operator=
(
const
Amplitude
&) =
delete
;
104
105
};
106
107
}
108
109
110
namespace
ThePEG
{
111
118
template
<>
119
struct
BaseClassTrait<Amplitude,1>:
public
ClassTraitsType {
121
typedef
HandlerBase
NthBase
;
122
};
123
128
template
<>
129
struct
ClassTraits<Amplitude>:
public
ClassTraitsBase<Amplitude> {
131
static
string
className
() {
return
"ThePEG::Amplitude"
; }
132
};
133
136
}
137
138
#endif
/* ThePEG_Amplitude_H */
ThePEG::AbstractNoPIOClassDescription
A concreate implementation of ClassDescriptionBase describing an abstract class without persistent da...
Definition:
ClassDescription.h:417
ThePEG::Amplitude
The Amplitude class is the abstract base class for all the classes representing complex amplitudes as...
Definition:
Amplitude.h:34
ThePEG::Amplitude::operator=
Amplitude & operator=(const Amplitude &)=delete
Private and non-existent assignment operator.
ThePEG::Amplitude::overestimateValue
Complex overestimateValue(const PVector &particles, const vector< int > &helicities)
Return an overestimated amplitude.
ThePEG::Amplitude::overestimateValue
virtual Complex overestimateValue(const tcPDVector &particles, const vector< Lorentz5Momentum > &momenta, const vector< int > &helicities)
Return an overestimated amplitude.
ThePEG::Amplitude::initAmplitude
static AbstractNoPIOClassDescription< Amplitude > initAmplitude
Describe an abstract base class with persistent data.
Definition:
Amplitude.h:98
ThePEG::Amplitude::value
Complex value(const PVector &particles, const vector< int > &helicities)
Return the amplitude.
ThePEG::Amplitude::value
virtual Complex value(const tcPDVector &particles, const vector< Lorentz5Momentum > &momenta, const vector< int > &helicities)=0
Return the amplitude.
ThePEG::Amplitude::Init
static void Init()
Standard Init function used to initialize the interfaces.
ThePEG::HandlerBase
HandlerBase is an abstract base class derived from the Interfaced class via the HandlerBaseT class ad...
Definition:
HandlerBase.h:151
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
ThePEG::PVector
vector< PPtr > PVector
A vector of pointers to Particle objects.
Definition:
Containers.h:76
ThePEG::tcPDVector
vector< tcPDPtr > tcPDVector
A vector of transient pointers to const ParticleData objects.
Definition:
Containers.h:42
ThePEG::BaseClassTrait::NthBase
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition:
ClassTraits.h:161
ThePEG::ClassTraitsBase::className
static string className()
Return the name of class T.
Definition:
ClassTraits.h:66
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6