(UNKNOWN PRODUCT) » INCLUDE » PParticle

class PParticle: public TLorentzVector

  Particle Class implementation file

  A PParticle is a TLorentzVector with id and weight.
  Static particle properties from the permanent data
  base in PStaticData are used. Additional external particles
  and decay modes may be loaded. See also PData.

                    Author:  M.A. Kagarlis
                    Written: 15.11.98
                    Revised: 15.12.2000  R. Holzmann
                    Revised: 22.03.2005  R. Holzmann
                    Revised: 23.07.2007  IF (new framework)


Function Members (Methods)

public:
virtual~PParticle()
voidTObject::AbstractMethod(const char* method) const
voidaddDebugString(char* s)
PParticle&AddTmp(const PParticle& p)
Double_tTLorentzVector::Angle(const TVector3& v) const
virtual voidTObject::AppendPad(Option_t* option = "")
Int_tBaryonN() const
Double_tTLorentzVector::Beta() const
voidTLorentzVector::Boost(const TVector3&)
voidTLorentzVector::Boost(Double_t, Double_t, Double_t)
TVector3TLorentzVector::BoostVector() const
virtual voidTObject::Browse(TBrowser* b)
Int_tCharge() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
voidclearDebugString()
virtual PParticle*Clone(const char* delme = __null) const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
Double_tTLorentzVector::CosTheta() const
virtual voidTObject::Delete(Option_t* option = "")MENU
Double_tTLorentzVector::DeltaPhi(const TLorentzVector&) const
Double_tTLorentzVector::DeltaR(const TLorentzVector&) const
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
Double_tTLorentzVector::Dot(const TLorentzVector&) const
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
Double_tTLorentzVector::DrEtaPhi(const TLorentzVector&) const
virtual voidTObject::Dump() constMENU
Double_tTLorentzVector::E() const
Double_tTLorentzVector::Energy() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
Double_tTLorentzVector::Et() const
Double_tTLorentzVector::Et(const TVector3&) const
Double_tTLorentzVector::Et2() const
Double_tTLorentzVector::Et2(const TVector3&) const
Double_tTLorentzVector::Eta() const
TVector2TLorentzVector::EtaPhiVector()
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Double_tTLorentzVector::Gamma() const
Double_tGenW() const
PParticle*GetBeam()
PParticle*GetDaughter(int i)
Int_tGetDaughterIndex() const
Double_tGetDBDouble(char* name)
Int_tGetDBInt(char* name)
charGetDBString(char* name) const
TString*GetDebugString()
Int_tGetDecayModeIndex(Int_t opt = 0) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
Int_tGetIndex() const
PParticle*GetInput()
Double_tGetMultiplicity()
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
PParticle*GetParent()
Int_tGetParentId() const
Int_tGetParentIndex() const
Double_tGetProperTime() const
Int_tGetScatterClone()
PParticle*GetScattering(Int_t i)
PParticle*GetSibling()
Int_tGetSiblingIndex() const
Int_tGetSourceId() const
Int_tgetSourceId() const
Int_tGetStatus()
PParticle*GetTarget()
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
boolGetValue(Int_t id, Double_t* val)
TVector3&GetVertex()
TVector3&getVertex()
voidTLorentzVector::GetXYZT(Double_t* carray) const
voidTLorentzVector::GetXYZT(Float_t* carray) const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
Int_tHasID(const Int_t id)
Int_tHasNotID(const Int_t id)
Int_tID() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
Double_tInvariantT(Double_t m3, Double_t m4, Double_t cos_th_cm)
voidTObject::InvertBit(UInt_t f)
Double_tInvGenW() const
Int_tIs(const char* id)
Int_tis(const char* id)
virtual TClass*IsA() const
Bool_tIsActive() const
Int_tIsDelta()
virtual Int_tIsDilepton()
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Int_tIsFileInput()
virtual Int_tIsFireball()
virtual Bool_tTObject::IsFolder() const
Int_tIsHadron() const
Int_tIsMeson() const
Int_tIsNucleon()
Bool_tTObject::IsOnHeap() const
Int_tIsPi()
Int_tIsRho()
virtual Bool_tTObject::IsSortable() const
Int_tIsSpectator()
Bool_tTObject::IsZombie() const
virtual Double_tKE() const
Int_tKey() const
Int_tLeptonN() const
Double_tLife(Double_t m = 0., Int_t idx = -1)
virtual voidTObject::ls(Option_t* option = "") const
Double_tTLorentzVector::M() const
Double_tTLorentzVector::M2() const
Double_tTLorentzVector::Mag() const
Double_tTLorentzVector::Mag2() const
voidTObject::MayNotUse(const char* method) const
Double_tTLorentzVector::Minus() const
Double_tTLorentzVector::Mt() const
Double_tTLorentzVector::Mt2() const
const char*Name()
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
voidTObject::operator delete(void* ptr)
voidTObject::operator delete(void* ptr, void* vp)
voidTObject::operator delete[](void* ptr)
voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
Bool_tTLorentzVector::operator!=(const TLorentzVector&) const
Double_tTLorentzVector::operator()(int i) const
Double_t&TLorentzVector::operator()(int i)
TLorentzVectorTLorentzVector::operator*(Double_t a) const
Double_tTLorentzVector::operator*(const TLorentzVector&) const
PParticle&operator*=(const TRotation&)
PParticle&operator*=(const TLorentzRotation&)
PParticleoperator+(const PParticle& b) const
PParticle&operator+=(const PParticle&)
PParticleoperator-(const PParticle& b) const
PParticle&operator-=(const PParticle&)
PParticle&operator=(const PParticle&)
Bool_tTLorentzVector::operator==(const TLorentzVector&) const
Double_tTLorentzVector::operator[](int i) const
Double_t&TLorentzVector::operator[](int i)
Double_tTLorentzVector::P() const
virtual voidTObject::Paint(Option_t* option = "")
Double_tTLorentzVector::Perp() const
Double_tTLorentzVector::Perp(const TVector3& v) const
Double_tTLorentzVector::Perp2() const
Double_tTLorentzVector::Perp2(const TVector3& v) const
Double_tTLorentzVector::Phi() const
Double_tTLorentzVector::Plus() const
virtual voidTObject::Pop()
PParticle(const PParticle&)
PParticle(const PParticle*)
PParticle(Int_t id = 0, Double_t T = 0., Double_t w = 1.)
PParticle(const char*, Double_t T = 0., Double_t w = 1.)
PParticle(Int_t, Double_t*, Double_t w = 1.)
PParticle(Int_t, float*, Double_t w = 1.)
PParticle(Int_t, const TVector3&, Double_t m = 0., Double_t w = 1.)
PParticle(Int_t, Double_t, Double_t, Double_t, Double_t m = 0., Double_t w = 1.)
PParticle(const char*, Double_t, Double_t, Double_t, Double_t m = 0., Double_t w = 1.)
virtual voidPrint(const Option_t* delme = __null) const
Double_tTLorentzVector::PseudoRapidity() const
Double_tTLorentzVector::Pt() const
Double_tTLorentzVector::Pt(const TVector3& v) const
Double_tTLorentzVector::Px() const
Double_tTLorentzVector::Py() const
Double_tTLorentzVector::Pz() const
Double_tR() const
Double_tTLorentzVector::Rapidity() const
virtual Int_tTObject::Read(const char* name)
voidReconstruct()
virtual voidTObject::RecursiveRemove(TObject* obj)
voidReset(const PParticle& p)
voidReset(const Int_t id, const TLorentzVector& v, const Double_t w = 1.)
voidReset(const Int_t id = 0, const Double_t px = 0., const Double_t py = 0., const Double_t pz = 0., const Double_t e = 0., const Double_t w = 1.)
voidTObject::ResetBit(UInt_t f)
voidResetDaughters()
voidResetE()
Double_tTLorentzVector::Rho() const
voidTLorentzVector::Rotate(Double_t, const TVector3&)
voidTLorentzVector::RotateUz(TVector3& newUzVector)
voidTLorentzVector::RotateX(Double_t angle)
voidTLorentzVector::RotateY(Double_t angle)
voidTLorentzVector::RotateZ(Double_t angle)
Double_tSample()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidScatter(PParticle* p1, PParticle* p2)
voidSetActive()
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetDaughter(PParticle* d)
voidSetDaughterIndex(Int_t dInd)
voidSetDecayModeIndex(Int_t pInd, Int_t i = 0)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidTLorentzVector::SetE(Double_t a)
voidSetGenW(Double_t w = 1.)
voidSetID(const Int_t id)
voidSetInActive()
voidSetIndex(Int_t Ind)
voidSetInput(PParticle* p)
voidSetInvGenW(Double_t w = 1.)
voidSetKE(Double_t T = 0.)
voidSetM(Double_t m = 0.)
voidSetMom(Double_t mom = 0.)
voidSetMultiplicity(Double_t w = 1.)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetParent(PParticle* p)
voidSetParentId(Int_t pId)
voidSetParentIndex(Int_t pInd)
voidTLorentzVector::SetPerp(Double_t)
voidTLorentzVector::SetPhi(Double_t phi)
voidSetProperTime()
voidSetProperTime(Double_t t)
voidTLorentzVector::SetPtEtaPhiE(Double_t pt, Double_t eta, Double_t phi, Double_t e)
voidTLorentzVector::SetPtEtaPhiM(Double_t pt, Double_t eta, Double_t phi, Double_t m)
voidTLorentzVector::SetPx(Double_t a)
voidTLorentzVector::SetPxPyPzE(Double_t px, Double_t py, Double_t pz, Double_t e)
voidTLorentzVector::SetPy(Double_t a)
voidTLorentzVector::SetPz(Double_t a)
voidTLorentzVector::SetRho(Double_t rho)
voidSetScatterClone(Int_t t)
voidSetSibling(PParticle* p)
voidSetSiblingIndex(Int_t sInd)
voidSetSourceId(Int_t sId)
voidSetSpectator(Int_t s)
voidSetStatus(Int_t st)
voidSetT(Double_t time)
voidTLorentzVector::SetTheta(Double_t theta)
virtual voidTObject::SetUniqueID(UInt_t uid)
boolSetValue(Int_t id)
boolSetValue(Int_t id, Double_t val)
voidTLorentzVector::SetVect(const TVector3& vect3)
voidSetVect4(const TLorentzVector& v)
voidTLorentzVector::SetVectM(const TVector3& spatial, Double_t mass)
voidTLorentzVector::SetVectMag(const TVector3& spatial, Double_t magnitude)
voidSetVertex(TVector3& v, Double_t t)
voidSetVertex(Double_t x, Double_t y, Double_t z)
voidSetVertex(Double_t x, Double_t y, Double_t z, Double_t t)
voidSetW(Double_t w = 1.)
voidTLorentzVector::SetX(Double_t a)
voidTLorentzVector::SetXYZM(Double_t x, Double_t y, Double_t z, Double_t m)
voidTLorentzVector::SetXYZT(Double_t x, Double_t y, Double_t z, Double_t t)
voidTLorentzVector::SetY(Double_t a)
voidTLorentzVector::SetZ(Double_t a)
virtual voidShowMembers(TMemberInspector& insp) const
Int_tsize()
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
PParticle&SubTmp(const PParticle& p)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Double_tT() const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
Double_tTLorentzVector::Theta() const
PParticle&Transform(const TRotation&)
PParticle&Transform(const TLorentzRotation&)
virtual voidTObject::UseCurrentStyle()
TVector3TLorentzVector::Vect() const
TLorentzVectorVect4() const
Double_tW() const
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
Double_tX() const
Double_tY() const
Double_tZ() const
protected:
voiddefaults()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static TObject::EStatusBitsTObject::kHasUUID
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TObject::EStatusBitsTObject::kMustCleanup
static TLorentzVector::(anonymous)TLorentzVector::kNUM_COORDINATES
static TObject::EStatusBitsTObject::kNoContextMenu
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TLorentzVector::(anonymous)TLorentzVector::kSIZE
static TObject::(anonymous)TObject::kSingleKey
static TLorentzVector::(anonymous)TLorentzVector::kT
static TObject::(anonymous)TObject::kWriteDelete
static TLorentzVector::(anonymous)TLorentzVector::kX
static TLorentzVector::(anonymous)TLorentzVector::kY
static TLorentzVector::(anonymous)TLorentzVector::kZ
static TObject::(anonymous)TObject::kZombie
Double_tweight_divisor!Helper for PReaction
protected:
Bool_tactive! internal activity flag
Int_tdaughterIndexdaughter index
PParticle*daughters[8]!pointer to daughter array
TStringdebug! debug string
Int_tdecayModeIndexdecay Mode index (for decayAll option)
Double_tdecayTimeproper time until decay (in mm/c)
Int_tdestroyDecayModeIndexsave only for data file
Double_tfTcreation time (in mm/c)
TVector3fVcreation vertex (in mm)
Double_tgenwt! generator weight
Int_tindex! index in particle array
Double_tinvgenwt! inverted generator weight
Bool_tmake_new_qParticle! Workaround
Double_tmult! multiplicity
PParticle*pParticle! pointer to particle object
Int_tparentIdparent ID
Int_tparentIndexparent index in particle array
Int_tpidparticle code (partially conforms with Geant 3)
PParticle*qParticle1!
PParticle*qParticle2!
PParticle*sParticle! pointer to particle object
Int_tsiblingIndexsibling index
Int_tsourceIdSource ID
Int_tspectator! flag that forces particle to be treated as spectator
Int_tstatus! status of parent particle in PChannel::Decay
PValues*values!pointer to value container
Double_twtweight

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

