EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <EicRoot/blob/master/eic/htree/HoughTree.h>
Public Member Functions | |
HoughTree () | |
~HoughTree () | |
int | AddDimension (const char *name, double min, double max) |
int | AddResolutionLevel (const unsigned div[]) |
virtual HoughNodeGroup * | AllocateNodeGroup (unsigned id) |
HoughNodeGroup * | AddNodeGroup (unsigned id, unsigned cdim, const double min[], const double max[], const double gra[]) |
unsigned | GetGdim () const |
unsigned | LaunchPatternFinder () |
void | SetVerbosityLevel (unsigned level) |
unsigned | GetVerbosityLevel () const |
unsigned | GetDdim () const |
const HoughDimension * | GetDimension (unsigned id) const |
int | SetBlindCellDecisionLevel (unsigned level) |
int | SetOkHitCounterLimits (unsigned min, unsigned max) |
int | SetBorrowedHitCounterLimit (unsigned max) |
int | SetBorrowedPlusMissingHitCounterLimit (unsigned max) |
unsigned | GetGroupCount () const |
HoughNodeGroup * | GetGroup (unsigned gr) const |
unsigned | GetLdim () const |
ResolutionLevel * | GetLevel (unsigned lv) const |
unsigned | GetLinearMatchCandidateCount () const |
MatchCandidate * | GetMatchCandidate (unsigned tc) |
int | AllocateLookUpTable () |
void | SetFastTreeSearchMode (unsigned qualityItrNum) |
Protected Member Functions | |
virtual MatchCandidate * | AllocateMatchCandidate ()=0 |
virtual void | ResolveAmbiguitiesNg (MatchCandidate *match)=0 |
virtual void | FinalFit (MatchCandidate *match)=0 |
Protected Attributes | |
std::vector< HoughNodeGroup * > | mGroups |
unsigned | mCurrMinOkHitCounter |
bool | mFastTreeSearchMode |
unsigned | mTrackQualityIterationNum |
unsigned | mMatchCandidateCount |
std::vector< MatchCandidate * > | mMatchCandidates |
Private Member Functions | |
int | AddResolutionLevelCore (const unsigned div[]) |
unsigned | PurgeDuplicateTracks () |
HoughCell * | GetInitializedCell (unsigned lv, const unsigned id[]) |
unsigned | CheckCell (unsigned lv, const unsigned id[], HoughCell **pcell, const std::vector< GroupMember * > members[]) |
bool | IsSubset (MatchCandidate *match) const |
bool | IsBusy (const GroupMember *member) const |
virtual void | SetupTrackQualityIteration (unsigned itr)=0 |
unsigned | GetUsefulGroupCount (const HoughCell *cell) const |
MatchCandidate * | GetCurrentMatchBufferPtr () |
virtual void | MappingCall (const double par[], t_hough_range id[])=0 |
Private Attributes | |
bool | mInitialized |
bool | mGeometryLocked |
unsigned | mVerbosityLevel |
unsigned | mMinOkHitCounter |
unsigned | mMaxOkHitCounter |
unsigned | mBlindCellDecisionLevel |
HoughCell * | mBlindCell |
unsigned | mCellAcceptanceDecisionLevel |
unsigned | mBorrowedHitCounterMax |
unsigned | mBorrowedPlusMissingHitCounterMax |
int | mSingleCellEdgeNum |
std::vector< HoughDimension > | mDimensions |
std::map< unsigned, unsigned > | mGlimits |
std::map< unsigned, unsigned > | mGcounters |
std::vector< ResolutionLevel * > | mResolutionLevels |
HoughCell * | mCellTree |
t_hough_range ** | mBinaryTree |
Definition at line 54 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 54 of file HoughTree.h
HoughTree::HoughTree | ( | ) |
Definition at line 18 of file HoughTree.cxx.
View newest version in sPHENIX GitHub at line 18 of file HoughTree.cxx
References mBlindCell.
|
inline |
Definition at line 59 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 59 of file HoughTree.h
int HoughTree::AddDimension | ( | const char * | name, |
double | min, | ||
double | max | ||
) |
Definition at line 42 of file HoughTree.cxx.
View newest version in sPHENIX GitHub at line 42 of file HoughTree.cxx
References mDimensions, mGeometryLocked, and mSingleCellEdgeNum.
Referenced by FwdTrackFinder::AddDimension(), FwdTrackFinder::DefineInversedMomentumRange(), FwdTrackFinder::DefineInversedPtRange(), FwdTrackFinder::DefinePhiRange(), and FwdTrackFinder::DefineThetaRange().
HoughNodeGroup * HoughTree::AddNodeGroup | ( | unsigned | id, |
unsigned | cdim, | ||
const double | min[], | ||
const double | max[], | ||
const double | gra[] | ||
) |
Definition at line 136 of file HoughTree.cxx.
View newest version in sPHENIX GitHub at line 136 of file HoughTree.cxx
References AllocateNodeGroup(), HoughNodeGroup::ConfigureCoordinateDescriptors(), mGcounters, mGlimits, mGroups, and mInitialized.
Referenced by FwdHoughTree::AddNodeGroup().
int HoughTree::AddResolutionLevel | ( | const unsigned | div[] | ) |
Definition at line 110 of file HoughTree.cxx.
View newest version in sPHENIX GitHub at line 110 of file HoughTree.cxx
References AddResolutionLevelCore(), GetLdim(), mDimensions, mGeometryLocked, and mInitialized.
Referenced by FwdTrackFinder::ConfigureResolutionLevels().
|
private |
Definition at line 56 of file HoughTree.cxx.
View newest version in sPHENIX GitHub at line 56 of file HoughTree.cxx
References GetLdim(), mCellAcceptanceDecisionLevel, and mResolutionLevels.
Referenced by AddResolutionLevel().
int HoughTree::AllocateLookUpTable | ( | ) |
Definition at line 84 of file HoughTree.cxx.
View newest version in sPHENIX GitHub at line 84 of file HoughTree.cxx
References _MAX_BTREE_INDEX_DEPTH_, bits(), GetLdim(), GetLevel(), ResolutionLevel::GetTotalDivisionNumber(), mBinaryTree, mDimensions, and printf().
Referenced by FwdTrackFinder::Init().
|
protectedpure virtual |
Implemented in FwdHoughTree.
Referenced by GetCurrentMatchBufferPtr().
|
inlinevirtual |
Reimplemented in FwdHoughTree.
Definition at line 64 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 64 of file HoughTree.h
Referenced by AddNodeGroup().
|
private |
Definition at line 403 of file HoughTree.cxx.
View newest version in sPHENIX GitHub at line 403 of file HoughTree.cxx
References __OUT_OF_RANGE_BIT_, _ACTIVE_CANDIDATES_, MatchCandidate::AddMember(), HoughCell::AllocateDaughterCells(), HoughCell::DaughtersArrayAllocated(), FinalFit(), HoughCell::From(), GroupMember::From(), MatchCandidate::GetAliveMemberCount(), GetCurrentMatchBufferPtr(), ResolutionLevel::GetDaughterCellNumber(), HoughCell::GetDaughterPtr(), MatchCandidate::GetFirstAliveMember(), HoughNodeGroup::GetGroupId(), MatchCandidate::GetIdPtr(), GetInitializedCell(), GetLdim(), GetLevel(), HoughNodeGroup::GetMember(), HoughNodeGroup::GetMemberCount(), MatchCandidate::GetOkGroupCounter(), ResolutionLevel::GetParameterSplitFactor(), HoughNodeGroup::GetPhaseSpaceSmearing(), gmin(), MatchCandidate::IncrementOkGroupCounter(), ip(), MatchCandidate::IsActive(), IsBusy(), MatchCandidate::IsReadyForFinalFit(), MatchCandidate::IsSubset(), IsSubset(), it, mBlindCell, mBorrowedHitCounterMax, mBorrowedPlusMissingHitCounterMax, mCurrMinOkHitCounter, mDimensions, mFastTreeSearchMode, mGcounters, mGlimits, mGroups, mk_prefix(), Acts::UnitConstants::mm, mMatchCandidateCount, mMatchCandidates, mMaxOkHitCounter, mVerbosityLevel, HoughNodeGroup::OffsetThisValue(), HoughNodeGroup::Overlap(), printf(), ResolutionLevel::Remap(), ResolveAmbiguitiesNg(), GroupMember::SetBusyFlag(), MatchCandidate::ShapeItUpForInspection(), HoughCell::To(), and GroupMember::To().
Referenced by LaunchPatternFinder().
|
protectedpure virtual |
Implemented in FwdHoughTree.
Referenced by CheckCell(), and LaunchPatternFinder().
|
inlineprivate |
Definition at line 182 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 182 of file HoughTree.h
References AllocateMatchCandidate(), mMatchCandidateCount, mMatchCandidates, and MatchCandidate::ResetToTheVirginState().
Referenced by CheckCell().
|
inline |
Definition at line 81 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 81 of file HoughTree.h
References mDimensions.
Referenced by FwdTrackFinder::AddResolutionLevel(), GetInitializedCell(), FwdHoughTree::MappingCall(), MatchCandidate::MatchCandidate(), FwdTrackFinder::ResetVtxNode(), ResolutionLevel::ResolutionLevel(), FwdHoughTree::SetupKalmanFilter(), and MatchCandidate::ShapeItUpForInspection().
|
inline |
Definition at line 82 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 82 of file HoughTree.h
References mDimensions.
Referenced by FwdTrackFinder::ResetVtxNode(), ResolutionLevel::ResolutionLevel(), and FwdHoughTree::SetupKalmanFilter().
|
inline |
Definition at line 74 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 74 of file HoughTree.h
References mGroups.
Referenced by GetInitializedCell(), GetUsefulGroupCount(), HoughCell::HoughCell(), MatchCandidate::IsSubset(), MatchCandidate::MatchCandidate(), HoughCell::ResetRanges(), and HoughCell::UpdateRanges().
|
inline |
Definition at line 115 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 115 of file HoughTree.h
References mGroups.
Referenced by FwdTrackFinder::Exec(), and HoughCell::UpdateRanges().
|
inline |
Definition at line 114 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 114 of file HoughTree.h
References mGroups.
Referenced by FwdTrackFinder::Exec().
|
private |
Definition at line 178 of file HoughTree.cxx.
View newest version in sPHENIX GitHub at line 178 of file HoughTree.cxx
References __OUT_OF_RANGE_BIT_, HoughCell::AllocateDaughterCells(), HoughCell::DaughtersArrayAllocated(), HoughCell::From(), ResolutionLevel::GetCellSize(), GetDdim(), GetGdim(), GetLdim(), GetLevel(), ResolutionLevel::GetTotalDivisionNumber(), GetUsefulGroupCount(), ip(), MappingCall(), mBinaryTree, mBlindCell, mBlindCellDecisionLevel, mCellAcceptanceDecisionLevel, mDimensions, mGroups, mMinOkHitCounter, mSingleCellEdgeNum, HoughCell::ResetRanges(), HoughCell::SetDaughter(), HoughCell::To(), and HoughCell::UpdateRanges().
Referenced by CheckCell().
|
inline |
Definition at line 117 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 117 of file HoughTree.h
References mResolutionLevels.
Referenced by AddResolutionLevel(), AddResolutionLevelCore(), AllocateLookUpTable(), CheckCell(), GetInitializedCell(), FwdTrackFinder::Init(), FwdTrackFinder::ResetVtxNode(), ResolutionLevel::ResolutionLevel(), SetBlindCellDecisionLevel(), and FwdHoughTree::SetupKalmanFilter().
|
inline |
Definition at line 118 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 118 of file HoughTree.h
References mResolutionLevels.
Referenced by AllocateLookUpTable(), CheckCell(), GetInitializedCell(), FwdTrackFinder::Init(), FwdTrackFinder::ResetVtxNode(), ResolutionLevel::ResolutionLevel(), and FwdHoughTree::SetupKalmanFilter().
|
inline |
Definition at line 123 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 123 of file HoughTree.h
References mMatchCandidateCount.
Referenced by FwdTrackFinder::Exec().
|
inline |
Definition at line 124 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 124 of file HoughTree.h
References mMatchCandidateCount, and mMatchCandidates.
Referenced by FwdTrackFinder::Exec().
|
inlineprivate |
Definition at line 172 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 172 of file HoughTree.h
References __OUT_OF_RANGE_BIT_, HoughCell::From(), and GetGdim().
Referenced by GetInitializedCell().
|
inline |
Definition at line 79 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 79 of file HoughTree.h
References mVerbosityLevel.
Referenced by ResolutionLevel::ResolutionLevel().
|
inlineprivate |
Definition at line 166 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 166 of file HoughTree.h
References GroupMember::IsBooked(), GroupMember::IsBusy(), and mFastTreeSearchMode.
Referenced by CheckCell().
|
private |
Definition at line 366 of file HoughTree.cxx.
View newest version in sPHENIX GitHub at line 366 of file HoughTree.cxx
References GroupMember::Begin(), GroupMember::End(), MatchCandidate::GetAliveMemberCount(), MatchCandidate::GetLinearMemberCount(), MatchCandidate::GetSelMember(), it, mGroups, and Acts::UnitConstants::mm.
Referenced by CheckCell(), and PurgeDuplicateTracks().
unsigned HoughTree::LaunchPatternFinder | ( | ) |
Definition at line 794 of file HoughTree.cxx.
View newest version in sPHENIX GitHub at line 794 of file HoughTree.cxx
References MatchCandidateGroup::AddCandidate(), MatchCandidateGroup::Begin(), CheckCell(), MatchCandidateGroup::End(), FinalFit(), MatchCandidate::GetAliveGroupCount(), MatchCandidate::GetAliveMemberCount(), MatchCandidateGroup::GetCandidateCount(), MatchCandidate::GetFirstAliveMember(), HoughNodeGroup::GetMember(), HoughNodeGroup::GetMemberCount(), MatchCandidate::GetTrackQualityParameter(), MatchCandidate::HasAmbiguousHits(), MatchCandidate::IsActive(), MatchCandidate::IsGrouped(), MatchCandidate::IsReadyForFinalFit(), it, mCellTree, mCurrMinOkHitCounter, mDimensions, mFastTreeSearchMode, mGroups, min, mInitialized, Acts::UnitConstants::mm, mMatchCandidateCount, mMatchCandidates, mMaxOkHitCounter, mMinOkHitCounter, mTrackQualityIterationNum, printf(), PurgeDuplicateTracks(), MatchCandidate::ResetMemberPtr(), ResolveAmbiguitiesNg(), MatchCandidate::SetInactive(), SetupTrackQualityIteration(), and MatchCandidate::SiamGroupCandidate().
Referenced by FwdTrackFinder::Exec().
|
privatepure virtual |
Implemented in FwdHoughTree.
Referenced by GetInitializedCell().
|
private |
Definition at line 737 of file HoughTree.cxx.
View newest version in sPHENIX GitHub at line 737 of file HoughTree.cxx
References MatchCandidate::IsActive(), MatchCandidate::IsSubset(), IsSubset(), mMatchCandidateCount, mMatchCandidates, and MatchCandidate::SetInactive().
Referenced by LaunchPatternFinder().
|
protectedpure virtual |
Implemented in FwdHoughTree.
Referenced by CheckCell(), and LaunchPatternFinder().
|
inline |
Definition at line 86 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 86 of file HoughTree.h
References GetLdim(), and mBlindCellDecisionLevel.
Referenced by FwdTrackFinder::Init().
|
inline |
Definition at line 101 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 101 of file HoughTree.h
References max, mBorrowedHitCounterMax, and mGroups.
Referenced by FwdTrackFinder::Init().
|
inline |
Definition at line 107 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 107 of file HoughTree.h
References max, mBorrowedPlusMissingHitCounterMax, and mGroups.
Referenced by FwdTrackFinder::Init().
|
inline |
Definition at line 130 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 130 of file HoughTree.h
References mFastTreeSearchMode, and mTrackQualityIterationNum.
Referenced by FwdTrackFinder::SetFastTreeSearchMode().
|
inline |
Definition at line 92 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 92 of file HoughTree.h
References max, mGroups, min, mMaxOkHitCounter, and mMinOkHitCounter.
Referenced by FwdTrackFinder::Init().
|
privatepure virtual |
Implemented in FwdHoughTree.
Referenced by LaunchPatternFinder().
|
inline |
Definition at line 78 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 78 of file HoughTree.h
References mVerbosityLevel.
Referenced by FwdTrackFinder::SetVerbosityLevel().
|
private |
Definition at line 275 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 275 of file HoughTree.h
Referenced by AllocateLookUpTable(), and GetInitializedCell().
|
private |
Definition at line 244 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 244 of file HoughTree.h
Referenced by CheckCell(), GetInitializedCell(), and HoughTree().
|
private |
Definition at line 243 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 243 of file HoughTree.h
Referenced by GetInitializedCell(), and SetBlindCellDecisionLevel().
|
private |
Definition at line 254 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 254 of file HoughTree.h
Referenced by CheckCell(), and SetBorrowedHitCounterLimit().
|
private |
Definition at line 254 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 254 of file HoughTree.h
Referenced by CheckCell(), and SetBorrowedPlusMissingHitCounterLimit().
|
private |
Definition at line 249 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 249 of file HoughTree.h
Referenced by AddResolutionLevelCore(), and GetInitializedCell().
|
private |
Definition at line 271 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 271 of file HoughTree.h
Referenced by LaunchPatternFinder().
|
protected |
Definition at line 150 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 150 of file HoughTree.h
Referenced by CheckCell(), FwdHoughTree::FinalFit(), LaunchPatternFinder(), and FwdHoughTree::SetupKalmanFilter().
|
private |
Definition at line 261 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 261 of file HoughTree.h
Referenced by AddDimension(), AddResolutionLevel(), AllocateLookUpTable(), CheckCell(), GetDdim(), GetDimension(), GetInitializedCell(), and LaunchPatternFinder().
|
protected |
Definition at line 280 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 280 of file HoughTree.h
Referenced by CheckCell(), IsBusy(), LaunchPatternFinder(), SetFastTreeSearchMode(), and FwdHoughTree::SetupTrackQualityIteration().
|
private |
Definition at line 265 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 265 of file HoughTree.h
Referenced by AddNodeGroup(), and CheckCell().
|
private |
Definition at line 202 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 202 of file HoughTree.h
Referenced by AddDimension(), and AddResolutionLevel().
|
private |
Definition at line 265 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 265 of file HoughTree.h
Referenced by AddNodeGroup(), and CheckCell().
|
protected |
Definition at line 147 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 147 of file HoughTree.h
Referenced by AddNodeGroup(), CheckCell(), FwdHoughTree::FinalFit(), GetGdim(), GetGroup(), GetGroupCount(), GetInitializedCell(), FwdHoughTree::GetNodeGroup(), IsSubset(), LaunchPatternFinder(), FwdHoughTree::MappingCall(), FwdHoughTree::ResolveAmbiguitiesNg(), SetBorrowedHitCounterLimit(), SetBorrowedPlusMissingHitCounterLimit(), SetOkHitCounterLimits(), and FwdHoughTree::SetupKalmanFilter().
|
private |
Definition at line 199 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 199 of file HoughTree.h
Referenced by AddNodeGroup(), AddResolutionLevel(), and LaunchPatternFinder().
|
protected |
Definition at line 287 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 287 of file HoughTree.h
Referenced by CheckCell(), GetCurrentMatchBufferPtr(), GetLinearMatchCandidateCount(), GetMatchCandidate(), LaunchPatternFinder(), and PurgeDuplicateTracks().
|
protected |
Definition at line 288 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 288 of file HoughTree.h
Referenced by CheckCell(), GetCurrentMatchBufferPtr(), GetMatchCandidate(), LaunchPatternFinder(), and PurgeDuplicateTracks().
|
private |
Definition at line 228 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 228 of file HoughTree.h
Referenced by CheckCell(), LaunchPatternFinder(), and SetOkHitCounterLimits().
|
private |
Definition at line 228 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 228 of file HoughTree.h
Referenced by GetInitializedCell(), LaunchPatternFinder(), and SetOkHitCounterLimits().
|
private |
Definition at line 268 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 268 of file HoughTree.h
Referenced by AddResolutionLevelCore(), GetLdim(), and GetLevel().
|
private |
Definition at line 260 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 260 of file HoughTree.h
Referenced by AddDimension(), and GetInitializedCell().
|
protected |
Definition at line 281 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 281 of file HoughTree.h
Referenced by LaunchPatternFinder(), SetFastTreeSearchMode(), and FwdHoughTree::SetupTrackQualityIteration().
|
private |
Definition at line 205 of file HoughTree.h.
View newest version in sPHENIX GitHub at line 205 of file HoughTree.h
Referenced by CheckCell(), GetVerbosityLevel(), and SetVerbosityLevel().