class TEveTrackPropagator: public TObject, public TEveRefBackPtr

 TEveTrackPropagator

 Holding structure for a number of track rendering parameters.
 Calculates path taking into account the parameters.

 This is decoupled from TEveTrack/TEveTrackList to allow sharing of the
 Propagator among several instances. Back references are kept so the
 tracks can be recreated when the parameters change.

 TEveTrackList has Get/Set methods for RnrStlye. TEveTrackEditor and
 TEveTrackListEditor provide editor access.

Function Members (Methods)

public:
TEveTrackPropagator()
virtual~TEveTrackPropagator()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTEveRefBackPtr::DecRefCount(TEveElement* re)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
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
voidFillPointSet(TEvePointSet* ps) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Float_tGetDelta() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Bool_tGetEditPathMarks() const
Bool_tGetFitCluster2Ds() const
Bool_tGetFitDaughters() const
Bool_tGetFitDecay() const
Bool_tGetFitReferences() const
virtual const char*TObject::GetIconName() const
Float_tGetMagField() const
Float_tGetMaxOrbs() const
Float_tGetMaxR() const
Float_tGetMaxZ() const
Float_tGetMinAng() const
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
Bool_tGetRnrCluster2Ds() const
Bool_tGetRnrDaughters() const
Bool_tGetRnrDecay() const
Bool_tGetRnrFV() const
Bool_tGetRnrReferences() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
voidGoToBounds(TEveVector& p)
Bool_tGoToVertex(TEveVector& v, TEveVector& p)
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTEveRefBackPtr::IncRefCount(TEveElement* re)
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
voidInitTrack(TEveVector& v, TEveVector& p, Float_t beta, Int_t charge)
virtual voidTObject::Inspect() constMENU
Bool_tIntersectPlane(const TEveVector& p, const TEveVector& point, const TEveVector& normal, TEveVector& itsect)
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
static Bool_tIsOutsideBounds(const TEveVector& point, Float_t maxRsqr, Float_t maxZ)
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
virtual voidTEveRefCnt::OnZeroRefCount()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static 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)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
TMarker&RefFVAtt()
TMarker&RefPMAtt()
voidTObject::ResetBit(UInt_t f)
voidResetTrack()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetDelta(Float_t x)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEditPathMarks(Bool_t x)
voidSetFitCluster2Ds(Bool_t x)
voidSetFitDaughters(Bool_t x)
voidSetFitDecay(Bool_t x)
voidSetFitReferences(Bool_t x)
voidSetMagField(Float_t x)
voidSetMaxOrbs(Float_t x)
voidSetMaxR(Float_t x)
voidSetMaxZ(Float_t x)
voidSetMinAng(Float_t x)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetRnrCluster2Ds(Bool_t x)
voidSetRnrDaughters(Bool_t x)
voidSetRnrDecay(Bool_t x)
voidSetRnrFV(Bool_t x)
voidSetRnrReferences(Bool_t x)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidTEveRefBackPtr::StampBackPtrElements(UChar_t stamps)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
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
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Bool_tHelixIntersectPlane(const TEveVector& p, const TEveVector& point, const TEveVector& normal, TEveVector& itsect)
voidHelixToBounds(TEveVector& p)
Bool_tHelixToVertex(TEveVector& v, TEveVector& p)
voidInitHelix(const TEveVector& p)
Bool_tLineIntersectPlane(const TEveVector& p, const TEveVector& point, const TEveVector& normal, TEveVector& itsect)
voidLineToBounds(TEveVector& p)
Bool_tLineToVertex(TEveVector& v)
voidTObject::MakeZombie()
voidRebuildTracks()
voidSetNumOfSteps()
private:
TEveTrackPropagator(const TEveTrackPropagator&)
TEveTrackPropagator&operator=(const TEveTrackPropagator&)

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
public:
static Float_tfgDefMagFieldDefault value for constant solenoid magnetic field.
static TEveTrackPropagatorfgDefStyleDefault track render-style.
static const Float_tfgkB2CConstant for conversion of momentum to curvature.
protected:
list<TEveElement*>TEveRefBackPtr::fBackRefs
Int_tfChargeparticle charge
Float_tfDeltaMaximal error at the mid-point of the line connecting to helix points.
Bool_tfEditPathMarksShow widgets for path-mark control in GUI editor.
TMarkerfFVAttMarker attributes for fits vertex.
Bool_tfFitCluster2DsPass through 2D-clusters when extrapolating a track.
Bool_tfFitDaughtersPass through daughter creation points when extrapolating a track.
Bool_tfFitDecayPass through decay point when extrapolating a track.
Bool_tfFitReferencesPass through given track-references when extrapolating a track.
TEveTrackPropagator::Helix_tfHhelix
Float_tfMagFieldConstant magnetic field along z in Tesla.
Float_tfMaxOrbsMaximal angular path of tracks' orbits (1 ~ 2Pi).
Float_tfMaxRMax radius for track extrapolation
Float_tfMaxZMax z-coordinate for track extrapolation.
Float_tfMinAngMinimal angular step between two helix points.
Int_tfNcurrent step number;
Int_tfNLastlast step
Int_tfNMaxmax steps
TMarkerfPMAttMarker attributes for rendering of path-marks.
vector<TEveVector4>fPointscalculated point
Int_tTEveRefCnt::fRefCount
Bool_tfRnrCluster2DsRender 2D-clusters.
Bool_tfRnrDaughtersRender daughter path-marks.
Bool_tfRnrDecayRender decay path-marks.
Bool_tfRnrFVRender first vertex.
Bool_tfRnrReferencesRender track-reference path-marks.
TEveVector4fVcurrent vertex
Float_tfVelocityparticle velocity

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TEveTrackPropagator(const TEveTrackPropagator& )
 Default constructor.
