ROOT logo
TreeSearch » TREESEARCH » TreeSearch::Road

class TreeSearch::Road: public TObject

Function Members (Methods)

voidTObject::AbstractMethod(const char* method) const
Bool_tAdd(const TreeSearch::Node_t& nd)
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_tCompare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
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
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Double_tGetChi2() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
const TreeSearch::Hset_t&GetHits() const
virtual const char*TObject::GetIconName() 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
const TreeSearch::Road::NodeList_t&GetPatterns() const
const TreeSearch::Road::Pvec_t&GetPoints() const
Double_tGetPos() const
Double_tGetPos(Double_t z) const
Double_tGetPosErrsq(Double_t z) const
const TreeSearch::Projection*GetProjection() const
Double_tGetSlope() const
virtual const char*TObject::GetTitle() const
THaTrack*GetTrack() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tHasGrown() const
virtual ULong_tTObject::Hash() const
Bool_tInclude(const TreeSearch::Road* other)
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
TVector2Intersect(const TreeSearch::Road* other, Double_t z) const
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tIsGood() const
Bool_tIsInFrontRange(const TreeSearch::NodeDescriptor& nd) const
Bool_tTObject::IsOnHeap() const
virtual Bool_tIsSortable() const
Bool_tIsVoid() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
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)
TreeSearch::Road&operator=(const TreeSearch::Road&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* opt = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
TreeSearch::RoadRoad(const TreeSearch::Projection* proj)
TreeSearch::RoadRoad(const TreeSearch::Road&)
TreeSearch::RoadRoad(const TreeSearch::Node_t& nd, const TreeSearch::Projection* proj)
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)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetTrack(THaTrack* track)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
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
Bool_tCheckMatch(const TreeSearch::Hset_t& hits) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Bool_tIsInBackRange(const TreeSearch::NodeDescriptor& nd) const
Bool_tIsInRange(const TreeSearch::NodeDescriptor& nd) const
voidCopyPointData(const TreeSearch::Road& orig)

Data Members

TreeSearch::BuildInfo_t*fBuild! Working data for building
Double_tfChi2Chi2 of fit
Double_tfCornerX[5]x positions of corners
UInt_tfDofDegrees of freedom of fit (nhits-2)
TreeSearch::Road::Pvec_tfFitCoordfPoints used in best fit [nplanes]
Bool_tfGoodRoad successfully built and fit
Bool_tfGrown! Add() added hits in front or back plane
TreeSearch::Hset_tfHitsAll hits linked to the patterns
TreeSearch::Road::NodeList_tfPatternsPatterns in this road
vector<Pvec_t>fPointsAll hit coordinates within road [nplanes][]
Double_tfPosTrack origin
const TreeSearch::Projection*fProjection! Projection that this Road belongs to
Double_tfSlopeTrack slope
THaTrack*fTrackThe lowest-chi2 3D track using this road
Double_tfV[3]Covar matrix of param (V11, V12=V21, V22)
Double_tfZLz-eps of first plane
Double_tfZUz+eps of last plane

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

Road( const Projection* proj )
 Construct empty road
Road(const TreeSearch::Node_t& nd, const TreeSearch::Projection* proj)
 Construct from pattern
Road( const Road& orig )
 Copy constructor
Road& operator=(const TreeSearch::Road& )
 Print hit info
void CopyPointData(const TreeSearch::Road& orig)
 Copy fPoints and fFitCoord. Used by copy c'tor and assignment operator.
 Creates actual copies of Points because they are managed by the Roads.
Bool_t CheckMatch(const TreeSearch::Hset_t& hits) const
 Return true if the hits from the given set either cover all planes
 or, if planes are missing, the pattern of missing planes is allowed
 (based on what level of matching the user requests via the database)
Bool_t IsInBackRange(const TreeSearch::NodeDescriptor& nd) const
Bool_t IsInFrontRange(const TreeSearch::NodeDescriptor& nd) const
Bool_t Add(const TreeSearch::Node_t& nd)
 Check if the hits from the given NodeDescriptor pattern are common
 with the common hit set already in this road. If so, add the pattern
 to this road, update the common hits if necessary, and return true.
 If not, do nothing and return false.

 Adding can only be done so long as the road is not yet finished
void Finish()
 Finish building the road
Bool_t Include(const TreeSearch::Road* other)
 Check if this road includes 'other'. Either other's hits are a
 subset of this road's hit set or other lies entirely within the
 boundaries of this road.
 If a match is found, adopt the other road (either widen boundaries
 or adopt the other's hits)
Bool_t CollectCoordinates()
 Gather hit positions that lie within the Road area.
 Return true if the plane occupancy pattern of the selected points
 is allowed by Projection::fPlaneCombos, otherwise false.
 Results are in fPoints.
Bool_t Fit()
 Collect hit positions within the Road limits and, if enough points
 found, fit them to a straight line. If several points found in one
 or more planes, fit all possible combinations of them.
 Results of the best fit with acceptable chi2 (Projection::fChisqLimits)
 are stored in the member variables
TVector2 Intersect(const TreeSearch::Road* other, Double_t z) const
 Find intersection point in x/y coordinates of the best fit of this
 road with the best fit of the other in the given z-plane.
 Both roads must have a good fit and must be from different projections.
 This function commutes, i.e. a->Intersect(b) == b->Intersect(a)
void Print(Option_t* opt = "") const
 Print road info
explicit Road( const Projection* proj )
void ClearGrow()
{ fGrown = false; }
Int_t Compare(const TObject* obj) const
Double_t GetChi2() const
{ return fChi2; }
const Hset_t& GetHits() const
{ return fHits; }
const Pvec_t& GetPoints() const
{ return fFitCoord; }
Double_t GetPos() const
{ return fPos; }
Double_t GetPos(Double_t z) const
{ return fPos + z*fSlope; }
Double_t GetPosErrsq(Double_t z) const
const Projection* GetProjection() const
{ return fProjection; }
Double_t GetSlope() const
{ return fSlope; }
THaTrack* GetTrack() const
{ return fTrack; }
Bool_t HasGrown() const
{ return fGrown; }
Bool_t IsGood() const
{ return fGood; }
Bool_t IsSortable() const
{ return kTRUE; }
Bool_t IsVoid() const
{ return !fGood; }
void SetGrow()
{ fGrown = true; }
void SetTrack(THaTrack* track)
{ fTrack = track; }
void Void()
{ fGood = false; }
const NodeList_t& GetPatterns() const
{ return fPatterns; }
Bool_t IsInRange(const TreeSearch::NodeDescriptor& nd) const