herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Decay
FormFactors
KMatrix.h
1
// -*- C++ -*-
2
#ifndef Herwig_KMatrix_H
3
#define Herwig_KMatrix_H
4
//
5
// This is the declaration of the KMatrix class.
6
//
7
8
#include "ThePEG/Interface/Interfaced.h"
9
#include "Herwig/Decay/IsoSpin.h"
10
#include "KMatrix.fh"
11
#include <boost/numeric/ublas/matrix.hpp>
12
#include "Herwig/Utilities/Interpolator.h"
13
14
namespace
Herwig
{
15
namespace
ublas = boost::numeric::ublas;
16
using namespace
ThePEG
;
17
25
class
KMatrix
:
public
Interfaced
{
26
27
public
:
28
32
enum
Channels
{ PiPi, KPi, KEta, KEtaPrime, KK, EtaEta,EtaEtaPrime,FourPi};
33
34
public
:
35
39
KMatrix
(
FlavourInfo
flavour=
FlavourInfo
(),
40
vector<Channels> channels=vector<Channels>(),
41
vector<Energy2>
poles
=vector<Energy2>(),
42
vector<vector<Energy> > g=vector<vector<Energy> >());
43
47
FlavourInfo
flavourInfo
()
const
{
48
return
flavour_
;
49
};
50
56
virtual
ublas::matrix<double>
K
(Energy2 s,
bool
multiplyByPoles=
false
)
const
= 0;
57
61
virtual
ublas::matrix<Complex>
rho
(Energy2 s)
const
;
62
66
const
vector<Energy2> &
poles
()
const
{
return
poles_
;}
67
71
const
vector<vector<Energy> > &
poleCouplings
()
const
{
return
g_
;}
72
77
virtual
ublas::vector<Complex>
78
amplitudes
(Energy2 s, ublas::vector<Complex> pVector,
79
bool
multiplyByPoles=
false
)
const
;
80
84
unsigned
int
numberOfChannels
() {
return
channels_
.size();}
85
89
string
setCouplings
(
string
arg);
90
94
string
setPoles
(
string
arg);
95
96
public
:
97
104
void
persistentOutput
(
PersistentOStream
& os)
const
;
105
111
void
persistentInput
(
PersistentIStream
& is,
int
version);
113
120
static
void
Init
();
121
122
protected
:
123
131
virtual
void
doinit
();
133
134
private
:
135
140
KMatrix
&
operator=
(
const
KMatrix
&) =
delete
;
141
142
private
:
143
147
FlavourInfo
flavour_
;
148
152
vector<Channels>
channels_
;
153
157
vector<Energy2>
poles_
;
158
162
vector<vector<Energy> >
g_
;
163
164
private
:
165
173
Energy
mPiPlus_
;
174
178
Energy
mPi0_
;
179
183
Energy
mKPlus_
;
184
188
Energy
mK0_
;
189
193
Energy
mEta_
;
194
198
Energy
mEtaPrime_
;
200
208
bool
initTable_
;
209
213
double
rho0_
;
214
218
double
n_
;
219
223
vector<Energy2>
en_
;
224
228
vector<double>
rho_
;
229
233
mutable
Interpolator<double,Energy2>::Ptr
inter_
;
235
};
236
237
}
238
239
#endif
/* Herwig_KMatrix_H */
Herwig::Interpolator::Ptr
Ptr< Interpolator< ValT, ArgT > >::pointer Ptr
Pointer to an Interpolator.
Definition:
Interpolator.h:38
Herwig::KMatrix
The KMatrix class is a base class for the implementation of K-matrix parameterizations in Herwig.
Definition:
KMatrix.h:25
Herwig::KMatrix::n_
double n_
Power.
Definition:
KMatrix.h:218
Herwig::KMatrix::poleCouplings
const vector< vector< Energy > > & poleCouplings() const
Access the couplings of the poles.
Definition:
KMatrix.h:71
Herwig::KMatrix::mEtaPrime_
Energy mEtaPrime_
The mass.
Definition:
KMatrix.h:198
Herwig::KMatrix::numberOfChannels
unsigned int numberOfChannels()
The number of channels.
Definition:
KMatrix.h:84
Herwig::KMatrix::KMatrix
KMatrix(FlavourInfo flavour=FlavourInfo(), vector< Channels > channels=vector< Channels >(), vector< Energy2 > poles=vector< Energy2 >(), vector< vector< Energy > > g=vector< vector< Energy > >())
The default constructor.
Herwig::KMatrix::rho0_
double rho0_
Matching constant.
Definition:
KMatrix.h:213
Herwig::KMatrix::mEta_
Energy mEta_
The mass.
Definition:
KMatrix.h:193
Herwig::KMatrix::amplitudes
virtual ublas::vector< Complex > amplitudes(Energy2 s, ublas::vector< Complex > pVector, bool multiplyByPoles=false) const
Compute the amplitdes given the -vector.
Herwig::KMatrix::en_
vector< Energy2 > en_
Energy values for interpolator.
Definition:
KMatrix.h:223
Herwig::KMatrix::flavour_
FlavourInfo flavour_
The quantum numbers for the K-matrix.
Definition:
KMatrix.h:147
Herwig::KMatrix::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::KMatrix::mPi0_
Energy mPi0_
The neutral pion mass.
Definition:
KMatrix.h:178
Herwig::KMatrix::setPoles
string setPoles(string arg)
Set the pole values.
Herwig::KMatrix::flavourInfo
FlavourInfo flavourInfo() const
The quantum numbers of the K-matrix.
Definition:
KMatrix.h:47
Herwig::KMatrix::poles
const vector< Energy2 > & poles() const
Vector containing the locations of the poles.
Definition:
KMatrix.h:66
Herwig::KMatrix::operator=
KMatrix & operator=(const KMatrix &)=delete
The assignment operator is private and must never be called.
Herwig::KMatrix::initTable_
bool initTable_
Parameters for the four piojn phase space.
Definition:
KMatrix.h:208
Herwig::KMatrix::setCouplings
string setCouplings(string arg)
Set the couplings.
Herwig::KMatrix::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::KMatrix::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::KMatrix::mKPlus_
Energy mKPlus_
The charged kaon mass.
Definition:
KMatrix.h:183
Herwig::KMatrix::rho_
vector< double > rho_
values
Definition:
KMatrix.h:228
Herwig::KMatrix::K
virtual ublas::matrix< double > K(Energy2 s, bool multiplyByPoles=false) const =0
Compute the K-matrix for a given scale.
Herwig::KMatrix::channels_
vector< Channels > channels_
The mesons in the various channels.
Definition:
KMatrix.h:152
Herwig::KMatrix::mPiPlus_
Energy mPiPlus_
Common masses for the matrix.
Definition:
KMatrix.h:173
Herwig::KMatrix::poles_
vector< Energy2 > poles_
The positions of the poles.
Definition:
KMatrix.h:157
Herwig::KMatrix::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::KMatrix::g_
vector< vector< Energy > > g_
Couplings for the resonances.
Definition:
KMatrix.h:162
Herwig::KMatrix::Channels
Channels
Enum for the possible channels.
Definition:
KMatrix.h:32
Herwig::KMatrix::rho
virtual ublas::matrix< Complex > rho(Energy2 s) const
The matrix.
Herwig::KMatrix::mK0_
Energy mK0_
The neutral kaon mass.
Definition:
KMatrix.h:188
Herwig::KMatrix::inter_
Interpolator< double, Energy2 >::Ptr inter_
The interpolator.
Definition:
KMatrix.h:233
ThePEG::Interfaced
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
Herwig::FlavourInfo
Definition:
IsoSpin.h:46
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6