9 #ifndef THEPEG_SimpleFlavour_H 10 #define THEPEG_SimpleFlavour_H 13 #include "ThePEG/Handlers/FlavourGenerator.h" 14 #include "ThePEG/Utilities/VSelector.h" 214 virtual long vectorId(
long iqh,
long iql)
const;
223 long iq,
bool dqs1)
const;
236 virtual vector< pair<long,double> >
244 virtual vector< pair<long,double> >
vectorIds(
long iqh,
long iql)
const;
252 virtual vector< pair<long,double> >
254 long iq,
bool dqs1)
const;
261 virtual vector< pair<long,double> >
437 static string className() {
return "ThePEG::SimpleFlavour"; }
443 static string library() {
return "SimpleFlavour.so"; }
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...
pair< tcPDPtr, tcPDPtr > tcPDPair
A pair of transient pointers to const ParticleData objects.
double etaPSup() const
Return the extra suppression of ets-prime's.
static ClassDescription< SimpleFlavour > initSimpleFlavour
Describe a concrete class with persistent data.
double etaSup() const
Return the extra suppression of eta's.
PersistentIStream is used to read persistent objects from a stream where they were previously written...
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 >= ...
double di1Sup() const
Return the suppression of spin-1 di-quarks w.r.t.
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...
double theDi1Sup
Suppression of spin-1 di-quarks w.r.t.
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...
virtual long selectFlavour() const
Generate a random (di)quark flavour.
virtual tcPDPtr getHadron(long iq1, long iq2) const
Get hadron from flavours.
double pSpinC1() const
Return the probability that charmed and heavier mesons has spin 1;.
ClassTraitsType is an empty, non-polymorphic, base class.
double theSSup
Suppression factor of strange quarks w.r.t.
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
double baryon10Sup() const
Return the extra suppression for baryons of the spin 3/2 decuplet.
virtual tcPDPtr baryonOctet(long iq, long idq) const
Return a spin 1/2 octet 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...
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
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.
double thePSpin1
Probability that light (u/d) mesons has spin 1.
This is the main namespace within which all identifiers in ThePEG are declared.
SimpleFlavour()
Default constructor.
double theEtaPSup
Extra suppression of ets-prime's.
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...
void clear()
Clear all cashed weights.
double theDiSSup
Suppression of strange di-quarks w.r.t.
ProbabilityMap theProbabilities
A map of selectors to cash probabilities for generateHadron.
FlavourGenerator is an abstract base class to be used to implement models describing the quark conten...
virtual void setProbabilities(long iq) const
Calculate the probabilities for generateHadron for the given flavour.
SimpleFlavour & operator=(const SimpleFlavour &)
Private and non-existent assignment operator.
double pSpin1() const
Return the probability that light (u/d) mesons has spin 1;.
virtual tcPDPair generateHadron(tcPDPtr quark) const
Generate a hadron from a quark.
double theBaryon10Sup
Extra suppression for baryons of the spin 3/2 decuplet.
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)...
virtual long selectQuark() const
Generate a random quark flavour.
map< long, VSelector< pair< long, long > > > ProbabilityMap
A map of Selectors.
virtual ~SimpleFlavour()
Destructor.
double thePSpinS1
Probability that strange mesons has spin 1.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
double sSup() const
Return the suppression factor of strange quarks w.r.t.
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...
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
RCPtr is a reference counted (smart) pointer.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
virtual IBPtr clone() const
Make a simple clone of this object.
virtual tcPDPtr vectorMeson(long iq, long iqbar) const
Return a vector meson formed by the two quark flavours.
VSelector< long > theFlavourSelector
A selector used to weight the creation of (di)quark-anti(di)quark pairs.
double pSpinS1() const
Return the probability that strange mesons has spin 1;.
static void Init()
Standard Init function used to initialize the interfaces.
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)...
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 >= ...
double diSup() const
Return the suppression factor for di-quarks w.r.t.
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.
The default concrete implementation of ClassTraitsBase.
virtual tcPDPtr baryonDecuplet(long iq, long idq) const
Return a spin 3/2 decuplet baryon formed by the given quark and diquark flavours. ...
double diSSup() const
Return the suppression of strange di-quarks w.r.t.
BaseClassTraits describes the base classes of the templated class.
virtual tcPDPtr getHadron(tcPDPtr q1, tcPDPtr q2) const
Get hadron from flavours.
virtual void doinitrun()
Initialize this object.
virtual tcPDPtr pseudoScalarMeson(long iq, long iqbar) const
Return a pseudo scalar meson formed by the two quark flavours.
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...
double thePSpinC1
Probability that charmed and heavier mesons has spin 1.
double theDiSup
Suppression factor for di-quarks w.r.t.
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
SimpleFlavour is a simple class to generate hadrons given the quark flavours.
double theEtaSup
Extra suppression of eta's.