void InitTrack(TEveVector& v, TEveVector& p, Float_t beta, Int_t charge)
 Initialize internal data-members for given particle parameters.
void ResetTrack()
 Reset cache holding particle trajectory.
Bool_t GoToVertex(TEveVector& v, TEveVector& p)
 Propagate particle with momentum p to vertex v.
void GoToBounds(TEveVector& p)
 Propagate particle to bounds.
void InitHelix(const TEveVector& p)
 Initialize helix parameters for given momentum.
void SetNumOfSteps()
 Calculate number of steps needed to get to R/Z bounds.
void HelixToBounds(TEveVector& p)
 Propagate charged particle with momentum p to bounds.
Bool_t HelixToVertex(TEveVector& v, TEveVector& p)
 Propagate charged particle with momentum p to vertex v.
Bool_t LineToVertex(TEveVector& v)
 Propagate neutral particle to vertex v.
void LineToBounds(TEveVector& p)
 Propagatate neutral particle with momentum p to bounds.
Bool_t HelixIntersectPlane(const TEveVector& p, const TEveVector& point, const TEveVector& normal, TEveVector& itsect)
Bool_t LineIntersectPlane(const TEveVector& p, const TEveVector& point, const TEveVector& normal, TEveVector& itsect)
Bool_t IntersectPlane(const TEveVector& p, const TEveVector& point, const TEveVector& normal, TEveVector& itsect)
 Find intersection of currently propagated track with a plane.
 Current track position is used as starting point.

 Args:
  p        - track momentum to use for extrapolation
  point    - a point on a plane
  normal   - normal of the plane
  itsect   - output, point of intersection
 Returns:
  kFALSE if intersection can not be found, kTRUE otherwise.
void FillPointSet(TEvePointSet* ps) const
 Reset ps and populate it with points in propagation cache.
void RebuildTracks()
 Rebuild all tracks using this render-style.
void SetMagField(Float_t x)
 Set constant magnetic field and rebuild tracks.
void SetMaxR(Float_t x)
 Set maximum radius and rebuild tracks.
void SetMaxZ(Float_t x)
 Set maximum z and rebuild tracks.
void SetMaxOrbs(Float_t x)
 Set maximum number of orbits and rebuild tracks.
void SetMinAng(Float_t x)
 Set minimum step angle and rebuild tracks.
void SetDelta(Float_t x)
 Set maximum error and rebuild tracks.
void SetFitDaughters(Bool_t x)
 Set daughter creation point fitting and rebuild tracks.
void SetFitReferences(Bool_t x)
 Set track-reference fitting and rebuild tracks.
void SetFitDecay(Bool_t x)
 Set decay fitting and rebuild tracks.
void SetFitCluster2Ds(Bool_t x)
 Set 2D-cluster fitting and rebuild tracks.
void SetRnrDecay(Bool_t x)
 Set decay rendering and rebuild tracks.
void SetRnrCluster2Ds(Bool_t x)
 Set rendering of 2D-clusters and rebuild tracks.
void SetRnrDaughters(Bool_t x)
 Set daughter rendering and rebuild tracks.
void SetRnrReferences(Bool_t x)
 Set track-reference rendering and rebuild tracks.
Bool_t IsOutsideBounds(const TEveVector& point, Float_t maxRsqr, Float_t maxZ)
 Return true if point% is outside of cylindrical bounds detrmined by
 square radius and z.
TEveTrackPropagator(const TEveTrackPropagator& )
TEveTrackPropagator& operator=(const TEveTrackPropagator& )
virtual ~TEveTrackPropagator()
{}
void SetEditPathMarks(Bool_t x)
{ fEditPathMarks = x; }
void SetRnrFV(Bool_t x)
{ fRnrFV = x; }
Float_t GetMagField()
{ return fMagField; }
Float_t GetMaxR()
{ return fMaxR; }
Float_t GetMaxZ()
{ return fMaxZ; }
Float_t GetMaxOrbs()
{ return fMaxOrbs; }
Float_t GetMinAng()
{ return fMinAng; }
Float_t GetDelta()
{ return fDelta; }
Bool_t GetEditPathMarks()
{ return fEditPathMarks; }
Bool_t GetRnrDaughters()
{ return fRnrDaughters; }
Bool_t GetRnrReferences()
{ return fRnrReferences; }
Bool_t GetRnrDecay()
{ return fRnrDecay; }
Bool_t GetRnrCluster2Ds()
{ return fRnrCluster2Ds; }
Bool_t GetFitDaughters()
{ return fFitDaughters; }
Bool_t GetFitReferences()
{ return fFitReferences; }
Bool_t GetFitDecay()
{ return fFitDecay; }
Bool_t GetFitCluster2Ds()
{ return fFitCluster2Ds; }
Bool_t GetRnrFV()
{ return fRnrFV; }
TMarker& RefPMAtt()
{ return fPMAtt; }
TMarker& RefFVAtt()
{ return fFVAtt; }

Last change: root/eve:$Id: TEveTrackPropagator.h 23867 2008-05-15 18:59:02Z matevz $
Last generated: 2008-06-25 08:38
Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.