ThePEG
2.2.1
|
SimpleFlavour is a simple class to generate hadrons given the quark flavours. More...
#include <SimpleFlavour.h>
Public Types | |
typedef map< long, VSelector< pair< long, long > > > | ProbabilityMap |
A map of Selector s. More... | |
Public Types inherited from ThePEG::InterfacedBase | |
enum | InitState { initializing = -1, uninitialized = 0, initialized = 1, runready = 2 } |
Enumeration reflecting the state of an InterfacedBase object. More... | |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
The integer type used for counting. | |
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. More... | |
virtual tcPDPtr | getHadron (long iq1, long iq2) const |
Get hadron from flavours. More... | |
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. More... | |
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. More... | |
double | diSup () const |
Return the suppression factor for di-quarks w.r.t. More... | |
double | di1Sup () const |
Return the suppression of spin-1 di-quarks w.r.t. More... | |
double | diSSup () const |
Return the suppression of strange di-quarks w.r.t. More... | |
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. More... | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. More... | |
Public Member Functions inherited from ThePEG::FlavourGenerator | |
tcPDPair | alwaysGenerateHadron (tcPDPtr quark) const |
Same as generateHadron(tcPDPtr), but throws an exception if no hadron could be produced. | |
virtual tcPDPtr | getHadron (tcPDPtr q1, tcPDPtr q2) const |
Get hadron from flavours. More... | |
tcPDPtr | alwaysGetHadron (tcPDPtr q1, tcPDPtr q2) const |
Same as getHadron(tcPDPtr, tcPDPtr) but thows an exception if no hadron could be produced. | |
tcPDPtr | alwaysGetHadron (long iq1, long iq2) const |
Same as getHadron(long, long) but thows an exception if no hadron could be produced. | |
virtual tcPDPtr | getBaryon (tcPDPtr q1, tcPDPtr q2, tcPDPtr q3) const |
Return a baryon with the flavour content given by the (anti)quarks in the argument. More... | |
tcPDPtr | alwaysGetBaryon (tcPDPtr q1, tcPDPtr q2, tcPDPtr q3) const |
Same as getBaryon(tcPDPtr, tcPDPtr, tcPDPtr), but throws an exception if no baryon could be produced. | |
tcPDPtr | alwaysGetBaryon (long q1, long q2, long q3) const |
Same as getBaryon(long, long, long), but throws an exception if no baryon could be produced. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. More... | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. More... | |
Public Member Functions inherited from ThePEG::HandlerBaseT< UseRandom > | |
double | rnd () const |
Return a simple flat random number in the range ]0,1[. | |
double | rnd (double xu) const |
Return a simple flat random number in the range ]0,xu[. | |
double | rnd (double xl, double xu) const |
Return a simple flat random number in the range ]xl,xu[. | |
bool | rndbool () const |
Return true with 50% probability. | |
bool | rndbool (double p) const |
Return a true with probability p. | |
bool | rndbool (double p1, double p2) const |
Return a true with probability p1/(p1+p2). | |
int | rndsign (double p1, double p2, double p3) const |
Return -1, 0, or 1 with relative probabilities p1, p2, p3. | |
int | rnd2 (double p0, double p1) const |
Return an integer with probability p /(p0+p1). | |
int | rnd3 (double p0, double p1, double p2) const |
Return an integer with probability p /(p0+p1+p2). | |
int | rnd4 (double p0, double p1, double p2, double p3) const |
Return an integer/ with probability p (p0+p1+p2+p3). | |
long | irnd (long xu=2) const |
Return a simple flat random integrer number in the range [0,xu[. | |
long | irnd (long xl, long xu) const |
Return a simple flat random integrer number in the range [xl,xu[. | |
const StandardModelBase & | SM () const |
Return a reference to the object containing the standard model parameters for this run. | |
tSMPtr | standardModel () const |
Return a pointer to the object containing the standard model parameters for this run. | |
virtual | ~HandlerBaseT () |
Destructor. | |
Public Member Functions inherited from ThePEG::Interfaced | |
virtual | ~Interfaced () |
Empty virtual destructor. | |
virtual bool | defaultInit () |
Functions which are to be used during the actual event generation, after the setup is complete. More... | |
PPtr | getParticle (PID) const |
Create a new Particle instance given a id number. | |
PDPtr | getParticleData (PID) const |
Return a pointer to the ParticleData object corresponding to the given id number. | |
bool | used () const |
Returns true if this object has actally been used. | |
void | useMe () const |
Should be called to indicate that this object has actually been used. | |
tEGPtr | generator () const |
Return a pointer to the EventGenerator controlling the run. More... | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. More... | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. More... | |
Public Member Functions inherited from ThePEG::InterfacedBase | |
virtual | ~InterfacedBase () |
The virtual (empty) destructor;. | |
string | fullName () const |
Returns the full name of this object including its path, e.g. More... | |
string | name () const |
Returns the name of this object, without the path. | |
string | path () const |
Returns the path to this object including the trailing '/'. More... | |
string | comment () const |
Returns a comment assigned to this object. | |
void | setup (istream &is) |
Read setup info from a standard istream is. More... | |
virtual void | debugme () const |
Print out debugging information for this object on std::cerr. More... | |
void | update () |
Calls the doupdate() function with recursion prevention. | |
void | init () |
Calls the doinit() function with recursion prevention. | |
virtual bool | preInitialize () const |
Return true if this object needs to be initialized before all other objects (except those for which this function also returns true). More... | |
void | initrun () |
Calls the doinitrun() function with recursion prevention. | |
void | finish () |
Calls the dofinish() function with recursion prevention. | |
void | touch () |
This function should be called every time something in this object has changed in a way that a sanity check with update() is needed. | |
void | reset () |
Set the state of this object to uninitialized. | |
void | clear () |
Calls reset() and unTouch(). | |
InitState | state () const |
Return the state of initialization of this object. | |
bool | locked () const |
Return true if the BaseRepository is not allowed to change the state of this object. | |
bool | touched () const |
Return true if the state of this object has been changed since the last call to update(). | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. More... | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. More... | |
Public Member Functions inherited from ThePEG::Base | |
virtual | ~Base () |
The virtual destructor. | |
void | debug () const |
Print out debugging information for this object on std::cerr. More... | |
Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
CounterType | referenceCount () const |
Return the reference count. | |
Public Member Functions inherited from ThePEG::Named | |
Named (const string &newName=string()) | |
Constructor with name. | |
Named (const Named &)=default | |
Explicit default copy-constructor (too avoid compiler warnings) | |
const string & | name () const |
Return name. | |
bool | operator== (const Named &other) const |
Test for equality. | |
bool | operator< (const Named &other) const |
Lexicographical comparison. | |
Static Public Member Functions | |
static void | Init () |
Standard Init function used to initialize the interfaces. | |
Static Public Member Functions inherited from ThePEG::FlavourGenerator | |
static void | Init () |
Standard Init function used to initialize the interface. | |
Static Public Member Functions inherited from ThePEG::HandlerBase | |
static void | Init () |
Standard Init function used to initialize the interface. | |
Static Public Member Functions inherited from ThePEG::Interfaced | |
static void | Init () |
Standard Init function. | |
Static Public Member Functions inherited from ThePEG::InterfacedBase | |
static void | Init () |
Standard Init function. | |
Static Public Member Functions inherited from ThePEG::Base | |
static void | Init () |
The standard Init function used to initialize the interfaces. More... | |
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). More... | |
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. More... | |
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. More... | |
virtual IBPtr | fullclone () const |
Make a clone of this object, possibly modifying the cloned object to make it sane. More... | |
Standard Interfaced functions. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving an EventGenerator to disk. More... | |
virtual void | doinitrun () |
Initialize this object. More... | |
Protected Member Functions inherited from ThePEG::Interfaced | |
void | reporeg (IBPtr object, string name) const |
Register the given object in the Repository with the given name in a subdirectory with the same name as this object. More... | |
template<typename PtrT > | |
bool | setDefaultReference (PtrT &ptr, string classname, string objectname) |
If the pointer, ptr, to an object is not set, create an object of class classname and register it with the Repository with the given objectname in a sib-directory with the same name as this object. | |
Interfaced () | |
Protected default constructor. | |
Interfaced (const string &newName) | |
Protected constructor taking a name as argument. | |
Interfaced (const Interfaced &i) | |
Protected copy-constructor. | |
void | setGenerator (tEGPtr generator) |
Protected function to reset the generator pointer, required for automatic decayer generation in Herwig++ BSM models. | |
Protected Member Functions inherited from ThePEG::InterfacedBase | |
InterfacedBase () | |
Protected default constructor. | |
InterfacedBase (string newName) | |
Protected constructor with the name given as argument. | |
InterfacedBase (const InterfacedBase &i) | |
Protected copy-constructor. | |
virtual void | readSetup (istream &is) |
Read setup info from a standard istream is. More... | |
virtual void | doupdate () |
Check sanity of the object during the setup phase. More... | |
virtual void | dofinish () |
Finalize this object. More... | |
virtual IVector | getReferences () |
Return a vector of all pointers to Interfaced objects used in this object. More... | |
virtual void | rebind (const TranslationMap &) |
Rebind pointer to other Interfaced objects. More... | |
Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
ReferenceCounted () | |
Default constructor. | |
ReferenceCounted (const ReferenceCounted &) | |
Copy-constructor. | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Assignment. | |
Protected Member Functions inherited from ThePEG::Named | |
const Named & | operator= (const Named &other) |
Assignment. | |
const string & | name (const string &newName) |
Set new name. | |
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). | |
Static Protected Member Functions inherited from ThePEG::Interfaced | |
static void | registerRepository (IBPtr) |
Register an Interfaced object with the Repository. | |
static void | registerRepository (IBPtr, string newName) |
Register an Interfaced object with the Repository, giving it a name. | |
Private Member Functions | |
SimpleFlavour & | operator= (const SimpleFlavour &)=delete |
Private and non-existent assignment operator. | |
Private Attributes | |
double | theSSup |
Suppression factor of strange quarks w.r.t. More... | |
double | theDiSup |
Suppression factor for di-quarks w.r.t. More... | |
double | theDi1Sup |
Suppression of spin-1 di-quarks w.r.t. More... | |
double | theDiSSup |
Suppression of strange di-quarks w.r.t. More... | |
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. | |
Additional Inherited Members | |
Public Attributes inherited from ThePEG::Pointer::ReferenceCounted | |
const unsigned long | uniqueId |
The unique ID. More... | |
SimpleFlavour is a simple class to generate hadrons given the quark flavours.
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 |
A map of Selector
s.
Definition at line 33 of file SimpleFlavour.h.
|
protectedvirtual |
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).
Referenced by pSpinC1().
|
protectedvirtual |
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).
Referenced by pSpinC1().
|
protectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
Referenced by pSpinC1().
|
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.
|
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.
|
inline |
Return the suppression factor for di-quarks w.r.t.
quarks
Definition at line 115 of file SimpleFlavour.h.
References theDiSup.
|
protectedvirtual |
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.
Referenced by pSpinC1().
|
protectedvirtual |
Initialize this object.
Called in the run phase just before a run begins.
Reimplemented from ThePEG::InterfacedBase.
Referenced by pSpinC1().
|
protectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Referenced by pSpinC1().
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 |
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.
|
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.
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. |
Referenced by pSpinC1().
void ThePEG::SimpleFlavour::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
Referenced by pSpinC1().
|
inline |
Return the suppression factor of strange quarks w.r.t.
u and d.
Definition at line 110 of file SimpleFlavour.h.
References theSSup.
|
private |
Suppression of spin-1 di-quarks w.r.t.
spin-0 ones.
Definition at line 348 of file SimpleFlavour.h.
Referenced by di1Sup().
|
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().
|
private |
Suppression factor for di-quarks w.r.t.
quarks.
Definition at line 343 of file SimpleFlavour.h.
Referenced by diSup().
|
private |
Suppression factor of strange quarks w.r.t.
u and d.
Definition at line 338 of file SimpleFlavour.h.
Referenced by sSup().