ROOT » GRAF3D » EVE » TEveTrackPropagator

class TEveTrackPropagator: public TEveElementList, public TEveRefBackPtr


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

 NOTE: Magnetic field direction convention is inverted.

 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.

 Enum EProjTrackBreaking_e and member fProjTrackBreaking specify whether 2D
 projected tracks get broken into several segments when the projected space
 consists of separate domains (like Rho-Z). The track-breaking is enabled by
 default.

Function Members (Methods)

public:
virtual~TEveTrackPropagator()
voidTObject::AbstractMethod(const char* method) const
virtual Bool_tTEveElementList::AcceptElement(TEveElement* el)
virtual voidTEveElement::AddElement(TEveElement* el)
virtual TGListTreeItem*TEveElement::AddIntoListTree(TGListTree* ltree, TGListTreeItem* parent_lti)
virtual TGListTreeItem*TEveElement::AddIntoListTree(TGListTree* ltree, TEveElement* parent)
virtual TGListTreeItem*TEveElement::AddIntoListTrees(TEveElement* parent)
virtual voidTEveElement::AddParent(TEveElement* re)
virtual voidTEveProjectable::AddProjected(TEveProjected* p)
virtual voidTEveProjectable::AddProjectedsToSet(set<TEveElement*>& set)
virtual voidTEveElement::AddStamp(UChar_t bits)
virtual voidTEveElement::Annihilate()
virtual voidTEveElement::AnnihilateElements()
virtual voidTEveProjectable::AnnihilateProjecteds()
virtual voidTObject::AppendPad(Option_t* option = "")
Bool_tTEveElement::ApplyVizTag(const TString& tag, const TString& fallback_tag = "")
TEveElement::List_iTEveElement::BeginChildren()
TEveElement::List_ciTEveElement::BeginChildren() const
TEveElement::List_iTEveElement::BeginParents()
TEveElement::List_ciTEveElement::BeginParents() const
TEveProjectable::ProjList_iTEveProjectable::BeginProjecteds()
virtual voidTObject::Browse(TBrowser* b)
virtual Bool_tTEveElement::CanEditElement() const
virtual Bool_tTEveElement::CanEditMainColor() const
virtual Bool_tTEveElement::CanEditMainTrans() const
virtual Bool_tTEveElement::CanEditMainTransparency() const
virtual voidCheckReferenceCount(const TEveException& eh = "TEveElement::CheckReferenceCount ")
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual voidTEveProjectable::ClearProjectedList()
virtual voidTEveElement::ClearStamps()
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual voidTEveElement::CloneChildrenRecurse(TEveElement* dest, Int_t level = 0) const
virtual TEveElementList*TEveElementList::CloneElement() const
virtual TEveElement*TEveElement::CloneElementRecurse(Int_t level = 0) const
virtual voidTEveElement::CollectSceneParents(TEveElement::List_t& scenes)
virtual voidTEveElement::CollectSceneParentsFromChildren(TEveElement::List_t& scenes, TEveElement* parent)
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTEveElement::CopyVizParams(const TEveElement* el)
virtual voidTEveElement::CopyVizParamsFromDB()
voidTEveElement::CSCApplyMainColorToAllChildren()
voidTEveElement::CSCApplyMainColorToMatchingChildren()
voidTEveElement::CSCApplyMainTransparencyToAllChildren()
voidTEveElement::CSCApplyMainTransparencyToMatchingChildren()
voidTEveElement::CSCImplySelectAllChildren()
voidTEveElement::CSCTakeAnyParentAsMaster()
voidTEveElement::DecDenyDestroy()
virtual voidTEveElement::DecImpliedHighlighted()
virtual voidTEveElement::DecImpliedSelected()
voidTEveElement::DecParentIgnoreCnt()
virtual voidTEveRefBackPtr::DecRefCount(TEveElement* re)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual voidTEveElement::Destroy()MENU
virtual voidTEveElement::DestroyElements()MENU
virtual voidTEveElement::DestroyListSubTree(TGListTree* ltree, TGListTreeItem* parent)
virtual voidTEveElement::DestroyMainTrans()
virtual voidTEveElement::DestroyOrWarn()
voidTEveElement::DisableListElements(Bool_t rnr_self = kFALSE, Bool_t rnr_children = kFALSE)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
voidTEveElement::DumpSourceObject() constMENU
virtual voidElementChanged(Bool_t update_scenes = kTRUE, Bool_t redraw = kFALSE)
voidTEveElement::EnableListElements(Bool_t rnr_self = kTRUE, Bool_t rnr_children = kTRUE)MENU
TEveElement::List_iTEveElement::EndChildren()
TEveElement::List_ciTEveElement::EndChildren() const
TEveElement::List_iTEveElement::EndParents()
TEveElement::List_ciTEveElement::EndParents() const
TEveProjectable::ProjList_iTEveProjectable::EndProjecteds()
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 voidTEveElement::ExpandIntoListTree(TGListTree* ltree, TGListTreeItem* parent)
voidTEveElement::ExportSourceObjectToCINT(char* var_name) constMENU
virtual voidTEveElement::ExportToCINT(char* var_name)MENU
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual voidTEveElement::FillImpliedSelectedSet(TEveElement::Set_t& impSelSet)
voidFillPointSet(TEvePointSet* ps) const
TEveElement*TEveElement::FindChild(const TString& name, const TClass* cls = 0)
TEveElement*TEveElement::FindChild(TPRegexp& regexp, const TClass* cls = 0)
Int_tTEveElement::FindChildren(TEveElement::List_t& matches, const TString& name, const TClass* cls = 0)
Int_tTEveElement::FindChildren(TEveElement::List_t& matches, TPRegexp& regexp, const TClass* cls = 0)
virtual TEveElement::sLTI_iTEveElement::FindItem(TGListTree* ltree)
virtual TEveElement::sLTI_iTEveElement::FindItem(TGListTree* ltree, TGListTreeItem* parent_lti)
virtual TGListTreeItem*TEveElement::FindListTreeItem(TGListTree* ltree)
virtual TGListTreeItem*TEveElement::FindListTreeItem(TGListTree* ltree, TGListTreeItem* parent_lti)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Bool_tTEveElement::FindVizModel()
TEveElement*TEveElement::FirstChild() const
virtual TEveElement*TEveElement::ForwardEdit()
virtual TEveElement*TEveElement::ForwardSelection()
UChar_tTEveElement::GetChangeBits() const
TClass*TEveElementList::GetChildClass() const
TEveCompound*TEveElement::GetCompound()
Int_tGetCurrentPoint() const
Double_tGetDelta() const
Int_tTEveElement::GetDenyDestroy() const
Bool_tTEveElement::GetDestroyOnZeroRefCnt() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual TObject*TEveElement::GetEditorObject(const TEveException& eh) const
Bool_tGetEditPathMarks() const
virtual const char*TEveElementList::GetElementName() const
virtual const char*TEveElementList::GetElementTitle() const
Bool_tGetFitCluster2Ds() const
Bool_tGetFitDaughters() const
Bool_tGetFitDecay() const
Bool_tGetFitLineSegments() const
Bool_tGetFitReferences() const
virtual TStringTEveElement::GetHighlightTooltip()
virtual const char*TObject::GetIconName() const
virtual const TGPicture*TEveElement::GetListTreeCheckBoxIcon()
virtual const TGPicture*TEveElement::GetListTreeIcon(Bool_t open = kFALSE)
TEveVectorDGetMagField(Double_t x, Double_t y, Double_t z)
virtual Color_tTEveElement::GetMainColor() const
Color_t*TEveElement::GetMainColorPtr() const
virtual Char_tTEveElement::GetMainTransparency() const
TEveElement*TEveElement::GetMaster()
Double_tGetMaxAng() const
Double_tGetMaxOrbs() const
Double_tGetMaxR() const
Double_tGetMaxStep() const
Double_tGetMaxZ() const
Double_tGetMinAng() const
virtual const char*TNamed::GetName() const
virtual Int_tTEveElement::GetNItems() const
virtual TObject*TEveElementList::GetObject(const TEveException& = "TEveElementList::GetObject ") const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Int_tTEveElement::GetParentIgnoreCnt() const
UChar_tGetProjTrackBreaking() const
virtual TObject*TEveElement::GetRenderObject(const TEveException& eh) const
virtual Bool_tTEveElement::GetRnrAnything() const
virtual Bool_tTEveElement::GetRnrChildren() const
Bool_tGetRnrCluster2Ds() const
Bool_tGetRnrDaughters() const
Bool_tGetRnrDecay() const
Bool_tGetRnrFV() const
Bool_tGetRnrPTBMarkers() const
Bool_tGetRnrReferences() const
virtual Bool_tTEveElement::GetRnrSelf() const
virtual Bool_tTEveElement::GetRnrState() const
virtual UChar_tTEveElement::GetSelectedLevel() const
TRef&TEveElement::GetSource()
TObject*TEveElement::GetSourceObject() const
TEveTrackPropagator::EStepper_eGetStepper() const
virtual const char*TNamed::GetTitle() const
Double_tGetTrackLength(Int_t start_point = 0, Int_t end_point = -1) const
virtual UInt_tTObject::GetUniqueID() const
void*TEveElement::GetUserData() const
TEveElement*TEveElement::GetVizModel() const
const TString&TEveElement::GetVizTag() const
virtual voidGoToBounds(TEveVectorD& p)
voidGoToBounds(TEveVectorF& p)
virtual Bool_tGoToLineSegment(const TEveVectorD& s, const TEveVectorD& r, TEveVectorD& p)
Bool_tGoToLineSegment(const TEveVectorF& s, const TEveVectorF& r, TEveVectorF& p)
virtual Bool_tGoToVertex(TEveVectorD& v, TEveVectorD& p)
Bool_tGoToVertex(TEveVectorF& v, TEveVectorF& p)
virtual Bool_tTEveElement::HandleElementPaste(TEveElement* el)
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tTEveElement::HasChild(TEveElement* el)
Bool_tTEveElement::HasChildren() const
virtual ULong_tTNamed::Hash() const
virtual Bool_tTEveElement::HasMainColor() const
virtual Bool_tTEveElement::HasMainTrans() const
Bool_tTEveElement::HasParents() const
virtual Bool_tTEveProjectable::HasProjecteds() const
virtual voidTEveElement::HighlightElement(Bool_t state)
voidTEveElement::IncDenyDestroy()
virtual voidTEveElement::IncImpliedHighlighted()
virtual voidTEveElement::IncImpliedSelected()
voidTEveElement::IncParentIgnoreCnt()
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
virtual voidTEveElement::InitMainTrans(Bool_t can_edit = kTRUE)
voidInitTrack(const TEveVectorD& v, Int_t charge)
voidInitTrack(const TEveVectorF& v, Int_t charge)
virtual voidTObject::Inspect() constMENU
Bool_tIntersectPlane(const TEveVectorD& p, const TEveVectorD& point, const TEveVectorD& normal, TEveVectorD& 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 TEveVectorD& point, Double_t maxRsqr, Double_t maxZ)
Bool_tTEveElement::IsPickable() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
TEveElement*TEveElement::LastChild() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual voidTEveElement::NameTitleChanged()
virtual Bool_tTObject::Notify()
Int_tTEveElement::NumChildren() const
Int_tTEveElement::NumParents() const
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
virtual voidOnZeroRefCount()
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)
virtual voidTEveElement::PadPaint(Option_t* option)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTEveElement::PaintStandard(TObject* id)
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
voidPrintMagField(Double_t x, Double_t y, Double_t z) const
voidTEveElement::PrintSourceObject() constMENU
virtual voidTEveElement::ProjectAllChildren(Bool_t same_depth = kTRUE)
virtual voidTEveElement::ProjectChild(TEveElement* el, Bool_t same_depth = kTRUE)
virtual TClass*TEveElementList::ProjectedClass(const TEveProjection* p) const
virtual voidTEveProjectable::PropagateMainColor(Color_t color, Color_t old_color)
virtual voidTEveElement::PropagateMainColorToProjecteds(Color_t color, Color_t old_color)
virtual voidTEveProjectable::PropagateMainTransparency(Char_t t, Char_t old_t)
virtual voidTEveElement::PropagateMainTransparencyToProjecteds(Char_t t, Char_t old_t)
virtual voidTEveProjectable::PropagateRenderState(Bool_t rnr_self, Bool_t rnr_children)
virtual voidTEveElement::PropagateRnrStateToProjecteds()
virtual voidTEveProjectable::PropagateVizParams(TEveElement* el = 0)
virtual voidTEveElement::PropagateVizParamsToElements(TEveElement* el = 0)
virtual voidTEveElement::PropagateVizParamsToProjecteds()
virtual TEveTrans*TEveElement::PtrMainTrans(Bool_t create = kTRUE)
virtual Int_tTObject::Read(const char* name)
voidTEveElement::RecheckImpliedSelections()
virtual voidTObject::RecursiveRemove(TObject* obj)
const TEveElement::List_t&TEveElement::RefChildren() const
TMarker&RefFVAtt()
virtual TEveTrans&TEveElement::RefMainTrans()
TMarker&RefPMAtt()
TMarker&RefPTBAtt()
virtual voidTEveElement::RemoveElement(TEveElement* el)
virtual voidTEveElement::RemoveElementLocal(TEveElement* el)
virtual voidTEveElement::RemoveElements()
virtual voidTEveElement::RemoveElementsLocal()
virtual Bool_tTEveElement::RemoveFromListTree(TGListTree* ltree, TGListTreeItem* parent_lti)
virtual Int_tTEveElement::RemoveFromListTrees(TEveElement* parent)
virtual voidTEveElement::RemoveParent(TEveElement* re)
virtual voidTEveProjectable::RemoveProjected(TEveProjected* p)
voidTEveElement::ResetAllCSCBits()
voidTObject::ResetBit(UInt_t f)
voidTEveElement::ResetCSCBits(UChar_t f)
voidResetTrack()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTEveElement::SaveVizParams(ostream& out, const TString& tag, const TString& var)
virtual voidTEveElement::SelectElement(Bool_t state)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidTEveElementList::SetChildClass(TClass* c)
voidTEveElement::SetCompound(TEveCompound* c)
voidTEveElement::SetCSCBits(UChar_t f)
voidSetDelta(Double_t x)
voidTEveElement::SetDestroyOnZeroRefCnt(Bool_t d)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidTEveElement::SetEditMainColor(Bool_t x)
voidTEveElement::SetEditMainTransparency(Bool_t x)
voidSetEditPathMarks(Bool_t x)
virtual voidTEveElementList::SetElementName(const char* name)
virtual voidTEveElementList::SetElementNameTitle(const char* name, const char* title)
virtual voidTEveElementList::SetElementTitle(const char* title)
voidSetFitCluster2Ds(Bool_t x)
voidSetFitDaughters(Bool_t x)
voidSetFitDecay(Bool_t x)
voidSetFitLineSegments(Bool_t x)
voidSetFitReferences(Bool_t x)
voidSetMagField(Double_t b)
voidSetMagField(Double_t bX, Double_t bY, Double_t bZ)
voidSetMagFieldObj(TEveMagField* field, Bool_t own_field = kTRUE)
voidTEveElement::SetMainAlpha(Float_t alpha)
virtual voidTEveElement::SetMainColor(Color_t color)
voidTEveElement::SetMainColorPixel(Pixel_t pixel)
voidTEveElement::SetMainColorPtr(Color_t* color)
voidTEveElement::SetMainColorRGB(UChar_t r, UChar_t g, UChar_t b)
voidTEveElement::SetMainColorRGB(Float_t r, Float_t g, Float_t b)
virtual voidTEveElement::SetMainTransparency(Char_t t)
voidSetMaxAng(Double_t x)
voidSetMaxOrbs(Double_t x)
voidSetMaxR(Double_t x)
voidSetMaxStep(Double_t x)
voidSetMaxZ(Double_t x)
voidSetMinAng(Double_t x)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidTEveElement::SetPickable(Bool_t p)
voidTEveElement::SetPickableRecursively(Bool_t p)
voidSetProjTrackBreaking(UChar_t x)
virtual Bool_tTEveElement::SetRnrChildren(Bool_t rnr)
voidSetRnrCluster2Ds(Bool_t x)
voidSetRnrDaughters(Bool_t x)
voidSetRnrDecay(Bool_t x)
voidSetRnrFV(Bool_t x)
voidSetRnrPTBMarkers(Bool_t x)
voidSetRnrReferences(Bool_t x)
virtual Bool_tTEveElement::SetRnrSelf(Bool_t rnr)
virtual Bool_tTEveElement::SetRnrSelfChildren(Bool_t rnr_self, Bool_t rnr_children)
virtual Bool_tTEveElement::SetRnrState(Bool_t rnr)
voidTEveElement::SetSourceObject(TObject* o)
voidSetStepper(TEveTrackPropagator::EStepper_e s)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTEveElement::SetTransMatrix(Double_t* carr)
virtual voidTEveElement::SetTransMatrix(const TGeoMatrix& mat)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidTEveElement::SetUserData(void* ud)
voidTEveElement::SetVizModel(TEveElement* model)
voidTEveElement::SetVizTag(const TString& tag)
virtual voidShowMembers(TMemberInspector& insp) const
virtual Bool_tTEveElement::SingleRnrState() const
virtual Int_tTNamed::Sizeof() const
voidTEveElement::SpawnEditor()MENU
virtual voidTEveRefBackPtr::StampBackPtrElements(UChar_t stamps)
voidTEveElement::StampColorSelection()
voidTEveElement::StampObjProps()
voidTEveElement::StampTransBBox()
voidTEveElement::StampVisibility()
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_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
Bool_tTEveElement::TestCSCBits(UChar_t f) const
TEveTrackPropagator(const char* n = "TEveTrackPropagator", const char* t = "", TEveMagField* field = 0, Bool_t own_field = kTRUE)
virtual voidTEveElement::UnHighlighted()
virtual voidTEveElement::UnSelected()
virtual voidTObject::UseCurrentStyle()
voidTEveElement::VizDB_Apply(const char* tag)MENU
voidTEveElement::VizDB_Insert(const char* tag, Bool_t replace = kTRUE, Bool_t update = kTRUE)MENU
voidTEveElement::VizDB_Reapply()MENU
voidTEveElement::VizDB_UpdateModel(Bool_t update = kTRUE)MENU
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
virtual voidTEveElement::WriteVizParams(ostream& out, const TString& var)
protected:
virtual voidTEveElement::AnnihilateRecursively()
Bool_tClosestPointBetweenLines(const TEveVectorD&, const TEveVectorD&, const TEveVectorD&, const TEveVectorD&, TEveVectorD& out)
voidClosestPointFromVertexToLineSegment(const TEveVectorD& v, const TEveVectorD& s, const TEveVectorD& r, Double_t rMagInv, TEveVectorD& c)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Bool_tHelixIntersectPlane(const TEveVectorD& p, const TEveVectorD& point, const TEveVectorD& normal, TEveVectorD& itsect)
Bool_tLineIntersectPlane(const TEveVectorD& p, const TEveVectorD& point, const TEveVectorD& normal, TEveVectorD& itsect)
voidLineToBounds(TEveVectorD& p)
Bool_tLineToVertex(TEveVectorD& v)
voidLoopToBounds(TEveVectorD& p)
Bool_tLoopToLineSegment(const TEveVectorD& s, const TEveVectorD& r, TEveVectorD& p)
Bool_tLoopToVertex(TEveVectorD& v, TEveVectorD& p)
voidTObject::MakeZombie()
Bool_tPointOverVertex(const TEveVector4D& v0, const TEveVector4D& v, Double_t* p = 0)
virtual voidTEveElement::PreDeleteElement()
voidRebuildTracks()
virtual voidTEveElement::RemoveElementsInternal()
voidStep(const TEveVector4D& v, const TEveVectorD& p, TEveVector4D& vOut, TEveVectorD& pOut)
voidStepRungeKutta(Double_t step, Double_t* vect, Double_t* vout)
static const char*TEveElement::ToString(Bool_t b)
voidUpdate(const TEveVector4D& v, const TEveVectorD& p, Bool_t full_update = kFALSE, Bool_t enforce_max_step = kFALSE)

