herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Decay
FormFactors
ExperimentalOmnesFunction.h
1
// -*- C++ -*-
2
#ifndef Herwig_ExperimentalOmnesFunction_H
3
#define Herwig_ExperimentalOmnesFunction_H
4
//
5
// This is the declaration of the ExperimentalOmnesFunction class.
6
//
7
8
#include "OmnesFunction.h"
9
10
namespace
Herwig
{
11
12
using namespace
ThePEG
;
13
20
class
ExperimentalOmnesFunction
:
public
OmnesFunction
{
21
22
public
:
23
27
ExperimentalOmnesFunction
();
28
32
virtual
Complex
D
(Energy2 s)
const
;
33
40
virtual
void
dataBaseOutput
(ofstream & os,
bool
header,
bool
create)
const
;
41
42
public
:
43
47
InvEnergy4
operator ()
(Energy2 xpoint)
const
{
48
InvEnergy4 output = InvEnergy4();
49
Energy q(
sqrt
(xpoint));
50
if
(abs(xpoint-
s_
)>
sqr
(
epsCut_
))
51
output= (*interpolator_)(q)/xpoint/(xpoint-
s_
);
52
return
output;
53
}
55
typedef
InvEnergy4
ValType
;
57
typedef
Energy2
ArgType
;
58
59
public
:
60
67
void
persistentOutput
(
PersistentOStream
& os)
const
;
68
74
void
persistentInput
(
PersistentIStream
& is,
int
version);
76
83
static
void
Init
();
84
85
protected
:
86
93
virtual
IBPtr
clone
()
const
;
94
99
virtual
IBPtr
fullclone
()
const
;
101
102
protected
:
103
111
virtual
void
doinit
();
113
114
private
:
115
120
ExperimentalOmnesFunction
&
operator=
(
const
ExperimentalOmnesFunction
&) =
delete
;
121
122
private
:
123
127
vector<Energy>
energy_
;
128
132
vector<double>
phase_
;
133
137
vector<Energy>
omnesEnergy_
;
138
142
vector<double>
omnesFunctionRe_
;
143
147
vector<double>
omnesFunctionIm_
;
148
152
bool
initialize_
;
153
157
unsigned
int
nPoints_
;
158
166
mutable
Interpolator<double,Energy>::Ptr
oRe_
;
167
171
mutable
Interpolator<double,Energy>::Ptr
oIm_
;
173
177
Energy
epsCut_
;
178
182
unsigned
int
nsizea_
;
183
187
unsigned
int
nsizeb_
;
188
192
//@
196
Interpolator<double,Energy>::Ptr
interpolator_
;
197
201
Energy2
s_
;
203
204
};
205
206
}
207
208
#endif
/* Herwig_ExperimentalOmnesFunction_H */
Herwig::ExperimentalOmnesFunction
Here is the documentation of the ExperimentalOmnesFunction class.
Definition:
ExperimentalOmnesFunction.h:20
Herwig::ExperimentalOmnesFunction::nsizea_
unsigned int nsizea_
Size of the vectors for the experimental data.
Definition:
ExperimentalOmnesFunction.h:182
Herwig::ExperimentalOmnesFunction::initialize_
bool initialize_
set up of the interpolation table
Definition:
ExperimentalOmnesFunction.h:152
Herwig::ExperimentalOmnesFunction::phase_
vector< double > phase_
Experimental values of the phase shift.
Definition:
ExperimentalOmnesFunction.h:132
Herwig::ExperimentalOmnesFunction::dataBaseOutput
virtual void dataBaseOutput(ofstream &os, bool header, bool create) const
Output the setup information for the particle database.
Herwig::ExperimentalOmnesFunction::operator()
InvEnergy4 operator()(Energy2 xpoint) const
Integrand for the Omnes function.
Definition:
ExperimentalOmnesFunction.h:47
Herwig::ExperimentalOmnesFunction::D
virtual Complex D(Energy2 s) const
Method to return the function value.
Herwig::ExperimentalOmnesFunction::operator=
ExperimentalOmnesFunction & operator=(const ExperimentalOmnesFunction &)=delete
The assignment operator is private and must never be called.
Herwig::ExperimentalOmnesFunction::interpolator_
Interpolator< double, Energy >::Ptr interpolator_
Interpolator and scale for the Omes function integral.
Definition:
ExperimentalOmnesFunction.h:196
Herwig::ExperimentalOmnesFunction::epsCut_
Energy epsCut_
Cut-off parameter for the integral of the experimental function.
Definition:
ExperimentalOmnesFunction.h:177
Herwig::ExperimentalOmnesFunction::ArgType
Energy2 ArgType
Argument type for the GaussianIntegrator.
Definition:
ExperimentalOmnesFunction.h:57
Herwig::ExperimentalOmnesFunction::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::ExperimentalOmnesFunction::ExperimentalOmnesFunction
ExperimentalOmnesFunction()
The default constructor.
Herwig::ExperimentalOmnesFunction::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::ExperimentalOmnesFunction::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::ExperimentalOmnesFunction::nsizeb_
unsigned int nsizeb_
Size of the vectors for the interpolation tables.
Definition:
ExperimentalOmnesFunction.h:187
Herwig::ExperimentalOmnesFunction::nPoints_
unsigned int nPoints_
Number of points for the intepolation of the experimental Omnes function.
Definition:
ExperimentalOmnesFunction.h:157
Herwig::ExperimentalOmnesFunction::omnesFunctionRe_
vector< double > omnesFunctionRe_
Real part of the Omnes function for the interpolation table.
Definition:
ExperimentalOmnesFunction.h:142
Herwig::ExperimentalOmnesFunction::energy_
vector< Energy > energy_
Energy values for the experimental data on the phase shift.
Definition:
ExperimentalOmnesFunction.h:127
Herwig::ExperimentalOmnesFunction::oIm_
Interpolator< double, Energy >::Ptr oIm_
The interpolator for the imaginary part.
Definition:
ExperimentalOmnesFunction.h:171
Herwig::ExperimentalOmnesFunction::ValType
InvEnergy4 ValType
Return type for the GaussianIntegrator.
Definition:
ExperimentalOmnesFunction.h:55
Herwig::ExperimentalOmnesFunction::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::ExperimentalOmnesFunction::omnesEnergy_
vector< Energy > omnesEnergy_
Energy values for the interpolation table for the Omnes function.
Definition:
ExperimentalOmnesFunction.h:137
Herwig::ExperimentalOmnesFunction::omnesFunctionIm_
vector< double > omnesFunctionIm_
Imaginary part of the Omnes function for the interpolation table.
Definition:
ExperimentalOmnesFunction.h:147
Herwig::ExperimentalOmnesFunction::s_
Energy2 s_
The scale.
Definition:
ExperimentalOmnesFunction.h:201
Herwig::ExperimentalOmnesFunction::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::ExperimentalOmnesFunction::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::ExperimentalOmnesFunction::oRe_
Interpolator< double, Energy >::Ptr oRe_
Interpolators for the experimental Omnes function.
Definition:
ExperimentalOmnesFunction.h:166
Herwig::Interpolator::Ptr
Ptr< Interpolator< ValT, ArgT > >::pointer Ptr
Pointer to an Interpolator.
Definition:
Interpolator.h:38
Herwig::OmnesFunction
The OmnesFunction class provides a base class for the implementation of the Omnes function.
Definition:
OmnesFunction.h:22
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::sqrt
double sqrt(int x)
ThePEG::Complex
std::complex< double > Complex
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::sqr
constexpr auto sqr(const T &x) -> decltype(x *x)
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6