9 #ifndef THEPEG_PartonBinInstance_H 10 #define THEPEG_PartonBinInstance_H 13 #include "ThePEG/Config/ThePEG.h" 14 #include "ThePEG/PDF/PartonBin.h" 147 void reset(
double lx = 0, Energy2 Q2 =
ZERO);
465 typedef Base NthBase;
474 static string className() {
return "ThePEG::PartonBinInstance"; }
tcPDFPtr pdf() const
The PDFBase object describing the momentum distribution of the parton within the particle in this Par...
PersistentIStream is used to read persistent objects from a stream where they were previously written...
double remnantWeight() const
Get the weight associated with the remnant generation.
void particle(tPPtr p)
Set the current particle instance.
virtual ~RemInfoBase()
The descructor.
void jacobian(double j)
Set the jacobian associated with the phase space point generated.
Define the base class from which all (polymorphic) classes in ThePEG are derived. ...
void remnantInfo(tRemIPtr ri)
Set information saved by the remnant handler from the generation, to be used in the construction of t...
ClassTraitsType is an empty, non-polymorphic, base class.
double theLi
The momentum fraction (xi, li=log(xi), eps=1-xi), of this parton w.r.t.
void li(double lx)
Set the logarithmic momentum fraction of this parton w.r.t.
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
tcPDPtr particleData() const
Return a pointer to the data object of the incoming particle.
PVector theRemnants
The current remnants.
Energy2 scale() const
Get the scale at which the current parton was extracted.
void generate(const double *r)
Generate l and Q2 of this and parent bins.
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
void reset(double lx=0, Energy2 Q2=ZERO)
Reset the current PartonBin, making room for a new event.
PVector thePartons
The currently extracted partons (in case of multiple interactions.
tPBIPtr incoming() const
In the case the incoming particle in turn is extracted from another particle, return the PartonBinIns...
double eps() const
Get one minus the momentum fraction of this parton w.r.t.
PBIPtr theIncoming
In the case the incoming particle in turn is extracted from another particle, this is the PartonBinIn...
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
RemIPtr theRemInfo
The information saved by the remnant handler from the generation, to be used in the construction of t...
const PVector & remnants() const
Get the current remnants.
PartonBinInstance & operator=(const PartonBinInstance &)
Private and non-existent assignment operator.
This is the main namespace within which all identifiers in ThePEG are declared.
double theX
The momentum fraction (x, l=log(x)) of this parton w.r.t.
const PartonVector & bins() const
Return pointers to the bins this instance refer to in case more than one parton has been extracted...
void prepare()
Reset last generated l and Q2 values of this and parent bins.
TransverseMomentum theKT
The transverse momentum of the extracted parton.
static ClassDescription< PartonBinInstance > initPartonBinInstance
Describe a concrete class with persistent data.
double exp1m(double x)
Return , with highest possible precision for .
double li() const
Get the logarithmic momentum fraction of this parton w.r.t.
PPtr theParticle
The current particle instance.
tPPtr particle() const
Get the current particle instance.
#define ThePEG_DECLARE_CLASS_POINTERS(full, abbrev)
This macro helps us to declare pointers and stuff to standard classes.
tcPDPtr partonData() const
Return a pointer to the data object of the extracted parton.
double x() const
Get the momentum fraction of this parton w.r.t.
void remnants(const PVector &rems)
Set the current remnants.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
bool hasPoleIn1() const
Return true if the corresponding PDFs has a pole at $x=1$ for the current particle/parton combination...
double theXi
The momentum fraction (xi, li=log(xi), eps=1-xi), of this parton w.r.t.
void remnantWeight(double w)
Set the weight associated with the remnant generation.
double theRemnantWeight
The weight associated with the remnant generation.
double xi() const
Get the momentum fraction of this parton w.r.t.
double jacobian() const
Get the jacobian associated with the phase space point generated.
pair< PBIPtr, PBIPtr > PBIPair
A pair of pointers to PartonBinInstance objects.
PartonBinInstance()
Default constructor.
RCPtr is a reference counted (smart) pointer.
double theJacobian
The jacobian associated with the phase space point generated.
PartonBinInstance is used to store information about the generation of a given parton extraction for ...
double theL
The momentum fraction (x, l=log(x)) of this parton w.r.t.
const ZeroUnit ZERO
ZERO can be used as zero for any unitful quantity.
PartonVector theBins
Pointer to the main bin (and secondary in case several partons have been extracted this instance refe...
ThePEG::Ptr< PartonBinInstance >::transient_pointer tPBIPtr
Alias for a transient pointer to PartonBinInstance .
void scale(Energy2 s)
Set the scale at which the current parton was extracted.
PPtr theParton
The current parton instance.
tPPtr parton() const
Get the current parton instance.
tRemIPtr remnantInfo() const
Get information saved by the remnant handler from the generation, to be used in the construction of t...
tcRemHPtr remnantHandler() const
The remnant handler associated with the pdf().
tPBIPtr getFirst()
Return the parton bin instance corresponding to the first incoming particle for this bin...
The default concrete implementation of ClassTraitsBase.
cPBPtr theBin
Pointer to the main bin this instance refer to.
double theEps
The momentum fraction (xi, li=log(xi), eps=1-xi), of this parton w.r.t.
virtual ~PartonBinInstance()
Destructor.
tcPBPtr bin() const
Return a pointer to the PartonBin this instance refer to.
static void Init()
Standard Init function used to initialize the interfaces.
vector< PPtr > PVector
A vector of pointers to Particle objects.
void parton(tPPtr p)
Set the current parton instance.
BaseClassTraits describes the base classes of the templated class.
Energy2 theScale
The scale at which the current parton was extracted.
double l() const
Get the logarithmic momentum fraction of this parton w.r.t.
const PVector & partons() const
The currently extracted partons (in case of multiple interactions.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
const TransverseMomentum & kT() const
Return the transverse momentum of the extracted parton.
void l(double lx)
Set the logarithmic momentum fraction of this parton w.r.t.