herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Decay
WeakCurrents
TwoPionCzyzCurrent.h
1
// -*- C++ -*-
2
#ifndef Herwig_TwoPionCzyzCurrent_H
3
#define Herwig_TwoPionCzyzCurrent_H
4
//
5
// This is the declaration of the TwoPionCzyzCurrent class.
6
//
7
8
#include "WeakCurrent.h"
9
#include "Herwig/Utilities/Interpolator.h"
10
11
namespace
Herwig
{
12
13
using namespace
ThePEG
;
14
22
class
TwoPionCzyzCurrent
:
public
WeakCurrent
{
23
24
public
:
25
29
TwoPionCzyzCurrent
();
30
51
virtual
bool
createMode
(
int
icharge,
tcPDPtr
resonance,
52
FlavourInfo
flavour,
53
unsigned
int
imode,PhaseSpaceModePtr mode,
54
unsigned
int
iloc,
int
ires,
55
PhaseSpaceChannel
phase, Energy upp );
56
66
virtual
tPDVector
particles
(
int
icharge,
unsigned
int
imode,
int
iq,
int
ia);
68
82
virtual
vector<LorentzPolarizationVectorE>
83
current
(
tcPDPtr
resonance,
84
FlavourInfo
flavour,
85
const
int
imode,
const
int
ichan,Energy & scale,
86
const
tPDVector
&
outgoing
,
87
const
vector<Lorentz5Momentum> & momenta,
88
DecayIntegrator::MEOption
meopt)
const
;
89
95
virtual
bool
accept
(vector<int>
id
);
96
102
virtual
unsigned
int
decayMode
(vector<int>
id
);
103
110
virtual
void
dataBaseOutput
(ofstream & os,
bool
header,
bool
create)
const
;
111
115
Complex
Fpi
(Energy2 q2,
const
int
imode,
const
int
ichan,
tcPDPtr
resonance,
116
Energy ma, Energy mb)
const
;
117
121
Complex
FpiRemainder
(Energy2 q2, Energy ma, Energy mb)
const
;
122
123
public
:
124
131
void
persistentOutput
(
PersistentOStream
& os)
const
;
132
138
void
persistentInput
(
PersistentIStream
& is,
int
version);
140
147
static
void
Init
();
148
149
protected
:
150
157
virtual
IBPtr
clone
()
const
;
158
163
virtual
IBPtr
fullclone
()
const
;
165
166
protected
:
167
170
176
virtual
void
doinit
();
178
182
void
constructInterpolators
()
const
;
183
184
private
:
185
190
TwoPionCzyzCurrent
&
operator=
(
const
TwoPionCzyzCurrent
&) =
delete
;
191
192
private
:
193
201
vector<Complex>
rhoWgt_
;
202
206
vector<double>
rhoMag_
;
207
211
vector<double>
rhoPhase_
;
213
217
Complex
omegaWgt_
;
218
222
double
omegaMag_
;
223
227
double
omegaPhase_
;
228
232
vector<Energy>
rhoMasses_
;
233
237
vector<Energy>
rhoWidths_
;
238
242
Energy
omegaMass_
;
243
247
Energy
omegaWidth_
;
248
252
double
beta_
;
253
257
unsigned
int
nMax_
;
258
262
vector<Energy>
mass_
;
263
267
vector<Energy>
width_
;
268
272
vector<Complex>
coup_
;
273
278
vector<double>
dh_
;
279
284
vector<Energy2>
hres_
;
285
290
vector<Energy2>
h0_
;
291
295
Energy
eMax_
;
296
300
mutable
Interpolator<double,Energy2>::Ptr
fpiRe_
, fpiIm_;
301
};
302
303
}
304
305
#endif
/* Herwig_TwoPionCzyzCurrent_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::TwoPionCzyzCurrent
The TwoPionCzyzCurrent class implements the current of PRD 81 094014 for two pions.
Definition:
TwoPionCzyzCurrent.h:22
Herwig::TwoPionCzyzCurrent::rhoPhase_
vector< double > rhoPhase_
The phase for input.
Definition:
TwoPionCzyzCurrent.h:211
Herwig::TwoPionCzyzCurrent::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::TwoPionCzyzCurrent::omegaWgt_
Complex omegaWgt_
Weight for the omega resonance.
Definition:
TwoPionCzyzCurrent.h:217
Herwig::TwoPionCzyzCurrent::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::TwoPionCzyzCurrent::omegaMag_
double omegaMag_
The magnitude for input.
Definition:
TwoPionCzyzCurrent.h:222
Herwig::TwoPionCzyzCurrent::coup_
vector< Complex > coup_
Couplings of the resonaces.
Definition:
TwoPionCzyzCurrent.h:272
Herwig::TwoPionCzyzCurrent::decayMode
virtual unsigned int decayMode(vector< int > id)
Return the decay mode number for a given set of particles in the current.
Herwig::TwoPionCzyzCurrent::rhoMag_
vector< double > rhoMag_
The magnitude for input.
Definition:
TwoPionCzyzCurrent.h:206
Herwig::TwoPionCzyzCurrent::Fpi
Complex Fpi(Energy2 q2, const int imode, const int ichan, tcPDPtr resonance, Energy ma, Energy mb) const
Calculation of the pion form factor.
Herwig::TwoPionCzyzCurrent::omegaMass_
Energy omegaMass_
The mass of the resonance.
Definition:
TwoPionCzyzCurrent.h:242
Herwig::TwoPionCzyzCurrent::rhoMasses_
vector< Energy > rhoMasses_
The masses of the resonances.
Definition:
TwoPionCzyzCurrent.h:232
Herwig::TwoPionCzyzCurrent::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::TwoPionCzyzCurrent::constructInterpolators
void constructInterpolators() const
Construct the interpolators.
Herwig::TwoPionCzyzCurrent::FpiRemainder
Complex FpiRemainder(Energy2 q2, Energy ma, Energy mb) const
Calculation of the pion form factor.
Herwig::TwoPionCzyzCurrent::dataBaseOutput
virtual void dataBaseOutput(ofstream &os, bool header, bool create) const
Output the setup information for the particle database.
Herwig::TwoPionCzyzCurrent::mass_
vector< Energy > mass_
Masses of the resonances.
Definition:
TwoPionCzyzCurrent.h:262
Herwig::TwoPionCzyzCurrent::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::TwoPionCzyzCurrent::h0_
vector< Energy2 > h0_
The parameter for the GS form of the Breit-Wigner.
Definition:
TwoPionCzyzCurrent.h:290
Herwig::TwoPionCzyzCurrent::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::TwoPionCzyzCurrent::omegaWidth_
Energy omegaWidth_
The width of the resonance.
Definition:
TwoPionCzyzCurrent.h:247
Herwig::TwoPionCzyzCurrent::dh_
vector< double > dh_
The function at for the GS form of the Breit-Wigner.
Definition:
TwoPionCzyzCurrent.h:278
Herwig::TwoPionCzyzCurrent::hres_
vector< Energy2 > hres_
The function at for the GS form of the Breit-Wigner.
Definition:
TwoPionCzyzCurrent.h:284
Herwig::TwoPionCzyzCurrent::operator=
TwoPionCzyzCurrent & operator=(const TwoPionCzyzCurrent &)=delete
The assignment operator is private and must never be called.
Herwig::TwoPionCzyzCurrent::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::TwoPionCzyzCurrent::eMax_
Energy eMax_
The maximum energy.
Definition:
TwoPionCzyzCurrent.h:295
Herwig::TwoPionCzyzCurrent::accept
virtual bool accept(vector< int > id)
Accept the decay.
Herwig::TwoPionCzyzCurrent::width_
vector< Energy > width_
Widths of the resonances.
Definition:
TwoPionCzyzCurrent.h:267
Herwig::TwoPionCzyzCurrent::TwoPionCzyzCurrent
TwoPionCzyzCurrent()
The default constructor.
Herwig::TwoPionCzyzCurrent::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::TwoPionCzyzCurrent::particles
virtual tPDVector particles(int icharge, unsigned int imode, int iq, int ia)
The particles produced by the current.
Herwig::TwoPionCzyzCurrent::rhoWidths_
vector< Energy > rhoWidths_
The widths of the resonances.
Definition:
TwoPionCzyzCurrent.h:237
Herwig::TwoPionCzyzCurrent::nMax_
unsigned int nMax_
Number of resonaces at which to trucated the series.
Definition:
TwoPionCzyzCurrent.h:257
Herwig::TwoPionCzyzCurrent::doinit
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
Herwig::TwoPionCzyzCurrent::fpiRe_
Interpolator< double, Energy2 >::Ptr fpiRe_
Interpolators for the higher resonance components for speed.
Definition:
TwoPionCzyzCurrent.h:300
Herwig::TwoPionCzyzCurrent::beta_
double beta_
Regge parameter.
Definition:
TwoPionCzyzCurrent.h:252
Herwig::TwoPionCzyzCurrent::omegaPhase_
double omegaPhase_
The phase for input.
Definition:
TwoPionCzyzCurrent.h:227
Herwig::TwoPionCzyzCurrent::rhoWgt_
vector< Complex > rhoWgt_
Weights for the different resonances in the current, .
Definition:
TwoPionCzyzCurrent.h:201
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