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"; }
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.
PersistentIStream is used to read persistent objects from a stream where they were previously written...
virtual tcPDPtr pseudoScalarMeson(long iq, long iqbar) const
Return a pseudo scalar meson formed by the two quark flavours.
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 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 >= ...
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)...
double pSpinS1() const
Return the probability that strange mesons has spin 1;.
virtual long selectQuark() const
Generate a random quark flavour.
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 tcPDPair generateHadron(tcPDPtr quark) const
Generate a hadron from a quark.
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
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...
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 pSpin1() const
Return the probability that light (u/d) mesons has spin 1;.
virtual tcPDPtr baryonOctet(long iq, long idq) const
Return a spin 1/2 octet baryon formed by the given quark and diquark flavours.
double theEtaPSup
Extra suppression of ets-prime's.
virtual tcPDPtr vectorMeson(long iq, long iqbar) const
Return a vector meson formed by the two quark flavours.
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...
SimpleFlavour & operator=(const SimpleFlavour &)
Private and non-existent assignment operator.
double theBaryon10Sup
Extra suppression for baryons of the spin 3/2 decuplet.
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.
map< long, VSelector< pair< long, long > > > ProbabilityMap
A map of Selectors.
virtual tcPDPtr baryonDecuplet(long iq, long idq) const
Return a spin 3/2 decuplet baryon formed by the given quark and diquark flavours. ...
virtual ~SimpleFlavour()
Destructor.
virtual long selectFlavour() const
Generate a random (di)quark flavour.
double thePSpinS1
Probability that strange mesons has spin 1.
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 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 IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual tcPDPtr getHadron(tcPDPtr q1, tcPDPtr q2) const
Get hadron from flavours.
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 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...
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...
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
double sSup() const
Return the suppression factor of strange quarks w.r.t.
VSelector< long > theFlavourSelector
A selector used to weight the creation of (di)quark-anti(di)quark pairs.
static void Init()
Standard Init function used to initialize the interfaces.
virtual IBPtr clone() const
Make a simple clone of this object.
The default concrete implementation of ClassTraitsBase.
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 >= ...
virtual void setProbabilities(long iq) const
Calculate the probabilities for generateHadron for the given flavour.
double diSup() const
Return the suppression factor for di-quarks w.r.t.
virtual tcPDPtr getHadron(long iq1, long iq2) const
Get hadron from flavours.
double etaSup() const
Return the extra suppression of eta's.
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...
double diSSup() const
Return the suppression of strange di-quarks w.r.t.
BaseClassTraits describes the base classes of the templated class.
double pSpinC1() const
Return the probability that charmed and heavier mesons has spin 1;.
virtual void doinitrun()
Initialize this object.
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.
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...
double theEtaSup
Extra suppression of eta's.