|
ThePEG
1.8.0
|
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 Selectors. 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. | |
| 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 &) |
| 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 Selectors.
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).
|
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).
|
protectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
|
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.
|
protectedvirtual |
Initialize this object.
Called in the run phase just before a run begins.
Reimplemented from ThePEG::InterfacedBase.
|
protectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
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. |
| void ThePEG::SimpleFlavour::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
| os | the persistent output stream written to. |
|
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().
1.8.9.1