Herwig 7.3.0
|
This class implements the decay current for \(\pi^\pm\pi^0 \gamma\) via an intermediate \(\omega\). More...
#include <TwoPionPhotonCurrent.h>
Public Member Functions | |
TwoPionPhotonCurrent () | |
Default constructor. | |
Methods for the construction of the phase space integrator. | |
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. | |
virtual tPDVector | particles (int icharge, unsigned int imode, int iq, int ia) |
The particles produced by the 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. | |
virtual void | constructSpinInfo (ParticleVector decay) const |
Construct the SpinInfo for the decay products. | |
virtual bool | accept (vector< int > id) |
Accept the decay. | |
virtual unsigned int | decayMode (vector< int > id) |
Return the decay mode number for a given set of particles in the current. | |
virtual void | dataBaseOutput (ofstream &os, bool header, bool create) const |
Output the setup information for the particle database. | |
Public Member Functions inherited from Herwig::WeakCurrent | |
WeakCurrent () | |
Default constructor. | |
unsigned int | numberOfModes () const |
Return the number of modes handled by this current. | |
void | decayModeInfo (unsigned int imode, int &iq, int &ia) const |
Information on a decay mode. | |
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. | |
Public Member Functions inherited from ThePEG::Interfaced | |
virtual bool | defaultInit () |
PPtr | getParticle (PID) const |
PDPtr | getParticleData (PID) const |
bool | used () const |
void | useMe () const |
tEGPtr | generator () const |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
PPtr | getParticle (PID) const |
PDPtr | getParticleData (PID) const |
bool | used () const |
void | useMe () const |
tEGPtr | generator () const |
Public Member Functions inherited from ThePEG::InterfacedBase | |
string | fullName () const |
string | name () const |
string | path () const |
string | comment () const |
void | setup (istream &is) |
void | update () |
void | init () |
virtual bool | preInitialize () const |
void | initrun () |
void | finish () |
void | touch () |
void | reset () |
void | clear () |
InitState | state () const |
bool | locked () const |
bool | touched () const |
virtual IBPtr | fullclone () const |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
virtual void | debugme () const |
void | update () |
void | init () |
virtual bool | preInitialize () const |
void | initrun () |
void | finish () |
void | touch () |
void | reset () |
void | clear () |
InitState | state () const |
bool | locked () const |
bool | touched () const |
virtual IBPtr | fullclone () const |
Public Member Functions inherited from ThePEG::Base | |
void | debug () const |
virtual void | debugme () const |
Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
CounterType | referenceCount () const |
Public Member Functions inherited from ThePEG::Named | |
Named (const string &newName=string()) | |
Named (const Named &)=default | |
const string & | name () const |
bool | operator== (const Named &other) const |
bool | operator< (const Named &other) const |
Clone Methods. | |
Energy2 | _grho |
Coupling of the rho to the photon, \(F_\rho\). | |
InvEnergy | _grhoomegapi |
Coupling of the rho to the omega and a pion, \(g_{\rho\omega\pi}\). | |
vector< double > | _resweights |
Weights of the different rho resonances in the current. | |
vector< Energy > | _rhomasses |
Masses of the \(\rho\) resonances. | |
vector< Energy > | _rhowidths |
Widths of the \(\rho\) resonances. | |
Energy | _omegamass |
The \(\omega\) mass. | |
Energy | _omegawidth |
The \(\omega\) width. | |
Energy | _intmass |
Mass for the intermediate in the phase-space, this is a technical parameter to improve the phase-space integration efficiency. | |
Energy | _intwidth |
Width for the intermediate in the phase-space, this is a technical parameter to improve the phase-space integration efficiency. | |
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. | |
TwoPionPhotonCurrent & | operator= (const TwoPionPhotonCurrent &)=delete |
Private and non-existent assignment operator. | |
complex< InvEnergy > | FFunction (Energy2 q2) const |
Calculate the \(F(q^2)\) function at a given scale. | |
complex< InvEnergy2 > | BreitWigner (Energy2 q2, unsigned int ires) const |
Fixed width Breit wigner. | |
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 void | Init () |
Standard Init function used to initialize the interfaces. | |
Additional Inherited Members | |
Public Types inherited from ThePEG::InterfacedBase | |
enum | InitState |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
Static Public Member Functions inherited from Herwig::WeakCurrent | |
static void | Init () |
Standard Init function used to initialize the interfaces. | |
Static Public Member Functions inherited from ThePEG::Interfaced | |
static void | Init () |
Static Public Member Functions inherited from ThePEG::InterfacedBase | |
static void | Init () |
Static Public Member Functions inherited from ThePEG::Base | |
static void | Init () |
Public Attributes inherited from ThePEG::InterfacedBase | |
initializing | |
uninitialized | |
initialized | |
runready | |
Public Attributes inherited from ThePEG::Pointer::ReferenceCounted | |
const unsigned long | uniqueId |
Protected Member Functions inherited from Herwig::WeakCurrent | |
void | addDecayMode (int iq, int ia) |
Add a decay mode to the list. | |
void | setInitialModes (unsigned int nmodes) |
Set initial number of modes. | |
Protected Member Functions inherited from ThePEG::Interfaced | |
void | reporeg (IBPtr object, string name) const |
bool | setDefaultReference (PtrT &ptr, string classname, string objectname) |
Interfaced (const string &newName) | |
Interfaced (const Interfaced &i) | |
void | setGenerator (tEGPtr generator) |
Protected Member Functions inherited from ThePEG::InterfacedBase | |
virtual void | readSetup (istream &is) |
virtual void | doupdate () |
virtual void | doinit () |
virtual void | doinitrun () |
virtual void | dofinish () |
virtual IVector | getReferences () |
virtual void | rebind (const TranslationMap &) |
virtual IBPtr | clone () const=0 |
InterfacedBase (string newName) | |
InterfacedBase (const InterfacedBase &i) | |
virtual void | readSetup (istream &is) |
virtual void | doupdate () |
virtual void | doinit () |
virtual void | doinitrun () |
virtual void | dofinish () |
virtual IVector | getReferences () |
virtual void | rebind (const TranslationMap &) |
Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Protected Member Functions inherited from ThePEG::Named | |
const Named & | operator= (const Named &other) |
const string & | name (const string &newName) |
Static Protected Member Functions inherited from ThePEG::Interfaced | |
static void | registerRepository (IBPtr) |
static void | registerRepository (IBPtr, string newName) |
This class implements the decay current for \(\pi^\pm\pi^0 \gamma\) via an intermediate \(\omega\).
It inherits from the WeakCurrent
class and implements the hadronic current.
The model is based on the one used in TAUOLA, Comput.Phys.Commun.76:361-380,1993. The current is given by
\[J^\mu = e T \left\{ \epsilon^\mu\left[ m^2_\pi p_1\cdot p_3 -p_2\cdot p_3(p_2\cdot p_1-p_1\cdot p_3)\right] -p_2^\mu\left[p_2\cdot\epsilon p_1\cdot p_3-p_1\cdot\epsilon p_2\cdot p_3\right] +p_3^\mu\left[\epsilon\cdot p_2-\epsilon\cdot p_1(m^2_\pi+p_2\cdotp_3)\right] *\right\}\]
where
\[T = F(q^2)F(0)\frac1{\sqrt{2}B_\omega(s_2)}\]
and\[F(s) = \sqrt{2}F_\rho g_{\rho\omega\pi}\sum_k\sigma_k B_{\rho_k}(s)\]
whereDefinition at line 60 of file TwoPionPhotonCurrent.h.
|
virtual |
Accept the decay.
Checks the meson against the list
id | The id's of the particles in the current. |
Implements Herwig::WeakCurrent.
|
inlineprivate |
Fixed width Breit wigner.
q2 | The scame \(q^2\) |
ires | The resonance required (0,1,3) are the \(\rho\)'s and 10 is the \(\omega\). |
Definition at line 225 of file TwoPionPhotonCurrent.h.
References _omegamass, _omegawidth, _rhomasses, and _rhowidths.
Referenced by FFunction().
|
inlineprotectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
Definition at line 187 of file TwoPionPhotonCurrent.h.
|
virtual |
Construct the SpinInfo for the decay products.
Reimplemented from Herwig::WeakCurrent.
|
virtual |
Complete the construction of the decay mode for integration.classes inheriting from this one.
This method is purely virtual and must be implemented in the classes inheriting from WeakCurrent.
icharge | The total charge of the outgoing particles in the current. |
resonance | If specified only include terms with this particle |
flavour | Information on the required flavours of the quarks |
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::WeakCurrent.
|
virtual |
Hadronic current.
This method is purely virtual and must be implemented in all classes inheriting from this one.
resonance | If specified only include terms with this particle |
flavour | Information on the required flavours of the quarks |
imode | The mode |
ichan | The phase-space channel the current is needed for. |
scale | The invariant mass of the particles in the current. |
outgoing | The particles produced in the decay |
momenta | The momenta of the particles produced in the decay |
meopt | Option for the calculation of the matrix element |
Implements Herwig::WeakCurrent.
|
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::WeakCurrent.
|
virtual |
Return the decay mode number for a given set of particles in the current.
Checks the meson against the list
id | The id's of the particles in the current. |
Implements Herwig::WeakCurrent.
|
inlineprivate |
Calculate the \(F(q^2)\) function at a given scale.
q2 | The scale \(q^2\). |
Definition at line 210 of file TwoPionPhotonCurrent.h.
References _grho, _grhoomegapi, _resweights, BreitWigner(), ThePEG::sqrt(), and ThePEG::ZERO.
|
inlineprotectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Definition at line 193 of file TwoPionPhotonCurrent.h.
|
virtual |
The particles produced by the current.
This just returns the pseudoscalar meson.
icharge | The total charge of the particles in the current. |
imode | The mode for which the particles are being requested |
iq | The PDG code for the quark |
ia | The PDG code for the antiquark |
Implements Herwig::WeakCurrent.
void Herwig::TwoPionPhotonCurrent::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. |
void Herwig::TwoPionPhotonCurrent::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
private |
Coupling of the rho to the photon, \(F_\rho\).
Definition at line 243 of file TwoPionPhotonCurrent.h.
Referenced by FFunction().
|
private |
Coupling of the rho to the omega and a pion, \(g_{\rho\omega\pi}\).
Definition at line 248 of file TwoPionPhotonCurrent.h.
Referenced by FFunction().
|
private |
Mass for the intermediate in the phase-space, this is a technical parameter to improve the phase-space integration efficiency.
Definition at line 279 of file TwoPionPhotonCurrent.h.
|
private |
Width for the intermediate in the phase-space, this is a technical parameter to improve the phase-space integration efficiency.
Definition at line 285 of file TwoPionPhotonCurrent.h.
|
private |
The \(\omega\) mass.
Definition at line 268 of file TwoPionPhotonCurrent.h.
Referenced by BreitWigner().
|
private |
The \(\omega\) width.
Definition at line 273 of file TwoPionPhotonCurrent.h.
Referenced by BreitWigner().
|
private |
Weights of the different rho resonances in the current.
Definition at line 253 of file TwoPionPhotonCurrent.h.
Referenced by FFunction().
|
private |
Masses of the \(\rho\) resonances.
Definition at line 258 of file TwoPionPhotonCurrent.h.
Referenced by BreitWigner().
|
private |
Widths of the \(\rho\) resonances.
Definition at line 263 of file TwoPionPhotonCurrent.h.
Referenced by BreitWigner().