Data Members

public:
static Double_tfgDefMagFieldDefault value for constant solenoid magnetic field.
static TEveTrackPropagatorfgDefaultDefault track propagator.
static Double_tfgEditorMaxRMax R that can be set in GUI editor.
static Double_tfgEditorMaxZMax Z that can be set in GUI editor.
static const TGPicture*TEveElement::fgListTreeIcons[9]
static const TGPicture*TEveElement::fgRnrIcons[4]
static const Double_tfgkB2CConstant for conversion of momentum to curvature.
static TObject::(anonymous)TObject::kBitMask
static TEveElement::EChangeBitsTEveElement::kCBColorSelection
static TEveElement::EChangeBitsTEveElement::kCBObjProps
static TEveElement::EChangeBitsTEveElement::kCBTransBBox
static TEveElement::EChangeBitsTEveElement::kCBVisibility
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static TObject::EStatusBitsTObject::kHasUUID
static TEveTrackPropagator::EStepper_ekHelix
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TEveTrackPropagator::EProjTrackBreaking_ekPTB_Break
static TEveTrackPropagator::EProjTrackBreaking_ekPTB_UseFirstPointPos
static TEveTrackPropagator::EProjTrackBreaking_ekPTB_UseLastPointPos
static TEveTrackPropagator::EStepper_ekRungeKutta
static TObject::(anonymous)TObject::kSingleKey
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie
protected:
TEveRefBackPtr::RefMap_tTEveRefBackPtr::fBackRefs
UChar_tTEveElement::fCSCBits
Bool_tTEveElement::fCanEditMainColorAllow editing of main color.
Bool_tTEveElement::fCanEditMainTransAllow editing of main transformation.
Bool_tTEveElement::fCanEditMainTransparencyAllow editing of main transparency.
UChar_tTEveElement::fChangeBits!
TClass*TEveElementList::fChildClassClass of acceptable children, others are rejected.
TEveElement::List_tTEveElement::fChildrenList of children.
Color_tTEveElementList::fColorColor of the object.
TEveCompound*TEveElement::fCompoundCompound this object belongs to.
Int_tTEveElement::fDenyDestroy! Deny-destroy count.
Bool_tTEveElement::fDestroyOnZeroRefCntAuto-destruct when ref-count reaches zero.
Char_tTEveElement::fDestructing!
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_tfFitLineSegmentsPass through line when extrapolating a track.
Bool_tfFitReferencesPass through given track-references when extrapolating a track.
TEveTrackPropagator::Helix_tfHHelix.
Bool_tTEveElement::fHighlighted!
Short_tTEveElement::fImpliedHighlighted!
Short_tTEveElement::fImpliedSelected!
TEveElement::sLTI_tTEveElement::fItems! Set of list-tree-items.
TEveMagField*fMagFieldObj
Color_t*TEveElement::fMainColorPtrPointer to main-color variable.
TEveTrans*TEveElement::fMainTransPointer to main transformation matrix.
Char_tTEveElement::fMainTransparencyMain-transparency variable.
Double_tfMaxOrbsMaximal angular path of tracks' orbits (1 ~ 2Pi).
Double_tfMaxRMax radius for track extrapolation
Double_tfMaxZMax z-coordinate for track extrapolation.
Int_tfNMaxMax steps
TStringTNamed::fNameobject identifier
Int_tTEveElement::fNumChildren!
Bool_tfOwnMagFiledObj
TMarkerfPMAttMarker attributes for rendering of path-marks.
TMarkerfPTBAttMarker attributes for track break-points.
Int_tTEveElement::fParentIgnoreCnt! Counter for parents that are ignored in ref-counting.
TEveElement::List_tTEveElement::fParentsList of parents.
Bool_tTEveElement::fPickable
vector<TEveVector4D>fPointsCalculated point.
UChar_tfProjTrackBreakingHandling of projected-track breaking.
TEveProjectable::ProjList_tTEveProjectable::fProjectedListreferences to projected instances.
Int_tTEveRefCnt::fRefCount
Bool_tTEveElement::fRnrChildrenRender children of this element.
Bool_tfRnrCluster2DsRender 2D-clusters.
Bool_tfRnrDaughtersRender daughter path-marks.
Bool_tfRnrDecayRender decay path-marks.
Bool_tfRnrFVRender first vertex.
Bool_tfRnrPTBMarkersRender break-points on tracks.
Bool_tfRnrReferencesRender track-reference path-marks.
Bool_tTEveElement::fRnrSelfRender this element.
Bool_tTEveElement::fSelected!
TRefTEveElement::fSourceExternal object that is represented by this element.
TEveTrackPropagator::EStepper_efStepper
TStringTNamed::fTitleobject title
Int_tTEveElement::fTopItemCnt! Counter for top-level list-tree items that prevent automatic destruction.
void*TEveElement::fUserData! Externally assigned and controlled user data.
TEveVectorDfVStart vertex.
TEveElement*TEveElement::fVizModel! Element used as model from VizDB.
TStringTEveElement::fVizTagTag used to query VizDB for model element.
static TEveElement::EDestructTEveElement::kAnnihilate
static TEveElement::ECompoundSelectionColorBitsTEveElement::kCSCBApplyMainColorToAllChildren
static TEveElement::ECompoundSelectionColorBitsTEveElement::kCSCBApplyMainColorToMatchingChildren
static TEveElement::ECompoundSelectionColorBitsTEveElement::kCSCBApplyMainTransparencyToAllChildren
static TEveElement::ECompoundSelectionColorBitsTEveElement::kCSCBApplyMainTransparencyToMatchingChildren
static TEveElement::ECompoundSelectionColorBitsTEveElement::kCSCBImplySelectAllChildren
static TEveElement::ECompoundSelectionColorBitsTEveElement::kCSCBTakeAnyParentAsMaster
static TEveElement::EDestructTEveElement::kNone
static TEveElement::EDestructTEveElement::kStandard

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TEveTrackPropagator(const char* n = "TEveTrackPropagator", const char* t = "", TEveMagField* field = 0, Bool_t own_field = kTRUE)
 Default constructor.
