#include <SimpleFlavour.h>
Public Types | |
typedef map< long, VSelector < pair< long, long > > > | ProbabilityMap |
A map of Selector s. | |
Public Member Functions | |
Standard constructors and destructors. | |
SimpleFlavour () | |
Default constructor. | |
virtual | ~SimpleFlavour () |
Destructor. | |
Virtual functions mandated by the FlavourGenerator base class. | |
virtual tcPDPair | generateHadron (tcPDPtr quark) const |
Generate a hadron from a quark. | |
virtual tcPDPtr | getHadron (long iq1, long iq2) const |
Get hadron from flavours. | |
virtual tcPDPtr | getBaryon (long q1, long q2, long q3) const |
Return a baryon with the flavour content given by the (anti)quarks in the argument. | |
virtual long | selectQuark () const |
Generate a random quark flavour. | |
virtual long | selectFlavour () const |
Generate a random (di)quark flavour. | |
Access the parameters controlling the generation. | |
double | sSup () const |
Return the suppression factor of strange quarks w.r.t. | |
double | diSup () const |
Return the suppression factor for di-quarks w.r.t. | |
double | di1Sup () const |
Return the suppression of spin-1 di-quarks w.r.t. | |
double | diSSup () const |
Return the suppression of strange di-quarks w.r.t. | |
double | etaSup () const |
Return the extra suppression of eta's. | |
double | etaPSup () const |
Return the extra suppression of ets-prime's. | |
double | baryon10Sup () const |
Return the extra suppression for baryons of the spin 3/2 decuplet. | |
double | pSpin1 () const |
Return the probability that light (u/d) mesons has spin 1;. | |
double | pSpinS1 () const |
Return the probability that strange mesons has spin 1;. | |
double | pSpinC1 () const |
Return the probability that charmed and heavier mesons has spin 1;. | |
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 () |
Standard Init function used to initialize the interfaces. | |
Protected Member Functions | |
virtual void | setProbabilities (long iq) const |
Calculate the probabilities for generateHadron for the given flavour. | |
virtual double | vectorMesonProbability (long iq1, long iq2) const |
Return the probability that the given quark flavours end up in a vector meson rather than in a pseudo scalar meson. | |
virtual double | baryonDecupletProbability (long iq1, long iq2) const |
Return the probability that the given quark and diquark flavours end up in a spin 3/2 decuplet baryon rather than in a spin 1/2 octet baryon. | |
virtual tcPDPtr | pseudoScalarMeson (long iq, long iqbar) const |
Return a pseudo scalar meson formed by the two quark flavours. | |
virtual tcPDPtr | vectorMeson (long iq, long iqbar) const |
Return a vector meson formed by the two quark flavours. | |
virtual tcPDPtr | baryonOctet (long iq, long idq) const |
Return a spin 1/2 octet baryon formed by the given quark and diquark flavours. | |
virtual tcPDPtr | baryonDecuplet (long iq, long idq) const |
Return a spin 3/2 decuplet baryon formed by the given quark and diquark flavours. | |
virtual long | pseudoScalarId (long iqh, long iql) const |
Return the PDG code of a pseudo scalar meson formed by the two quark flavours for iqh >= iql > 0. | |
virtual long | vectorId (long iqh, long iql) const |
Return the PDG code of a vector meson formed by the two quark flavours for iqh >= iql > 0. | |
virtual long | baryonOctetId (long iqa, long iqb, long iqc, long iq, bool dqs1) const |
Return the PDG code for a spin 1/2 octet baryon formed by the given quark flavours (iqa >= iqb >= iqc > 0). | |
virtual long | baryonDecupletId (long iqa, long iqb, long iqc) const |
Return the PDG code for a spin 3/2 decuplet baryon formed by the given quark flavours (iqa >= iqb >= iqc > 0). | |
virtual vector< pair< long, double > > | pseudoScalarIds (long iqh, long iql) const |
Return the PDG code of pseudo scalar mesons formed by the two quark flavours (for iqh >= iql > 0), together with suitable weights. | |
virtual vector< pair< long, double > > | vectorIds (long iqh, long iql) const |
Return the PDG codes of vector mesons formed by the two quark flavours (for iqh >= iql > 0), together with suitable weights. | |
virtual vector< pair< long, double > > | baryonOctetIds (long iqa, long iqb, long iqc, long iq, bool dqs1) const |
Return the PDG codes for spin 1/2 octet baryons formed by the given quark flavours (iqa >= iqb >= iqc > 0) together with suitable weights. | |
virtual vector< pair< long, double > > | baryonDecupletIds (long iqa, long iqb, long iqc) const |
Return the PDG codes for spin 3/2 decuplet baryons formed by the given quark flavours (iqa >= iqb >= iqc > 0) together with suitable weights. | |
void | clear () |
Clear all cashed weights. | |
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 an EventGenerator to disk. | |
virtual void | doinitrun () |
Initialize this object. | |
Static Protected Member Functions | |
static double | weightSU6QDiQSpin (long iq, long idq, int spin) |
Return the SU(6) weight for the given quark and di-quark flavours to end up with in a baryon with the given spin (2S+1). | |
Private Member Functions | |
SimpleFlavour & | operator= (const SimpleFlavour &) |
Private and non-existent assignment operator. | |
Private Attributes | |
double | theSSup |
Suppression factor of strange quarks w.r.t. | |
double | theDiSup |
Suppression factor for di-quarks w.r.t. | |
double | theDi1Sup |
Suppression of spin-1 di-quarks w.r.t. | |
double | theDiSSup |
Suppression of strange di-quarks w.r.t. | |
double | theEtaSup |
Extra suppression of eta's. | |
double | theEtaPSup |
Extra suppression of ets-prime's. | |
double | theBaryon10Sup |
Extra suppression for baryons of the spin 3/2 decuplet. | |
double | thePSpin1 |
Probability that light (u/d) mesons has spin 1. | |
double | thePSpinS1 |
Probability that strange mesons has spin 1. | |
double | thePSpinC1 |
Probability that charmed and heavier mesons has spin 1. | |
VSelector< long > | theFlavourSelector |
A selector used to weight the creation of (di)quark-anti(di)quark pairs. | |
ProbabilityMap | theProbabilities |
A map of selectors to cash probabilities for generateHadron. | |
Static Private Attributes | |
static ClassDescription < SimpleFlavour > | initSimpleFlavour |
Describe a concrete class with persistent data. |
It implements a simplified version of the model of the old fortran version of Pythia.
Definition at line 28 of file SimpleFlavour.h.
typedef map<long, VSelector< pair<long,long> > > ThePEG::SimpleFlavour::ProbabilityMap |
Generate a hadron from a quark.
Given a quark(antiquark, diquark or antidiquark), choose a quark-antiquark (or antidiquark-diquark) pair. Return (first) a hadron formed by the original quark and the antiquark together with (second) the generated quark. Returns null pointers if the generation failed.
quark | a quark, antiquark, diquark or antidiquark. |
Implements ThePEG::FlavourGenerator.
virtual tcPDPtr ThePEG::SimpleFlavour::getHadron | ( | long | iq1, | |
long | iq2 | |||
) | const [virtual] |
Get hadron from flavours.
Return a hadron with the flavour content given by the (anti-)(di-)quarks in the argument. The arguments are given as PDG codes.
iq1 | the PDG code of the first flavour. | |
iq2 | the PDG code of the second flavour. |
Reimplemented from ThePEG::FlavourGenerator.
virtual tcPDPtr ThePEG::SimpleFlavour::getBaryon | ( | long | q1, | |
long | q2, | |||
long | q3 | |||
) | const [virtual] |
Return a baryon with the flavour content given by the (anti)quarks in the argument.
The arguments are given as particle data pointers.
q1 | the PDG code of the first flavour. | |
q2 | the PDG code of the second flavour. | |
q3 | the PDG code of the third flavour. |
Reimplemented from ThePEG::FlavourGenerator.
double ThePEG::SimpleFlavour::sSup | ( | ) | const [inline] |
Return the suppression factor of strange quarks w.r.t.
u and d.
Definition at line 110 of file SimpleFlavour.h.
References theSSup.
double ThePEG::SimpleFlavour::diSup | ( | ) | const [inline] |
Return the suppression factor for di-quarks w.r.t.
quarks
Definition at line 115 of file SimpleFlavour.h.
References theDiSup.
double ThePEG::SimpleFlavour::di1Sup | ( | ) | const [inline] |
Return the suppression of spin-1 di-quarks w.r.t.
spin-0 ones;
Definition at line 120 of file SimpleFlavour.h.
References theDi1Sup.
double ThePEG::SimpleFlavour::diSSup | ( | ) | const [inline] |
Return the suppression of strange di-quarks w.r.t.
u and d ones in addition to the standard strangness suppression of quarks.
Definition at line 126 of file SimpleFlavour.h.
References theDiSSup.
virtual long ThePEG::SimpleFlavour::baryonOctetId | ( | long | iqa, | |
long | iqb, | |||
long | iqc, | |||
long | iq, | |||
bool | dqs1 | |||
) | const [protected, virtual] |
Return the PDG code for a spin 1/2 octet baryon formed by the given quark flavours (iqa >= iqb >= iqc > 0).
iq is one of the flavours and the other two are assumed to be in a diquark (in a spin-1 state if dqs1).
virtual vector< pair<long,double> > ThePEG::SimpleFlavour::baryonOctetIds | ( | long | iqa, | |
long | iqb, | |||
long | iqc, | |||
long | iq, | |||
bool | dqs1 | |||
) | const [protected, virtual] |
Return the PDG codes for spin 1/2 octet baryons formed by the given quark flavours (iqa >= iqb >= iqc > 0) together with suitable weights.
iq is one of the flavours and the other two are assumed to be in a diquark (in a spin-1 state if dqs1).
void ThePEG::SimpleFlavour::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
Reimplemented from ThePEG::FlavourGenerator.
void ThePEG::SimpleFlavour::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 ThePEG::FlavourGenerator.
virtual IBPtr ThePEG::SimpleFlavour::clone | ( | ) | const [protected, virtual] |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
virtual IBPtr ThePEG::SimpleFlavour::fullclone | ( | ) | const [protected, virtual] |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
virtual void ThePEG::SimpleFlavour::doinit | ( | ) | [protected, virtual] |
Initialize this object after the setup phase before saving an EventGenerator to disk.
InitException | if object could not be initialized properly. |
Reimplemented from ThePEG::InterfacedBase.
virtual void ThePEG::SimpleFlavour::doinitrun | ( | ) | [protected, virtual] |
Initialize this object.
Called in the run phase just before a run begins.
Reimplemented from ThePEG::InterfacedBase.
double ThePEG::SimpleFlavour::theSSup [private] |
Suppression factor of strange quarks w.r.t.
u and d.
Definition at line 338 of file SimpleFlavour.h.
Referenced by sSup().
double ThePEG::SimpleFlavour::theDiSup [private] |
Suppression factor for di-quarks w.r.t.
quarks.
Definition at line 343 of file SimpleFlavour.h.
Referenced by diSup().
double ThePEG::SimpleFlavour::theDi1Sup [private] |
Suppression of spin-1 di-quarks w.r.t.
spin-0 ones.
Definition at line 348 of file SimpleFlavour.h.
Referenced by di1Sup().
double ThePEG::SimpleFlavour::theDiSSup [private] |
Suppression of strange di-quarks w.r.t.
u and d ones in addition to the standard strangness suppression of quarks.
Definition at line 354 of file SimpleFlavour.h.
Referenced by diSSup().