void defaults(void)
PParticle(int id, Double_t T, Double_t w)
 id, lab kinetic energy (GeV), weight
PParticle(const char* , Double_t T = 0., Double_t w = 1.)
 name, lab kinetic energy (GeV), weight
PParticle(int id, Double_t px, Double_t py, Double_t pz, Double_t m, Double_t w)
 id, Px, Py, Pz (GeV/c), mass (GeV/c**2) overrides default, weight
PParticle(const char* , Double_t , Double_t , Double_t , Double_t m = 0., Double_t w = 1.)
 name, Px, Py, Pz (GeV/c), mass (GeV/c**2) overrides default, weight
PParticle(Int_t , const TVector3& , Double_t m = 0., Double_t w = 1.)
 id, 3-momentum vector (GeV/c), mass (GeV/c**2) overrides default, weight
PParticle(Int_t , Double_t* , Double_t w = 1.)
 id, pointer to 4-dim array (Px, Py, Pz, E) (GeV/c, GeV), weight
PParticle(Int_t , float* , Double_t w = 1.)
 id, pointer to 4-dim array (Px, Py, Pz, E) (GeV/c, GeV), weight
PParticle(const PParticle& )
 copy constructor
PParticle(const PParticle* )
 copy constructor
void SetKE(Double_t T = 0.)
 reset by kinetic energy
