herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Decay
Dalitz
DalitzKMatrix.h
1
// -*- C++ -*-
2
#ifndef Herwig_DalitzKMatrix_H
3
#define Herwig_DalitzKMatrix_H
4
//
5
// This is the declaration of the DalitzKMatrix class.
6
//
7
8
#include "DalitzResonance.h"
9
#include "Herwig/Decay/FormFactors/KMatrix.h"
10
11
namespace
Herwig
{
12
13
using namespace
ThePEG
;
14
18
class
DalitzKMatrix
:
public
DalitzResonance
{
19
20
public
:
21
25
DalitzKMatrix
()
26
{}
27
31
DalitzKMatrix
(
long
pid, ResonanceType::Type rtype, Energy m, Energy w,
32
unsigned
int
d1,
unsigned
int
d2,
unsigned
int
s,
33
double
mag,
double
phi, InvEnergy rr,
34
unsigned
int
imat,
unsigned
int
chan,
35
Energy2 sc,
unsigned
int
itype,
36
vector<pair<double,double> > beta,
37
vector<pair<
double
,vector<double > > > coeffs)
38
:
DalitzResonance
(pid,rtype,m,w,d1,d2,s,mag,phi,rr),
39
imat_
(imat),
channel_
(chan),
sc_
(sc),
expType_
(itype),
coeffs_
(coeffs) {
40
beta_
.clear();
41
for
(
unsigned
int
ix=0;ix<beta.size();++ix) {
42
beta_
.push_back(beta[ix].first*exp(
Complex
(0.,beta[ix].second)));
43
}
44
}
45
46
public
:
47
51
virtual
Complex
BreitWigner
(
const
Energy & mAB,
const
Energy & mA,
const
Energy & mB)
const
;
52
56
virtual
void
dataBaseOutput
(ofstream & output);
57
58
public
:
59
63
void
setKMatrix
(KMatrixPtr mat) {
kMatrix_
= mat;}
64
68
unsigned
int
imatrix
()
const
{
return
imat_
;}
69
70
public
:
71
78
void
persistentOutput
(
PersistentOStream
& os)
const
;
79
85
void
persistentInput
(
PersistentIStream
& is,
int
version);
87
94
static
void
Init
();
95
96
private
:
97
102
DalitzKMatrix
&
operator=
(
const
DalitzKMatrix
&) =
delete
;
103
104
private
:
105
109
KMatrixPtr
kMatrix_
;
110
114
unsigned
int
imat_
;
115
119
unsigned
int
channel_
;
120
124
Energy2
sc_
;
125
129
vector<Complex>
beta_
;
130
134
unsigned
int
expType_
;
135
139
vector<pair<double,vector<double > > >
coeffs_
;
140
141
};
142
143
}
144
145
#endif
/* Herwig_DalitzKMatrix_H */
Herwig::DalitzKMatrix
The DalitzKMatrix class allows the use of -matrices in Dalitz decays.
Definition:
DalitzKMatrix.h:18
Herwig::DalitzKMatrix::DalitzKMatrix
DalitzKMatrix()
The default constructor.
Definition:
DalitzKMatrix.h:25
Herwig::DalitzKMatrix::dataBaseOutput
virtual void dataBaseOutput(ofstream &output)
Output the parameters.
Herwig::DalitzKMatrix::kMatrix_
KMatrixPtr kMatrix_
The K-matrix for the channel.
Definition:
DalitzKMatrix.h:109
Herwig::DalitzKMatrix::channel_
unsigned int channel_
Which channel to use from the K-matrix.
Definition:
DalitzKMatrix.h:119
Herwig::DalitzKMatrix::beta_
vector< Complex > beta_
Coefficients of the poles.
Definition:
DalitzKMatrix.h:129
Herwig::DalitzKMatrix::operator=
DalitzKMatrix & operator=(const DalitzKMatrix &)=delete
The assignment operator is private and must never be called.
Herwig::DalitzKMatrix::BreitWigner
virtual Complex BreitWigner(const Energy &mAB, const Energy &mA, const Energy &mB) const
Return the Breit-Wigner times the form factor.
Herwig::DalitzKMatrix::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::DalitzKMatrix::DalitzKMatrix
DalitzKMatrix(long pid, ResonanceType::Type rtype, Energy m, Energy w, unsigned int d1, unsigned int d2, unsigned int s, double mag, double phi, InvEnergy rr, unsigned int imat, unsigned int chan, Energy2 sc, unsigned int itype, vector< pair< double, double > > beta, vector< pair< double, vector< double > > > coeffs)
Constructor specifiying the parameters.
Definition:
DalitzKMatrix.h:31
Herwig::DalitzKMatrix::coeffs_
vector< pair< double, vector< double > > > coeffs_
Coefficients for the series expansion.
Definition:
DalitzKMatrix.h:139
Herwig::DalitzKMatrix::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::DalitzKMatrix::expType_
unsigned int expType_
Type of expansion.
Definition:
DalitzKMatrix.h:134
Herwig::DalitzKMatrix::setKMatrix
void setKMatrix(KMatrixPtr mat)
Set the K-matrix.
Definition:
DalitzKMatrix.h:63
Herwig::DalitzKMatrix::imatrix
unsigned int imatrix() const
Location of the matrix.
Definition:
DalitzKMatrix.h:68
Herwig::DalitzKMatrix::imat_
unsigned int imat_
Which to do.
Definition:
DalitzKMatrix.h:114
Herwig::DalitzKMatrix::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::DalitzKMatrix::sc_
Energy2 sc_
Expansion point for the constant terms.
Definition:
DalitzKMatrix.h:124
Herwig::DalitzResonance
The DalitzResonance class provides a container class for information on resonances in multi-body dali...
Definition:
DalitzResonance.h:36
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::Complex
std::complex< double > Complex
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6