~TEveTrackPropagator()
 Destructor.
void OnZeroRefCount()
 Virtual from TEveRefBackPtr - track reference count has reached zero.
void CheckReferenceCount(const TEveException& eh = "TEveElement::CheckReferenceCount ")
 Check reference count - virtual from TEveElement.
 Must also take into account references from TEveRefBackPtr.
void ElementChanged(Bool_t update_scenes = kTRUE, Bool_t redraw = kFALSE)
 Element-change notification.
 Stamp all tracks as requiring display-list regeneration.
 Virtual from TEveElement.
void InitTrack(const TEveVectorD& v, Int_t charge)
 Initialize internal data-members for given particle parameters.
void InitTrack(const TEveVectorF& v, Int_t charge)
 TEveVectorF wrapper.
void ResetTrack()
 Reset cache holding particle trajectory.
Int_t GetCurrentPoint() const
 Get index of current point on track.
Double_t GetTrackLength(Int_t start_point = 0, Int_t end_point = -1) const
 Calculate track length from start_point to end_point.
 If end_point is less than 0, distance to the end is returned.
Bool_t GoToVertex(TEveVectorD& v, TEveVectorD& p)
 Propagate particle with momentum p to vertex v.
Bool_t GoToLineSegment(const TEveVectorD& s, const TEveVectorD& r, TEveVectorD& p)
 Propagate particle with momentum p to line with start point s and vector r to the second point.