void SetM(Double_t m = 0.)
 reset mass
void SetMom(Double_t mom = 0.)
 reset momentum
Double_t Life(Double_t m = 0., Int_t idx = -1)
 lifetime in lab frame
void SetProperTime()
 lifetime in particle's frame  (in mm/c)
Double_t InvariantT(Double_t m3, Double_t m4, Double_t cos_th_cm)
 The Mandelstam invariant t in 1 + 2 --> 3 + 4 scattering,
 where cos_theta_cm must be between -1 and 1.
 Use the same function for the Mandelstam variable u, with the
 changes:  m3 <--> m4 & cos_th_cm -> -cos_th_cm
PParticle & AddTmp(const PParticle& p)
 Like "+" but only for tmp reasons in the evtloop
 No construction of beam+target objects
PParticle & SubTmp(const PParticle& p)
 Like "-" but only for tmp reasons in the evtloop
 No construction of beam+target objects
void Reconstruct(void)
reconstruct composite from given beam+target
void Scatter(PParticle* p1, PParticle* p2)
Like the "+" but without making new particles
PParticle & Transform(const TRotation& )
 Rotation
PParticle & Transform(const TLorentzRotation& )
 Lorentz-rotation
PParticle* Clone(const char* delme = __null) const
void Print(const Option_t* delme = __null) const
virtual ~PParticle()
 copy constructor
