9 #ifndef ThePEG_FlavourGenerator_H
10 #define ThePEG_FlavourGenerator_H
13 #include "ThePEG/Config/ThePEG.h"
14 #include "ThePEG/Handlers/HandlerBase.h"
191 class FlavourGeneratorException:
public Exception {};
201 struct BaseClassTrait<FlavourGenerator,1>:
public ClassTraitsType {
211 struct ClassTraits<FlavourGenerator>:
212 public ClassTraitsBase<FlavourGenerator> {
215 return "ThePEG::FlavourGenerator";
pair< tcPDPtr, tcPDPtr > tcPDPair
A pair of transient pointers to const ParticleData objects.
PersistentIStream is used to read persistent objects from a stream where they were previously written...
virtual long selectQuark() const =0
Generate a random quark flavour.
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
static void Init()
Standard Init function used to initialize the interface.
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
This is the main namespace within which all identifiers in ThePEG are declared.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
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...
FlavourGenerator is an abstract base class to be used to implement models describing the quark conten...
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.
A concreate implementation of ClassDescriptionBase describing an abstract class without persistent da...
tcPDPtr alwaysGetHadron(tcPDPtr q1, tcPDPtr q2) const
Same as getHadron(tcPDPtr, tcPDPtr) but thows an exception if no hadron could be produced.
virtual tcPDPtr getHadron(tcPDPtr q1, tcPDPtr q2) const
Get hadron from flavours.
virtual tcPDPair generateHadron(tcPDPtr quark) const =0
Generate a hadron from a quark.
HandlerBase is an abstract base class derived from the Interfaced class via the HandlerBaseT class ad...
Exception is the base class for all exceptions to be used in ThePEG.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
static string className()
Return the name of class T.
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
virtual long selectFlavour() const =0
Generate a random (di)quark flavour.
static AbstractNoPIOClassDescription< FlavourGenerator > initFlavourGenerator
Describe aa abstract class without persistent data.
FlavourGenerator & operator=(const FlavourGenerator &)
Private and non-existent assignment operator.
tcPDPair alwaysGenerateHadron(tcPDPtr quark) const
Same as generateHadron(tcPDPtr), but throws an exception if no hadron could be produced.