Herwig++
2.7.0
|
The KaonThreeMesonCurrent class implements the model of M. More...
#include <KaonThreeMesonCurrent.h>
Public Member Functions | |
KaonThreeMesonCurrent () | |
The default constructor. | |
virtual void | dataBaseOutput (ofstream &os, bool header, bool create) const |
Output the setup information for the particle database. | |
double | threeBodyMatrixElement (const int imode, const Energy2 q2, const Energy2 s3, const Energy2 s2, const Energy2 s1, const Energy m1, const Energy m2, const Energy m3) const |
the matrix element for the ![]() | |
Methods for the construction of the phase space integrator. | |
virtual bool | createMode (int icharge, unsigned int imode, DecayPhaseSpaceModePtr mode, unsigned int iloc, unsigned int ires, DecayPhaseSpaceChannelPtr phase, Energy upp) |
Complete the construction of the decay mode for integration. | |
Functions used by the persistent I/O system. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. | |
Static Public Member Functions | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
Protected Member Functions | |
virtual bool | acceptMode (int) const |
Can the current handle a particular set of mesons. | |
virtual FormFactors | calculateFormFactors (const int ichan, const int imode, Energy2 q2, Energy2 s1, Energy2 s2, Energy2 s3) const |
Calculate the form factor for the current. | |
Clone Methods. | |
virtual IBPtr | clone () const |
Make a simple clone of this object. | |
virtual IBPtr | fullclone () const |
Make a clone of this object, possibly modifying the cloned object to make it sane. | |
Standard Interfaced functions. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving and EventGenerator to disk. | |
virtual void | doinitrun () |
Initialize this object to the begining of the run phase. | |
virtual void | doupdate () |
Check sanity of the object during the setup phase. | |
Private Member Functions | |
KaonThreeMesonCurrent & | operator= (const KaonThreeMesonCurrent &) |
The assignment operator is private and must never be called. | |
Complex | Trho1 (Energy2 q2, int ires) const |
The ![]() | |
Complex | Trho2 (Energy2 q2, int ires) const |
The ![]() | |
Complex | TKstar1 (Energy2 q2, int ires) const |
The ![]() | |
Complex | TKstar2 (Energy2 q2, int ires) const |
The ![]() | |
Complex | BWrho1 (Energy2 q2, unsigned int ires) const |
The ![]() | |
Complex | BWrho2 (Energy2 q2, unsigned int ires) const |
The ![]() | |
Complex | BWKstar1 (Energy2 q2, unsigned int ires) const |
The ![]() | |
Complex | BWKstar2 (Energy2 q2, unsigned int ires) const |
The ![]() | |
Complex | a1BreitWigner (Energy2 q2) const |
![]() | |
Complex | TK1 (Energy2 q2, unsigned int iopt, int ires) const |
The ![]() | |
Complex | K1BreitWigner (Energy2 q2, unsigned int ires) const |
The ![]() | |
Energy | a1Width (Energy2 q2) const |
The ![]() | |
double | g (Energy2 q2) const |
The ![]() | |
void | inita1Width (int iopt) |
Initialize the ![]() | |
Complex | Tomega (Energy2 q2, int ires) const |
The ![]() | |
Complex | OmegaPhiBreitWigner (Energy2 q2, unsigned int ires) const |
The ![]() ![]() | |
Complex | TOmegaKStar (Energy2 s1, Energy2 s2, int ires) const |
The ![]() ![]() ![]() | |
Private Attributes | |
double | _omegaKstarwgt |
The relative weight of the ![]() ![]() | |
Energy | _fpi |
The pion decay constant, ![]() | |
Energy | _mpi |
The pion mass. | |
Energy | _mK |
The kaon mass. | |
Energy | _maxmass |
The maximum mass of the hadronic system. | |
Energy | _maxcalc |
The maximum mass when the running width was calculated. | |
vector< double > | _rho1wgts |
Parameters for the ![]() | |
vector< Energy > | _rho1mass |
Masses. | |
vector< Energy > | _rho1width |
Widths. | |
vector< double > | _rho2wgts |
Parameters for the ![]() | |
vector< Energy > | _rho2mass |
Masses. | |
vector< Energy > | _rho2width |
Widths. | |
vector< double > | _kstar1wgts |
Parameters for the ![]() | |
vector< Energy > | _kstar1mass |
Masses. | |
vector< Energy > | _kstar1width |
Widths. | |
vector< double > | _kstar2wgts |
Parameters for the ![]() | |
vector< Energy > | _kstar2mass |
Masses. | |
vector< Energy > | _kstar2width |
Widths. | |
Energy | _a1mass |
Parameters for the three meson resonances. | |
Energy | _a1width |
The width of the ![]() | |
vector< Energy > | _k1mass |
The masses of the ![]() | |
vector< Energy > | _k1width |
The widths of the ![]() | |
vector< double > | _k1wgta |
The weights for the different ![]() ![]() | |
vector< double > | _k1wgtb |
The weights for the different ![]() ![]() | |
vector< Energy > | _a1runwidth |
The ![]() ![]() | |
vector< Energy2 > | _a1runq2 |
The ![]() ![]() | |
Interpolator< Energy, Energy2 > ::Ptr | _a1runinter |
The interpolator for the running ![]() | |
double | _epsomega |
Parameters for the ![]() | |
Energy | _omegamass |
Mass of the ![]() | |
Energy | _omegawidth |
Width of the ![]() | |
Energy | _phimass |
Mass of the ![]() | |
Energy | _phiwidth |
Width of the ![]() | |
bool | _initializea1 |
Initialization switches. | |
bool | _rhoparameters |
use local values of the ![]() | |
bool | _kstarparameters |
use local values of the ![]() | |
bool | _a1parameters |
Use local values of the ![]() | |
bool | _k1parameters |
Use local values of the ![]() | |
bool | _a1opt |
Option for the ![]() | |
bool | _omegaopt |
Option for the ![]() |
The KaonThreeMesonCurrent class implements the model of M.
Finkemeier and E.~Mirkes, Z. Phys. C 69 (1996) 243 [arXiv:hep-ph/9503474], for the weak current for three mesons where at least one of the mesons is a kaon.
Definition at line 30 of file KaonThreeMesonCurrent.h.
Complex Herwig::KaonThreeMesonCurrent::a1BreitWigner | ( | Energy2 | q2 | ) | const [private] |
Breit-Wigner
q2 | The scale ![]() |
Energy Herwig::KaonThreeMesonCurrent::a1Width | ( | Energy2 | q2 | ) | const [private] |
The running width.
q2 | The scale ![]() |
virtual bool Herwig::KaonThreeMesonCurrent::acceptMode | ( | int | ) | const [protected, virtual] |
Can the current handle a particular set of mesons.
As this current includes all the allowed modes this is always true.
Implements Herwig::ThreeMesonCurrentBase.
Complex Herwig::KaonThreeMesonCurrent::BWKstar1 | ( | Energy2 | q2, |
unsigned int | ires | ||
) | const [private] |
The Breit-Wigner for the axial-vector terms.
q2 | The scale ![]() |
ires | Which ![]() |
Complex Herwig::KaonThreeMesonCurrent::BWKstar2 | ( | Energy2 | q2, |
unsigned int | ires | ||
) | const [private] |
The Breit-Wigner for the vector terms.
q2 | The scale ![]() |
ires | Which ![]() |
Complex Herwig::KaonThreeMesonCurrent::BWrho1 | ( | Energy2 | q2, |
unsigned int | ires | ||
) | const [private] |
The Breit-Wigner for the axial-vector terms.
q2 | The scale ![]() |
ires | Which ![]() |
Complex Herwig::KaonThreeMesonCurrent::BWrho2 | ( | Energy2 | q2, |
unsigned int | ires | ||
) | const [private] |
The Breit-Wigner for the vector terms.
q2 | The scale ![]() |
ires | Which ![]() |
virtual FormFactors Herwig::KaonThreeMesonCurrent::calculateFormFactors | ( | const int | ichan, |
const int | imode, | ||
Energy2 | q2, | ||
Energy2 | s1, | ||
Energy2 | s2, | ||
Energy2 | s3 | ||
) | const [protected, virtual] |
Calculate the form factor for the current.
Implements the form factors described above.
ichan | The phase space channel |
imode | The mode |
q2 | The scale ![]() |
s1 | The invariant mass squared of particles 2 and 3, ![]() |
s2 | The invariant mass squared of particles 1 and 3, ![]() |
s3 | The invariant mass squared of particles 1 and 2, ![]() |
Implements Herwig::ThreeMesonCurrentBase.
virtual IBPtr Herwig::KaonThreeMesonCurrent::clone | ( | ) | const [protected, virtual] |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
virtual bool Herwig::KaonThreeMesonCurrent::createMode | ( | int | icharge, |
unsigned int | imode, | ||
DecayPhaseSpaceModePtr | mode, | ||
unsigned int | iloc, | ||
unsigned int | ires, | ||
DecayPhaseSpaceChannelPtr | phase, | ||
Energy | upp | ||
) | [virtual] |
Complete the construction of the decay mode for integration.
This version addes the mesons for the current
icharge | The total charge of the outgoing particles in the current. |
imode | The mode in the current being asked for. |
mode | The phase space mode for the integration |
iloc | The location of the of the first particle from the current in the list of outgoing particles. |
ires | The location of the first intermediate for the current. |
phase | The prototype phase space channel for the integration. |
upp | The maximum possible mass the particles in the current are allowed to have. |
Implements Herwig::WeakDecayCurrent.
virtual void Herwig::KaonThreeMesonCurrent::dataBaseOutput | ( | ofstream & | os, |
bool | header, | ||
bool | create | ||
) | const [virtual] |
Output the setup information for the particle database.
os | The stream to output the information to |
header | Whether or not to output the information for MySQL |
create | Whether or not to add a statement creating the object |
Reimplemented from Herwig::ThreeMesonCurrentBase.
virtual void Herwig::KaonThreeMesonCurrent::doinit | ( | ) | [protected, virtual] |
Initialize this object after the setup phase before saving and EventGenerator to disk.
InitException | if object could not be initialized properly. |
Reimplemented from ThePEG::InterfacedBase.
virtual IBPtr Herwig::KaonThreeMesonCurrent::fullclone | ( | ) | const [protected, virtual] |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
static void Herwig::KaonThreeMesonCurrent::Init | ( | ) | [static] |
The standard Init function used to initialize the interfaces.
Called exactly once for each class by the class description system before the main function starts or when this class is dynamically loaded.
Reimplemented from Herwig::ThreeMesonCurrentBase.
void Herwig::KaonThreeMesonCurrent::inita1Width | ( | int | iopt | ) | [private] |
Initialize the running width.
iopt | Initialization option (-1 full calculation, 0 set up the interpolation) |
Complex Herwig::KaonThreeMesonCurrent::K1BreitWigner | ( | Energy2 | q2, |
unsigned int | ires | ||
) | const [private] |
The Breit-Wigner.
q2 | The scale ![]() |
ires | the resonance |
Complex Herwig::KaonThreeMesonCurrent::OmegaPhiBreitWigner | ( | Energy2 | q2, |
unsigned int | ires | ||
) | const [private] |
The and
Breit-Wigner.
q2 | The scale |
ires | the resonance |
KaonThreeMesonCurrent& Herwig::KaonThreeMesonCurrent::operator= | ( | const KaonThreeMesonCurrent & | ) | [private] |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
void Herwig::KaonThreeMesonCurrent::persistentInput | ( | PersistentIStream & | is, |
int | version | ||
) |
Function used to read in object persistently.
is | the persistent input stream read from. |
version | the version number of the object when written. |
Reimplemented from Herwig::WeakDecayCurrent.
void Herwig::KaonThreeMesonCurrent::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
Reimplemented from Herwig::WeakDecayCurrent.
double Herwig::KaonThreeMesonCurrent::threeBodyMatrixElement | ( | const int | imode, |
const Energy2 | q2, | ||
const Energy2 | s3, | ||
const Energy2 | s2, | ||
const Energy2 | s1, | ||
const Energy | m1, | ||
const Energy | m2, | ||
const Energy | m3 | ||
) | const |
the matrix element for the decay to calculate the running width
imode | The mode for which the matrix element is needed. |
q2 | The mass of the decaying off-shell ![]() ![]() |
s3 | The invariant mass squared of particles 1 and 2, ![]() |
s2 | The invariant mass squared of particles 1 and 3, ![]() |
s1 | The invariant mass squared of particles 2 and 3, ![]() |
m1 | The mass of the first outgoing particle. |
m2 | The mass of the second outgoing particle. |
m3 | The mass of the third outgoing particle. |
Complex Herwig::KaonThreeMesonCurrent::TK1 | ( | Energy2 | q2, |
unsigned int | iopt, | ||
int | ires | ||
) | const [private] |
The line shape.
q2 | The scale ![]() |
iopt | Whether this is ![]() ![]() |
ires | the resonance |
Complex Herwig::KaonThreeMesonCurrent::TKstar1 | ( | Energy2 | q2, |
int | ires | ||
) | const [private] |
The lineshape for the axial-vector terms.
q2 | The scale ![]() |
ires | Which ![]() |
Complex Herwig::KaonThreeMesonCurrent::TKstar2 | ( | Energy2 | q2, |
int | ires | ||
) | const [private] |
The lineshape for the vector terms.
q2 | The scale ![]() |
ires | Which ![]() |
Complex Herwig::KaonThreeMesonCurrent::Tomega | ( | Energy2 | q2, |
int | ires | ||
) | const [private] |
The function.
q2 | The scale |
ires | the resonance |
Complex Herwig::KaonThreeMesonCurrent::TOmegaKStar | ( | Energy2 | s1, |
Energy2 | s2, | ||
int | ires | ||
) | const [private] |
The
form-factor for the
form-factor.
s1 | The scale ![]() |
s2 | The scale ![]() |
ires | Which resonances to use |
Complex Herwig::KaonThreeMesonCurrent::Trho1 | ( | Energy2 | q2, |
int | ires | ||
) | const [private] |
The lineshape for the axial-vector terms.
q2 | The scale ![]() |
ires | Which ![]() |
Complex Herwig::KaonThreeMesonCurrent::Trho2 | ( | Energy2 | q2, |
int | ires | ||
) | const [private] |
The lineshape for the vector terms.
q2 | The scale ![]() |
ires | Which ![]() |
Energy Herwig::KaonThreeMesonCurrent::_a1mass [private] |
Parameters for the three meson resonances.
The mass of the resonances.
Definition at line 390 of file KaonThreeMesonCurrent.h.
double Herwig::KaonThreeMesonCurrent::_epsomega [private] |
Parameters for the function.
Mixing parameter
Definition at line 440 of file KaonThreeMesonCurrent.h.
bool Herwig::KaonThreeMesonCurrent::_initializea1 [private] |
Initialization switches.
Initialize the running width.
Definition at line 490 of file KaonThreeMesonCurrent.h.
vector<double> Herwig::KaonThreeMesonCurrent::_kstar1wgts [private] |
Parameters for the in the axial-vector terms.
Weight for the different resonances
Definition at line 350 of file KaonThreeMesonCurrent.h.
vector<double> Herwig::KaonThreeMesonCurrent::_kstar2wgts [private] |
Parameters for the in the vector terms.
Weight for the different resonances
Definition at line 370 of file KaonThreeMesonCurrent.h.
vector<double> Herwig::KaonThreeMesonCurrent::_rho1wgts [private] |
Parameters for the in the axial-vector terms.
Weight for the different resonances
Definition at line 310 of file KaonThreeMesonCurrent.h.
vector<double> Herwig::KaonThreeMesonCurrent::_rho2wgts [private] |
Parameters for the in the vector terms.
Weight for the different resonances
Definition at line 330 of file KaonThreeMesonCurrent.h.