Int_t Is(const char* id)
Int_t is(const char* id)
kept for compatibility only
Int_t HasID(const Int_t id)
Int_t HasNotID(const Int_t id)
Int_t size()
{ return (pid<1000)?1:2; }
Int_t IsNucleon()
{ return (Is("p") || Is("n")); }
Int_t IsDelta()
{ return (Is("D0") || Is("D-") || Is("D+") || Is("D++")); }
Int_t IsPi()
{ return (Is("pi0") || Is("pi+") || Is("pi-")); }
Int_t IsRho()
{ return (Is("rho0") || Is("rho+") || Is("rho-")); }
Int_t ID() const
{ return pid; }
const char * Name()
void SetSpectator(Int_t s)
=0 don't care; =-1 never; =1 force
Int_t IsSpectator()
{return spectator;}
void SetID(const Int_t id)
{ pid=id; }
Double_t W() const
{ return wt; }
void SetW(Double_t w = 1.)
{ wt=w; }
void SetMultiplicity(Double_t w = 1.)
{ mult=w; }
Double_t GetMultiplicity()
{return mult;}
Double_t GenW() const
{ return genwt; }
void SetGenW(Double_t w = 1.)
{ genwt=w; }
Double_t InvGenW() const
{ return invgenwt; }
void SetInvGenW(Double_t w = 1.)
{ invgenwt=w; }
Double_t KE() const
{ return E()-M(); }
void ResetE()
TLorentzVector Vect4() const
{ return TLorentzVector(Vect(),E()); }
void SetVect4(const TLorentzVector& v)
{ SetPxPyPzE(v[0],v[1],v[2],v[3]); }
Int_t IsMeson() const
{ return makeStaticData()->IsParticleMeson(pid); }
Int_t IsHadron() const
{ return makeStaticData()->IsParticleHadron(pid); }
Int_t BaryonN() const
{ return makeStaticData()->GetParticleBaryon(pid); }
Int_t LeptonN() const
{ return makeStaticData()->GetParticleLepton(pid); }
Int_t Charge() const
{ return makeStaticData()->GetParticleCharge(pid); }
Int_t Key() const
{ return makeStaticData()->GetParticleKey(pid); }
void Reset(const Int_t id, const TLorentzVector& v, const Double_t w = 1.)
Int_t IsFireball()
{ return 0; }
Int_t IsDilepton()
{ return 0; }
Int_t IsFileInput()
{ return 0; }
void Reset(const Int_t id = 0, const Double_t px = 0., const Double_t py = 0., const Double_t pz = 0., const Double_t e = 0., const Double_t w = 1.)
void Reset(const PParticle& p)
bool SetValue(Int_t id, Double_t val)
return values-> SetValue(Int_t id, Double_t val)
bool GetValue(Int_t id, Double_t* val)
Int_t GetDBInt(char* name)
Double_t GetDBDouble(char* name)
char GetDBString(char* name) const
void SetStatus(Int_t st)
Int_t GetStatus()
void SetParentId(Int_t pId)
{parentId = pId;}
void SetSourceId(Int_t sId)
{sourceId = sId;}
Int_t GetParentId() const
{return parentId;}
Int_t GetSourceId() const
{return sourceId;}
Int_t getSourceId() const
{return sourceId;}
void SetParentIndex(Int_t pInd)
{parentIndex = pInd;}
Int_t GetParentIndex() const
{return parentIndex;}
void SetDecayModeIndex(Int_t pInd, Int_t i = 0)
Int_t GetDecayModeIndex(Int_t opt = 0) const
Internal models should use opt=1, they will not get the "wrong" getDecayModeIndex
void SetDaughterIndex(Int_t dInd)
{daughterIndex = dInd;}
Int_t GetDaughterIndex() const
{return daughterIndex;}
void SetSiblingIndex(Int_t sInd)
{siblingIndex = sInd;}
Int_t GetSiblingIndex() const
{return siblingIndex;}
void SetIndex(Int_t Ind)
{index = Ind;}
Int_t GetIndex() const
{return index;}
Bool_t IsActive() const
{return active;}
void SetActive()
void SetInActive()
void SetProperTime()
Double_t GetProperTime() const
{return decayTime;}
void SetVertex(Double_t x, Double_t y, Double_t z, Double_t t)
void SetVertex(Double_t x, Double_t y, Double_t z)
void SetVertex(TVector3& v, Double_t t)
{fV = v; fT=t;}
TVector3& GetVertex()
{return fV;}
TVector3& getVertex()
{return fV;}
Double_t X() const
{return fV.X();}
Double_t Y() const
{return fV.Y();}
Double_t Z() const
{return fV.Z();}
Double_t R() const
{return fV.Mag();}
Double_t T() const
{return fT;}
void SetT(Double_t time)
{fT = time;}
void SetInput(PParticle* p)
{pParticle = p;}
PParticle* GetInput()
{return pParticle;}
void SetParent(PParticle* p)
{pParticle = p;}
PParticle* GetParent()
{return pParticle;}
void SetSibling(PParticle* p)
{sParticle = p;}
PParticle* GetSibling()
void ResetDaughters(void)
void SetDaughter(PParticle* d)
PParticle * GetDaughter(int i)
PParticle * GetScattering(Int_t i)
PParticle * GetBeam(void)
PParticle * GetTarget(void)
void addDebugString(char* s)
void clearDebugString()
TString * GetDebugString()
Int_t GetScatterClone(void)
void SetScatterClone(Int_t t)
Double_t Sample()
Something for PBatch:
{return PUtils::sampleFlat();}