The EndPoint is the main helper class used by the
LundFragHandler to handle the steps in the fragmentation
procedure. The endpoint describes the quark (diquark) of a quark-antiquark
(diquark-antidiquark) pair created at a breakpoint during the string
fragmentation. At each step a new Hadron is created
joining the newly created EndPoint with the old
EndPoint left over at the previous step in the iterative procedure.
The information about the particle type are accessed throught a pointer
to the ParticleData object.
Conventions of the stepping methods :
stepUp() and stepDown() are the Oriented
methods to move an EndPoint through the grid of the StringRegions.
Internally the EndPoint's StringRegion is defined in the grid by its
(j,k) indices.
Assume an EndPoint ep standing in the (ji, ki) :
then if a step is taken from the "right side" of the string :
ep.stepUp() will move it to the region (ji, ki+1) while
ep.stepDown() to the region (ji+1, ki)
If a step is taken from the "left side" :
ep.stepUp() will now move it to the region (ji-1, ki) and
ep.stepDown() to the region (ji, ki-1)
Apart of the pointer to the StringRegion, the step methods do not change any other members of the
EndPoint.
See
also:
namespace Pythia7
CLASS
EndPoint{
Public members:
inline EndPoint();
inline ~EndPoint();
Standard Ctor Dtor
inline EndPoint(const EndPoint&);
Copy Ctor
inline EndPoint(cPDPtr inPDPtr, cStringRegionPtr inSRPtr);
Create an EndPoint given the type () of the particle standing
at this endpoint and the string region of the break point
inline void Init();
inline void Init(cPDPtr inPDPtr, cStringRegionPtr inSRPtr);
Reset this EndPoint to the default values
or set its ParticleData and its StringRegion
EndPoint CC() const;
Return the charge conjugate of this EndPoint
inline void stepUp();
inline void stepDown();
Stepping Methods to move the EndPoint particle through the
different string regions of the String representation
void UpdatedFrom(const EndPoint& currEP);
Update this EndPoint given the current EndPoint (currEP). [At the end of a
step the current EndPoint becomes the last EndPoint for the next step.]
inline cStringRegionPtr SR() const;
inline void SR(cStringRegionPtr newSR);
Set/Get the pointer to the StringRegion where this EndPoint is standing
during the fragmentation process
inline const LorentzVector& Pfwd() const;
inline const LorentzVector& Pbwd() const;
Get the (forward, backward) Light-cone vectors of the
current StringRegion of this EndPoint.
inline double Xremf() const;
inline double Xremb() const;
Get the Remaining momentum fraction of the current StringRegion
of this EndPoint
inline void PData(cPDPtr pd);
inline cPDPtr PData()const;
Set/Get the ParticleData pointer at this EndPoint
inline Energy mass() const;
Return the constituent mass of the Particle standing
at this EndPoint
inline void setPt(const PTcomp& newPT);
inline void setPt(Energy px, Energy py);
inline const PTcomp& pTcomp() const;
inline Energy Px() const;
inline Energy Py() const;
Set/Get the Transverse Components of the Particle at this EndPoint
inline LorentzVector pT() const;
Return the transverse 4-vector of the endpoint particle in
the current string region
inline void Gamma(Energy2 );
inline Energy2 Gamma() const;
Set/Get the Gamma variable of the endpoint vertex. Gamma represents the
invariant-time squared from the vertex of the old EndPoint to this one
inline EndPoint& operator = (const EndPoint& ep);
EndPoint assigment operator
void echo() const;
*** for Debugging
Private members:
inline StringPtr theString();
Get the pointer to the string being fragmented
cPDPtr theParticle;
The particle type at this endpoint
cStringRegionPtr theStrRg;
the current string region
pair<Energy, Energy> thePTcomp;
The transverse momentum components of the particle
double theGamma;
The invariant-time square
DEFINED MACROS
INCLUDED FILES
FragConfig.h
Pythia7/PDT/ParticleData.h
StringRegion.h
EndPoint.icc