Herwig++
2.7.0
|
The ThreeMesonDefaultCurrent class implements the currents from Z.Phys.C58:445 (1992), this paper uses the form from Z.Phys.C48:445 (1990) for the width and is the default model in TAUOLA. More...
#include <ThreeMesonDefaultCurrent.h>
Public Member Functions | |
ThreeMesonDefaultCurrent () | |
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 decay to calculate the running width | |
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. | |
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. | |
Static Public Member Functions | |
static void | Init () |
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 | |
ThreeMesonDefaultCurrent & | operator= (const ThreeMesonDefaultCurrent &) |
Private and non-existent assignment operator. | |
Complex | BrhoF123 (Energy2 q2, int ires) const |
The Breit-Wigner for the form factors. | |
Complex | BrhoF5 (Energy2 q2, int ires) const |
The Breit-Wigner for the form factors. | |
Complex | BKstarF123 (Energy2 q2, int ires) const |
The Breit-Wigner for the form factors. | |
Complex | BKstarF5 (Energy2 q2, int ires) const |
The Breit-Wigner for the form factors. | |
Complex | FKrho (Energy2 si, Energy2 sj, int ires) const |
Mixed Breit Wigner for the form factor. | |
Complex | a1BreitWigner (Energy2 q2) const |
Breit-Wigner | |
Complex | K1BreitWigner (Energy2 q2) const |
The Breit-Wigner. | |
Energy | a1Width (Energy2 q2) const |
The running width. | |
double | g (Energy2 q2) const |
The function of Kuhn and Santamaria. | |
void | inita1Width (int iopt) |
Initialize the running width. | |
Complex | rhoKBreitWigner (Energy2 q2, unsigned int itype, unsigned int ires) const |
Breit-Wigners for the and . | |
Private Attributes | |
vector< double > | _rhoF123wgts |
Parameters for the Breit-Wigner in the form factors. | |
vector< double > | _kstarF123wgts |
Parameters for the Breit-Wigner in the form factors. | |
vector< double > | _rhoF5wgts |
Parameters for the Breit-Wigner in the form factors. | |
vector< double > | _kstarF5wgts |
Parameters for the Breit-Wigner in the form factors. | |
double | _rhoKstarwgt |
The relative weight of the and where needed. | |
vector< Energy > | _a1runwidth |
The width for the running width calculation. | |
vector< Energy2 > | _a1runq2 |
The for the running width calculation. | |
Interpolator< Energy, Energy2 > ::Ptr | _a1runinter |
The interpolator for the running width calculation. | |
bool | _initializea1 |
Initialize the running width. | |
Energy | _a1mass |
The mass of the resonances. | |
Energy | _a1width |
The width of the resonances. | |
Energy | _k1mass |
The mass of the resonances. | |
Energy | _k1width |
The width of the resonances. | |
Energy | _fpi |
The pion decay constant, . | |
Energy | _mpi |
The pion mass. | |
Energy | _mK |
The kaon mass. | |
bool | _rhoparameters |
use local values of the masses and widths | |
vector< Energy > | _rhoF123masses |
The masses for the form factors. | |
vector< Energy > | _rhoF5masses |
The masses for the form factors. | |
vector< Energy > | _rhoF123widths |
The widths for the form factors. | |
vector< Energy > | _rhoF5widths |
The widths for the form factors. | |
bool | _kstarparameters |
use local values of the resonances masses and widths | |
vector< Energy > | _kstarF123masses |
The masses for the form factors. | |
vector< Energy > | _kstarF5masses |
The masses for the form factors. | |
vector< Energy > | _kstarF123widths |
The widths for the form factors. | |
vector< Energy > | _kstarF5widths |
The widths for the form factors. | |
bool | _a1parameters |
Use local values of the parameters. | |
bool | _k1parameters |
Use local values of the parameters. | |
bool | _a1opt |
Option for the width. | |
Energy | _maxmass |
The maximum mass of the hadronic system. | |
Energy | _maxcalc |
The maximum mass when the running width was calculated. | |
Friends | |
class | Defaulta1MatrixElement |
The matrix element for the running width is a friend to keep some members private. |
The ThreeMesonDefaultCurrent class implements the currents from Z.Phys.C58:445 (1992), this paper uses the form from Z.Phys.C48:445 (1990) for the width and is the default model in TAUOLA.
The following three meson modes are implemented.
using the currents from TAUOLA
Definition at line 48 of file ThreeMesonDefaultCurrent.h.
Complex Herwig::ThreeMesonDefaultCurrent::a1BreitWigner | ( | Energy2 | q2 | ) | const [inline, private] |
Breit-Wigner
q2 | The scale for the Breit-Wigner |
Definition at line 325 of file ThreeMesonDefaultCurrent.h.
References sqrt().
Energy Herwig::ThreeMesonDefaultCurrent::a1Width | ( | Energy2 | q2 | ) | const [inline, private] |
The running width.
q2 | The scale for the Breit-Wigner |
Definition at line 349 of file ThreeMesonDefaultCurrent.h.
virtual bool Herwig::ThreeMesonDefaultCurrent::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::ThreeMesonDefaultCurrent::BKstarF123 | ( | Energy2 | q2, |
int | ires | ||
) | const [inline, private] |
The Breit-Wigner for the form factors.
q2 | The scale for the Breit-Wigner |
ires | Which multiplet |
Definition at line 260 of file ThreeMesonDefaultCurrent.h.
References min().
Complex Herwig::ThreeMesonDefaultCurrent::BKstarF5 | ( | Energy2 | q2, |
int | ires | ||
) | const [inline, private] |
The Breit-Wigner for the form factors.
q2 | The scale for the Breit-Wigner |
ires | Which multiplet |
Definition at line 285 of file ThreeMesonDefaultCurrent.h.
References min().
Complex Herwig::ThreeMesonDefaultCurrent::BrhoF123 | ( | Energy2 | q2, |
int | ires | ||
) | const [inline, private] |
The Breit-Wigner for the form factors.
q2 | The scale for the Breit-Wigner |
ires | Which multiplet |
Definition at line 209 of file ThreeMesonDefaultCurrent.h.
References min().
Complex Herwig::ThreeMesonDefaultCurrent::BrhoF5 | ( | Energy2 | q2, |
int | ires | ||
) | const [inline, private] |
The Breit-Wigner for the form factors.
q2 | The scale for the Breit-Wigner |
ires | Which multiplet |
Definition at line 235 of file ThreeMesonDefaultCurrent.h.
References min().
virtual FormFactors Herwig::ThreeMesonDefaultCurrent::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 for the current. |
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::ThreeMesonDefaultCurrent::clone | ( | ) | const [inline, protected, virtual] |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
Definition at line 163 of file ThreeMesonDefaultCurrent.h.
virtual bool Herwig::ThreeMesonDefaultCurrent::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::ThreeMesonDefaultCurrent::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::ThreeMesonDefaultCurrent::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.
Complex Herwig::ThreeMesonDefaultCurrent::FKrho | ( | Energy2 | si, |
Energy2 | sj, | ||
int | ires | ||
) | const [inline, private] |
Mixed Breit Wigner for the form factor.
si | The scale . |
sj | The scale . |
ires | Which resonances to use |
Definition at line 311 of file ThreeMesonDefaultCurrent.h.
virtual IBPtr Herwig::ThreeMesonDefaultCurrent::fullclone | ( | ) | const [inline, protected, virtual] |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Definition at line 169 of file ThreeMesonDefaultCurrent.h.
void Herwig::ThreeMesonDefaultCurrent::inita1Width | ( | int | iopt | ) | [private] |
Initialize the running width.
iopt | Initialization option (-1 full calculation, 0 set up the interpolation) |
Complex Herwig::ThreeMesonDefaultCurrent::K1BreitWigner | ( | Energy2 | q2 | ) | const [inline, private] |
The Breit-Wigner.
q2 | The scale for the Breit-Wigner |
Definition at line 337 of file ThreeMesonDefaultCurrent.h.
References sqr().
void Herwig::ThreeMesonDefaultCurrent::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::ThreeMesonDefaultCurrent::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
Reimplemented from Herwig::WeakDecayCurrent.
Complex Herwig::ThreeMesonDefaultCurrent::rhoKBreitWigner | ( | Energy2 | q2, |
unsigned int | itype, | ||
unsigned int | ires | ||
) | const [private] |
Breit-Wigners for the and .
q2 | The scale for the Breit-Wigner. |
itype | The type of Breit-Wigner, i.e. which masses and widths to use.x |
ires | Which multiplet to use. |
double Herwig::ThreeMesonDefaultCurrent::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. |