herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Decay
WeakCurrents
TwoKaonCzyzCurrent.h
1
// -*- C++ -*-
2
#ifndef Herwig_TwoKaonCzyzCurrent_H
3
#define Herwig_TwoKaonCzyzCurrent_H
4
//
5
// This is the declaration of the TwoKaonCzyzCurrent class.
6
//
7
8
#include "WeakCurrent.h"
9
10
namespace
Herwig
{
11
12
using namespace
ThePEG
;
13
21
class
TwoKaonCzyzCurrent
:
public
WeakCurrent
{
22
23
public
:
24
28
TwoKaonCzyzCurrent
();
29
30
51
virtual
bool
createMode
(
int
icharge,
tcPDPtr
resonance,
FlavourInfo
flavour,
52
unsigned
int
imode,PhaseSpaceModePtr mode,
53
unsigned
int
iloc,
int
ires,
54
PhaseSpaceChannel
phase, Energy upp );
55
65
virtual
tPDVector
particles
(
int
icharge,
unsigned
int
imode,
int
iq,
int
ia);
67
81
virtual
vector<LorentzPolarizationVectorE>
82
current
(
tcPDPtr
resonance,
FlavourInfo
flavour,
83
const
int
imode,
const
int
ichan,Energy & scale,
84
const
tPDVector
&
outgoing
,
85
const
vector<Lorentz5Momentum> & momenta,
86
DecayIntegrator::MEOption
meopt)
const
;
87
93
virtual
bool
accept
(vector<int>
id
);
94
100
virtual
unsigned
int
decayMode
(vector<int>
id
);
101
108
virtual
void
dataBaseOutput
(ofstream & os,
bool
header,
bool
create)
const
;
109
113
Complex
Fkaon
(Energy2 q2,
const
int
imode,
const
int
ichan,
114
IsoSpin::IsoSpin Itotal,
115
Strangeness::Strange strange,
116
tcPDPtr
resonance,
117
Energy ma, Energy mb)
const
;
118
122
Complex
FkaonRemainderI1
(Energy2 q2)
const
;
123
127
Complex
FkaonRemainderI0
(Energy2 q2,Energy ma, Energy mb)
const
;
128
129
public
:
130
137
void
persistentOutput
(
PersistentOStream
& os)
const
;
138
144
void
persistentInput
(
PersistentIStream
& is,
int
version);
146
153
static
void
Init
();
154
155
protected
:
156
163
virtual
IBPtr
clone
()
const
;
164
169
virtual
IBPtr
fullclone
()
const
;
171
172
protected
:
173
176
182
virtual
void
doinit
();
184
188
void
constructInterpolators
()
const
;
189
190
private
:
191
196
TwoKaonCzyzCurrent
&
operator=
(
const
TwoKaonCzyzCurrent
&) =
delete
;
197
198
private
:
199
207
vector<Complex>
rhoWgt_
;
208
212
vector<double>
rhoMag_
;
213
217
vector<double>
rhoPhase_
;
219
227
vector<Complex>
omegaWgt_
;
228
232
vector<double>
omegaMag_
;
233
237
vector<double>
omegaPhase_
;
239
247
vector<Complex>
phiWgt_
;
248
252
vector<double>
phiMag_
;
253
257
vector<double>
phiPhase_
;
259
263
vector<Energy>
rhoMasses_
;
264
268
vector<Energy>
rhoWidths_
;
269
273
vector<Energy>
omegaMasses_
;
274
278
vector<Energy>
omegaWidths_
;
279
283
vector<Energy>
phiMasses_
;
284
288
vector<Energy>
phiWidths_
;
289
293
double
betaRho_
;
294
298
double
betaOmega_
;
299
303
double
betaPhi_
;
304
308
unsigned
int
nMax_
;
309
313
double
etaPhi_
;
314
318
double
gammaOmega_
;
319
323
double
gammaPhi_
;
324
328
vector<vector<Energy> >
mass_
;
329
333
vector<vector<Energy> >
width_
;
334
338
vector<vector<Complex> >
coup_
;
339
344
vector<double>
dh_
;
345
350
vector<Energy2>
hres_
;
351
356
vector<Energy2>
h0_
;
357
361
Energy
mpi_
;
362
366
Energy
eMax_
;
367
371
mutable
Interpolator<double,Energy2>::Ptr
fKI0Re_
, fKI0Im_,fKI1Re_, fKI1Im_;
372
373
};
374
375
}
376
377
#endif
/* Herwig_TwoKaonCzyzCurrent_H */
Herwig::DecayIntegrator::MEOption
MEOption
Enum for the matrix element option.
Definition:
DecayIntegrator.h:72
Herwig::Interpolator::Ptr
Ptr< Interpolator< ValT, ArgT > >::pointer Ptr
Pointer to an Interpolator.
Definition:
Interpolator.h:38
Herwig::PhaseSpaceChannel
This class is designed to store the information needed for a given phase-space channel for use by the...
Definition:
PhaseSpaceChannel.h:52
Herwig::TwoKaonCzyzCurrent
The TwoKaonCzyzCurrent class implements the current of PRD 81 094014 for the production of two kaons.
Definition:
TwoKaonCzyzCurrent.h:21
Herwig::TwoKaonCzyzCurrent::createMode
virtual bool createMode(int icharge, tcPDPtr resonance, FlavourInfo flavour, unsigned int imode, PhaseSpaceModePtr mode, unsigned int iloc, int ires, PhaseSpaceChannel phase, Energy upp)
Complete the construction of the decay mode for integration.classes inheriting from this one.
Herwig::TwoKaonCzyzCurrent::mass_
vector< vector< Energy > > mass_
Masses of the resonances.
Definition:
TwoKaonCzyzCurrent.h:328
Herwig::TwoKaonCzyzCurrent::current
virtual vector< LorentzPolarizationVectorE > current(tcPDPtr resonance, FlavourInfo flavour, const int imode, const int ichan, Energy &scale, const tPDVector &outgoing, const vector< Lorentz5Momentum > &momenta, DecayIntegrator::MEOption meopt) const
Hadronic current.
Herwig::TwoKaonCzyzCurrent::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::TwoKaonCzyzCurrent::omegaPhase_
vector< double > omegaPhase_
The phase for input.
Definition:
TwoKaonCzyzCurrent.h:237
Herwig::TwoKaonCzyzCurrent::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::TwoKaonCzyzCurrent::betaRho_
double betaRho_
Regge parameter for resonances.
Definition:
TwoKaonCzyzCurrent.h:293
Herwig::TwoKaonCzyzCurrent::h0_
vector< Energy2 > h0_
The parameter for the GS form of the Breit-Wigner.
Definition:
TwoKaonCzyzCurrent.h:356
Herwig::TwoKaonCzyzCurrent::omegaMag_
vector< double > omegaMag_
The magnitude for input.
Definition:
TwoKaonCzyzCurrent.h:232
Herwig::TwoKaonCzyzCurrent::rhoPhase_
vector< double > rhoPhase_
The phase for input.
Definition:
TwoKaonCzyzCurrent.h:217
Herwig::TwoKaonCzyzCurrent::FkaonRemainderI0
Complex FkaonRemainderI0(Energy2 q2, Energy ma, Energy mb) const
Calculation of the kaon form factor, remainder I=0.
Herwig::TwoKaonCzyzCurrent::gammaOmega_
double gammaOmega_
The parameter.
Definition:
TwoKaonCzyzCurrent.h:318
Herwig::TwoKaonCzyzCurrent::rhoWidths_
vector< Energy > rhoWidths_
The widths of the resonances.
Definition:
TwoKaonCzyzCurrent.h:268
Herwig::TwoKaonCzyzCurrent::gammaPhi_
double gammaPhi_
The parameter.
Definition:
TwoKaonCzyzCurrent.h:323
Herwig::TwoKaonCzyzCurrent::particles
virtual tPDVector particles(int icharge, unsigned int imode, int iq, int ia)
The particles produced by the current.
Herwig::TwoKaonCzyzCurrent::dh_
vector< double > dh_
The function at for the GS form of the Breit-Wigner.
Definition:
TwoKaonCzyzCurrent.h:344
Herwig::TwoKaonCzyzCurrent::width_
vector< vector< Energy > > width_
Widths of the resonances.
Definition:
TwoKaonCzyzCurrent.h:333
Herwig::TwoKaonCzyzCurrent::dataBaseOutput
virtual void dataBaseOutput(ofstream &os, bool header, bool create) const
Output the setup information for the particle database.
Herwig::TwoKaonCzyzCurrent::fKI0Re_
Interpolator< double, Energy2 >::Ptr fKI0Re_
Interpolators for the higher resonance components for speed.
Definition:
TwoKaonCzyzCurrent.h:371
Herwig::TwoKaonCzyzCurrent::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::TwoKaonCzyzCurrent::phiPhase_
vector< double > phiPhase_
The phase for input.
Definition:
TwoKaonCzyzCurrent.h:257
Herwig::TwoKaonCzyzCurrent::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::TwoKaonCzyzCurrent::phiMasses_
vector< Energy > phiMasses_
The masses of the resonances.
Definition:
TwoKaonCzyzCurrent.h:283
Herwig::TwoKaonCzyzCurrent::doinit
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
Herwig::TwoKaonCzyzCurrent::eMax_
Energy eMax_
The maximum energy.
Definition:
TwoKaonCzyzCurrent.h:366
Herwig::TwoKaonCzyzCurrent::mpi_
Energy mpi_
The charged pion mass.
Definition:
TwoKaonCzyzCurrent.h:361
Herwig::TwoKaonCzyzCurrent::decayMode
virtual unsigned int decayMode(vector< int > id)
Return the decay mode number for a given set of particles in the current.
Herwig::TwoKaonCzyzCurrent::rhoMag_
vector< double > rhoMag_
The magnitude for input.
Definition:
TwoKaonCzyzCurrent.h:212
Herwig::TwoKaonCzyzCurrent::rhoWgt_
vector< Complex > rhoWgt_
Weights for the different resonances in the current, .
Definition:
TwoKaonCzyzCurrent.h:207
Herwig::TwoKaonCzyzCurrent::FkaonRemainderI1
Complex FkaonRemainderI1(Energy2 q2) const
Calculation of the kaon form factor, remainder I=1.
Herwig::TwoKaonCzyzCurrent::omegaWgt_
vector< Complex > omegaWgt_
Weights for the different resonances in the current, .
Definition:
TwoKaonCzyzCurrent.h:227
Herwig::TwoKaonCzyzCurrent::coup_
vector< vector< Complex > > coup_
Couplings of the resonaces.
Definition:
TwoKaonCzyzCurrent.h:338
Herwig::TwoKaonCzyzCurrent::constructInterpolators
void constructInterpolators() const
Construct the interpolators.
Herwig::TwoKaonCzyzCurrent::omegaMasses_
vector< Energy > omegaMasses_
The masses of the resonances.
Definition:
TwoKaonCzyzCurrent.h:273
Herwig::TwoKaonCzyzCurrent::rhoMasses_
vector< Energy > rhoMasses_
The masses of the resonances.
Definition:
TwoKaonCzyzCurrent.h:263
Herwig::TwoKaonCzyzCurrent::betaOmega_
double betaOmega_
Regge parameter for resonances.
Definition:
TwoKaonCzyzCurrent.h:298
Herwig::TwoKaonCzyzCurrent::nMax_
unsigned int nMax_
Number of resonaces at which to trucated the series.
Definition:
TwoKaonCzyzCurrent.h:308
Herwig::TwoKaonCzyzCurrent::Fkaon
Complex Fkaon(Energy2 q2, const int imode, const int ichan, IsoSpin::IsoSpin Itotal, Strangeness::Strange strange, tcPDPtr resonance, Energy ma, Energy mb) const
Calculation of the kaon form factor.
Herwig::TwoKaonCzyzCurrent::hres_
vector< Energy2 > hres_
The function at for the GS form of the Breit-Wigner.
Definition:
TwoKaonCzyzCurrent.h:350
Herwig::TwoKaonCzyzCurrent::phiWgt_
vector< Complex > phiWgt_
Weights for the different resonances in the current, .
Definition:
TwoKaonCzyzCurrent.h:247
Herwig::TwoKaonCzyzCurrent::phiWidths_
vector< Energy > phiWidths_
The widths of the resonances.
Definition:
TwoKaonCzyzCurrent.h:288
Herwig::TwoKaonCzyzCurrent::omegaWidths_
vector< Energy > omegaWidths_
The widths of the resonances.
Definition:
TwoKaonCzyzCurrent.h:278
Herwig::TwoKaonCzyzCurrent::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::TwoKaonCzyzCurrent::etaPhi_
double etaPhi_
The parameter.
Definition:
TwoKaonCzyzCurrent.h:313
Herwig::TwoKaonCzyzCurrent::accept
virtual bool accept(vector< int > id)
Accept the decay.
Herwig::TwoKaonCzyzCurrent::betaPhi_
double betaPhi_
Regge parameter for resonances.
Definition:
TwoKaonCzyzCurrent.h:303
Herwig::TwoKaonCzyzCurrent::phiMag_
vector< double > phiMag_
The magnitude for input.
Definition:
TwoKaonCzyzCurrent.h:252
Herwig::TwoKaonCzyzCurrent::operator=
TwoKaonCzyzCurrent & operator=(const TwoKaonCzyzCurrent &)=delete
The assignment operator is private and must never be called.
Herwig::TwoKaonCzyzCurrent::TwoKaonCzyzCurrent
TwoKaonCzyzCurrent()
The default constructor.
Herwig::WeakCurrent
The WeakCurrent class is the base class for the hadronic currents produced in weak decays.
Definition:
WeakCurrent.h:59
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::Helicity::outgoing
outgoing
ThePEG
ThePEG::Complex
std::complex< double > Complex
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tPDVector
vector< tPDPtr > tPDVector
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Herwig::FlavourInfo
Definition:
IsoSpin.h:46
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6