File: BaryonRemnants.h
Description:
BaryonRemnants inherits from the
RemnantHandler and implements the generation of a
remnants when a partons are extracted from a baryon.
See
also:
namespace Pythia7
CLASS
BaryonRemnants:
Base class:
Public members:
typedef Ptr<PtGenerator>::pointer PtGPtr;;
typedef Ptr<ZGenerator>::pointer ZGPtr;
typedef Ptr<FlavourGenerator>::pointer FlGPtr;
BaryonRemnants();
BaryonRemnants(const BaryonRemnants &);
virtual ~BaryonRemnants();
Standard ctors and dtor
virtual bool canHandle(tcPDPtr particle, const cPDVector & partons) const;
Return true if this remnant handler can handle extracting all
specified partons.
virtual Lorentz5Momentum generate(PartonBin & pb, const double * r,
Energy2 scale,
const LorentzMomentum & p) const;
Generate the momentum of the extracted parton in the particle cms
(but with x still the positive light-cone fraction) as given by
the last argument. If the particle is space-like the positive and
negative light-cone momenta are sqrt(-m2) and -sqrt(-m2)
respectively. If the scale is negative, it means that the doScale
in the previous call to nDim() was true, otherwise the given
scale should be the virtuality of the extracted parton. Generated
quantities which are not returned in the momentum may be saved in
the PartonBin for later use. In particular, if the nDim() random
numbers are not enough to generate with weight one, the resulting
weight should be stored with the remnantWeight() method of the
parton bin.
virtual void createRemnants(PartonBin & pb) const;
If the actual remnants were not fully generated in the previous
call to generate(), do that now and store them in the parton bin.
inline Energy margin() const;
Return the energy margin to be added to the sum of the parent and
parton masses to determine if it is possible to construct the
remnants with the given (upper limit of the) virtuality of the
extracted parton.
Protected members:
inline ZGenerator & zGenerator() const;
Return a reference to the object responsible for generating
momentum fractions in case of more than one remnant.
inline PtGenerator & ptGeneratorQ() const;
Return a reference to the object responsible for generating
primordial pt of the struck quark.
inline PtGenerator & ptGeneratorR() const;
Return a reference to the object responsible for generating
primordial pt among the remnants.
inline FlavourGenerator & flavourGenerator() const;
Return a reference to the object responsible for handling the
flavour contents of a baryon.
Public members:
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.
Protected members:
inline virtual IBPtr clone() const;
inline virtual IBPtr fullclone() const;
Standard clone methods
inline virtual void doupdate() throw(UpdateException);
virtual void doinit() throw(InitException);
inline virtual void dofinish();
Standard Interfaced virtual functions.
inline virtual void rebind(const TranslationMap & trans)
throw(RebindException);
Change all pointers to Interfaced objects to corresponding clones.
inline virtual IVector getReferences();
Return pointers to all Interfaced objects refered to by this.
Private members:
Ptr<PtGenerator>::pointer thePtGeneratorQ;
Ptr<PtGenerator>::pointer thePtGeneratorR;
The object responsible for generating primordial pt for the struck
quark (Q) and within the remnants (R)..
Ptr<ZGenerator>::pointer theZGenerator;
The object responsible for generating momentum fractions in case
of more than one remnant.
Ptr<FlavourGenerator>::pointer theFlavourGenerator;
The object responsible for handling the flavour contents of a
baryon.
Energy theMargin;
The energy margin to be added to the sum of the parent and parton
masses to determine if it is possible to construct the remnants
with the given (upper limit of the) virtuality of the extracted
parton.
static ClassDescription<BaryonRemnants> initBaryonRemnants;
BaryonRemnants & operator=(const BaryonRemnants &);
Private and non-existent assignment operator.
STRUCT
BaryonRemnantsInfo:
Public members:
int iq;
int sign;
vector<int> flav;
vector<int> vflav;
VSelector< pair<int,int> > flavsel;
bool mayval;
template <>
STRUCT
BaseClassTrait<BaryonRemnants,1>
Public members:
typedef RemnantHandler NthBase;
template <>
STRUCT
ClassTraits<BaryonRemnants>:
Public members:
static string className() { return "/Pythia7/BaryonRemnants"; }
static string library() { return "libP7String.so BaryonRemnants.so"; }
DEFINED MACROS
INCLUDED FILES
Pythia7/PDF/RemnantHandler.h
Pythia7/StringFrag/PtGenerator.h
Pythia7/StringFrag/ZGenerator.h
Pythia7/Handlers/FlavourGenerator.h
Pythia7/Utilities/VSelector.h
BaryonRemnants.icc