Bool_t GoToVertex(TEveVectorF& v, TEveVectorF& p)
 TEveVectorF wrapper.
Bool_t GoToLineSegment(const TEveVectorF& s, const TEveVectorF& r, TEveVectorF& p)
 TEveVectorF wrapper.
void GoToBounds(TEveVectorD& p)
 Propagate particle to bounds.
 Return TRUE if hit bounds.
void GoToBounds(TEveVectorF& p)
 TEveVectorF wrapper.
void Update(const TEveVector4D& v, const TEveVectorD& p, Bool_t full_update = kFALSE, Bool_t enforce_max_step = kFALSE)
 Update helix / B-field projection state.
void Step(const TEveVector4D& v, const TEveVectorD& p, TEveVector4D& vOut, TEveVectorD& pOut)
 Wrapper to step helix.
void LoopToBounds(TEveVectorD& p)
 Propagate charged particle with momentum p to bounds.
 It is expected that Update() with full-update was called before.
Bool_t LoopToVertex(TEveVectorD& v, TEveVectorD& p)
 Propagate charged particle with momentum p to vertex v.
 It is expected that Update() with full-update was called before.
Bool_t LoopToLineSegment(const TEveVectorD& s, const TEveVectorD& r, TEveVectorD& p)
 Propagate charged particle with momentum p to line segment with point s and vector r to the second point.
 It is expected that Update() with full-update was called before. Returns kFALSE if hits bounds.
