File: FlavourGenerator.h
Description:
FlavourGenerator is an abstract base class to be used to
implement models describing the quark content of
hadrons. FlavourGenerator inherits from the
HandlerBase class.
See
also:
namespace Pythia7
CLASS
FlavourGenerator:
Base class:
Public members:
inline FlavourGenerator();
inline FlavourGenerator(const FlavourGenerator &);
virtual ~FlavourGenerator();
Standard ctors and dtor
virtual PDPtr generateHadron(tcPDPtr quark, cPDPtr & antiQuark,
long curtainQid = 0 ) = 0;
Given a quark, choose a quark-antiquark pair. Return a meson
formed by the original quark and the anti-quark.
virtual PDPtr getHadron(tcPDPtr quark, tcPDPtr antiQuark) = 0;
virtual PDPtr getBaryon(tcPDPtr quark1, tcPDPtr quark2, tcPDPtr quark3) = 0;
virtual vector<tcPDPtr> getHadrons(tcPDPtr quark, tcPDPtr antiQuark) = 0;
virtual vector<tcPDPtr> getBaryons(tcPDPtr q1, tcPDPtr q2, tcPDPtr q3) = 0;
virtual void splitHadron(tcPDPtr hadron, cPDPtr & quark,
cPDPtr & rest) const;
For a given hadron if quark is null, set 'quark' to a random
valens quark. Then set 'rest' to a corresponding anti-quark in
case of a meson and a di-quark in case of a baryon.
virtual void doupdate() throw(UpdateException);
virtual void doinit() throw(InitException);
virtual void dofinish();
Standard Interfaced virtual functions.
void persistentOutput(PersistentOStream &) const;
void persistentInput(PersistentIStream &, int);
Standard functions for writing and reading from persistent streams.
static void Init();
Standard Init function used to initialize the interface.
Private members:
static AbstractNoPIOClassDescription<FlavourGenerator> initFlavourGenerator;
FlavourGenerator & operator=(const FlavourGenerator &);
Private and non-existent assignment operator.
template <>
STRUCT
BaseClassTrait<FlavourGenerator,1>
Public members:
typedef HandlerBase NthBase;
template <>
STRUCT
ClassTraits<FlavourGenerator>:
Public members:
static string className() {
return "/Pythia7/FlavourGenerator";
DEFINED MACROS
PYTHIA7_FlavourGenerator_H
INCLUDED FILES
Pythia7/Config/Pythia7.h
Pythia7/Handlers/HandlerBase.h
FlavourGenerator.icc