00001
00002 #ifndef PYTHIA7_EndPoint_H
00003 #define PYTHIA7_EndPoint_H
00004
00005
00006 #include "FragConfig.h"
00007 #include "ThePEG/PDT/ParticleData.h"
00008 #include "StringRegion.h"
00009
00010
00011
00012 namespace Pythia7 {
00013
00053 class EndPoint{
00054
00055 public:
00056
00062 inline EndPoint();
00063
00067 inline EndPoint(const EndPoint&);
00068
00073 inline EndPoint(cPDPtr inPDPtr, cStringRegionPtr inSRPtr);
00074
00078 inline ~EndPoint();
00079
00083 inline void Init();
00084
00088 inline void Init(cPDPtr inPDPtr, cStringRegionPtr inSRPtr);
00089
00093 EndPoint CC() const;
00094
00099 inline void stepUp();
00100
00105 inline void stepDown();
00106
00112 void UpdatedFrom(const EndPoint& currEP);
00113
00118 inline cStringRegionPtr SR() const;
00119
00124 inline void SR(cStringRegionPtr newSR);
00125
00130 inline const LorentzMomentum & Pfwd() const;
00131
00136 inline const LorentzMomentum & Pbwd() const;
00137
00142 inline double Xremf() const;
00143
00148 inline double Xremb() const;
00149
00153 inline void PData(cPDPtr pd);
00154
00158 inline cPDPtr PData()const;
00159
00164 inline Energy mass() const;
00165
00170 inline void setPt(const TransverseMomentum & newPT);
00171
00176 inline void setPt(Energy px, Energy py);
00177
00182 inline const TransverseMomentum & pTcomp() const;
00183
00188 inline Energy Px() const;
00189
00194 inline Energy Py() const;
00195
00200 inline LorentzMomentum pT() const;
00201
00207 inline void Gamma(Energy2 );
00208
00214 inline Energy2 Gamma() const;
00215
00219 inline EndPoint& operator = (const EndPoint& ep);
00220
00221
00225 void echo() const;
00226
00227 private:
00228
00232 inline StringPtr theString();
00233
00234 private:
00235
00239 cPDPtr theParticle;
00240
00244 cStringRegionPtr theStrRg;
00245
00249 TransverseMomentum thePTcomp;
00250
00254 Energy2 theGamma;
00255
00256 };
00257
00258
00259 }
00260
00261 #include "EndPoint.icc"
00262 #ifndef PYTHIA7_TEMPLATES_IN_CC_FILE
00263
00264 #endif
00265
00266 #endif
00267
00268
00269
00270
00271
00272
00273
00274
00275