void DistributeOffset(const TEveVectorD& off, Int_t first_point, Int_t np, TEveVectorD& p)
 Distribute offset between first and last point index and rotate
 momentum.
Bool_t LineToVertex(TEveVectorD& v)
 Propagate neutral particle to vertex v.
void LineToBounds(TEveVectorD& p)
 Propagatate neutral particle with momentum p to bounds.
Bool_t HelixIntersectPlane(const TEveVectorD& p, const TEveVectorD& point, const TEveVectorD& normal, TEveVectorD& itsect)
 Intersect helix with a plane. Current position and argument p define
 the helix.
Bool_t LineIntersectPlane(const TEveVectorD& p, const TEveVectorD& point, const TEveVectorD& normal, TEveVectorD& itsect)
 Intersect line with a plane. Current position and argument p define
 the line.
Bool_t IntersectPlane(const TEveVectorD& p, const TEveVectorD& point, const TEveVectorD& normal, TEveVectorD& 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 ClosestPointFromVertexToLineSegment(const TEveVectorD& v, const TEveVectorD& s, const TEveVectorD& r, Double_t rMagInv, TEveVectorD& c)
 Get closest point from given vertex v to line segment defined with s and r.
 Argument rMagInv is cached. rMagInv= 1./rMag()
Bool_t ClosestPointBetweenLines(const TEveVectorD& , const TEveVectorD& , const TEveVectorD& , const TEveVectorD& , TEveVectorD& out)
 Get closest point on line defined with vector p0 and u.
 Return false if the point is forced on the line segment.
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(Double_t bX, Double_t bY, Double_t bZ)
 Set constant magnetic field and rebuild tracks.
void SetMagFieldObj(TEveMagField* field, Bool_t own_field = kTRUE)
 Set constant magnetic field and rebuild tracks.
void PrintMagField(Double_t x, Double_t y, Double_t z) const
void SetMaxR(Double_t x)
 Set maximum radius and rebuild tracks.
void SetMaxZ(Double_t x)
 Set maximum z and rebuild tracks.
void SetMaxOrbs(Double_t x)
 Set maximum number of orbits and rebuild tracks.
void SetMinAng(Double_t x)
 Set maximum step angle and rebuild tracks.
 WARNING -- this method / variable was mis-named.
Double_t GetMinAng() const
 Get maximum step angle.
 WARNING -- this method / variable was mis-named.
void SetMaxAng(Double_t x)
 Set maximum step angle and rebuild tracks.
void SetMaxStep(Double_t x)
 Set maximum step-size and rebuild tracks.
void SetDelta(Double_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 SetFitLineSegments(Bool_t x)
 Set line segment 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.
void SetRnrFV(Bool_t x)
 Set first-vertex rendering and rebuild tracks.
void SetProjTrackBreaking(UChar_t x)
 Set projection break-point mode and rebuild tracks.
void SetRnrPTBMarkers(Bool_t x)
 Set projection break-point rendering and rebuild tracks.
void StepRungeKutta(Double_t step, Double_t* vect, Double_t* vout)
 Wrapper to step with method RungeKutta.
Bool_t IsOutsideBounds(const TEveVectorD& point, Double_t maxRsqr, Double_t maxZ)
Bool_t PointOverVertex(const TEveVector4D& v0, const TEveVector4D& v, Double_t* p = 0)
TEveTrackPropagator(const TEveTrackPropagator& )
TEveTrackPropagator& operator=(const TEveTrackPropagator& )
void SetStepper(TEveTrackPropagator::EStepper_e s)
{ fStepper = s; }
void SetMagField(Double_t bX, Double_t bY, Double_t bZ)
void SetEditPathMarks(Bool_t x)
TEveVectorD GetMagField(Double_t x, Double_t y, Double_t z)
{ return fMagFieldObj->GetField(x, y, z); }
EStepper_e GetStepper() const
{ return fStepper;}
Double_t GetMaxR() const
{ return fMaxR; }
Double_t GetMaxZ() const
{ return fMaxZ; }
Double_t GetMaxOrbs() const
{ return fMaxOrbs; }
Double_t GetMaxAng() const
{ return fH.fMaxAng; }
Double_t GetMaxStep() const
{ return fH.fMaxStep; }
Double_t GetDelta() const
{ return fH.fDelta; }
Bool_t GetEditPathMarks() const
{ return fEditPathMarks; }
Bool_t GetRnrDaughters() const
{ return fRnrDaughters; }
Bool_t GetRnrReferences() const
{ return fRnrReferences; }
Bool_t GetRnrDecay() const
{ return fRnrDecay; }
Bool_t GetRnrCluster2Ds() const
{ return fRnrCluster2Ds; }
Bool_t GetFitDaughters() const
{ return fFitDaughters; }
Bool_t GetFitReferences() const
{ return fFitReferences; }
Bool_t GetFitDecay() const
{ return fFitDecay; }
Bool_t GetFitCluster2Ds() const
{ return fFitCluster2Ds; }
Bool_t GetFitLineSegments() const
{ return fFitLineSegments; }
Bool_t GetRnrFV() const
{ return fRnrFV; }
UChar_t GetProjTrackBreaking() const
{ return fProjTrackBreaking; }
Bool_t GetRnrPTBMarkers() const
{ return fRnrPTBMarkers; }
TMarker& RefPMAtt()
{ return fPMAtt; }
TMarker& RefFVAtt()
{ return fFVAtt; }
TMarker& RefPTBAtt()
{ return fPTBAtt; }