kdTree class definiton More...
#include <kdTree.h>
Classes | |
class | KdTreeNode |
define a kd tree node More... | |
Public Types | |
using | KdTreeNodeVec = std::vector< KdTreeNode > |
using | KdTreeNodeList = std::list< KdTreeNode > |
using | Hit3DVec = std::vector< const reco::ClusterHit3D * > |
using | CandPair = std::pair< double, const reco::ClusterHit3D * > |
using | CandPairList = std::list< CandPair > |
Public Member Functions | |
kdTree () | |
Default Constructor. More... | |
kdTree (fhicl::ParameterSet const &pset) | |
Constructor. More... | |
~kdTree () | |
Destructor. More... | |
void | configure (fhicl::ParameterSet const &pset) |
Configure our kdTree... More... | |
KdTreeNode & | BuildKdTree (Hit3DVec::iterator, Hit3DVec::iterator, KdTreeNodeList &, int depth=0) const |
Given an input set of ClusterHit3D objects, build a kd tree structure. More... | |
size_t | FindNearestNeighbors (const reco::ClusterHit3D *, const KdTreeNode &, CandPairList &, float &) const |
bool | FindEntry (const reco::ClusterHit3D *, const KdTreeNode &, CandPairList &, float &, bool &, int) const |
bool | FindEntryBrute (const reco::ClusterHit3D *, const KdTreeNode &, int) const |
KdTreeNode | BuildKdTree (const reco::HitPairList &, KdTreeNodeList &) const |
Given an input HitPairList, build out the map of nearest neighbors. More... | |
KdTreeNode | BuildKdTree (const reco::HitPairListPtr &, KdTreeNodeList &) const |
Given an input HitPairListPtr, build out the map of nearest neighbors. More... | |
float | getTimeToExecute () const |
Private Member Functions | |
bool | consistentPairs (const reco::ClusterHit3D *pair1, const reco::ClusterHit3D *pair2, float &hitSeparation) const |
The bigger question: are two pairs of hits consistent? More... | |
float | DistanceBetweenNodes (const reco::ClusterHit3D *, const reco::ClusterHit3D *) const |
float | DistanceBetweenNodesYZ (const reco::ClusterHit3D *, const reco::ClusterHit3D *) const |
Private Attributes | |
bool | fEnableMonitoring |
float | fTimeToBuild |
float | fPairSigmaPeakTime |
Consider hits consistent if "significance" less than this. More... | |
float | fRefLeafBestDist |
Set neighborhood distance to this when ref leaf found. More... | |
int | fMaxWireDeltas |
Maximum total number of delta wires. More... | |
using lar_cluster3d::kdTree::CandPair = std::pair<double,const reco::ClusterHit3D*> |
using lar_cluster3d::kdTree::CandPairList = std::list<CandPair> |
using lar_cluster3d::kdTree::Hit3DVec = std::vector<const reco::ClusterHit3D*> |
using lar_cluster3d::kdTree::KdTreeNodeList = std::list<KdTreeNode> |
|
inline |
Default Constructor.
Definition at line 36 of file kdTree.h.
lar_cluster3d::kdTree::kdTree | ( | fhicl::ParameterSet const & | pset | ) |
Constructor.
pset |
Definition at line 24 of file kdTree.cxx.
lar_cluster3d::kdTree::~kdTree | ( | ) |
kdTree::KdTreeNode & lar_cluster3d::kdTree::BuildKdTree | ( | Hit3DVec::iterator | first, |
Hit3DVec::iterator | last, | ||
KdTreeNodeList & | kdTreeNodeContainer, | ||
int | depth = 0 |
||
) | const |
Given an input set of ClusterHit3D objects, build a kd tree structure.
hitPairList | The input list of 3D hits to run clustering on |
kdTreeVec | Container for the nodes |
Definition at line 112 of file kdTree.cxx.
kdTree::KdTreeNode lar_cluster3d::kdTree::BuildKdTree | ( | const reco::HitPairList & | hitPairList, |
KdTreeNodeList & | kdTreeNodeContainer | ||
) | const |
Given an input HitPairList, build out the map of nearest neighbors.
Definition at line 50 of file kdTree.cxx.
kdTree::KdTreeNode lar_cluster3d::kdTree::BuildKdTree | ( | const reco::HitPairListPtr & | hitPairList, |
KdTreeNodeList & | kdTreeNodeContainer | ||
) | const |
Given an input HitPairListPtr, build out the map of nearest neighbors.
Definition at line 77 of file kdTree.cxx.
void lar_cluster3d::kdTree::configure | ( | fhicl::ParameterSet const & | pset | ) |
Configure our kdTree...
ParameterSet | The input set of parameters for configuration |
Definition at line 37 of file kdTree.cxx.
|
private |
The bigger question: are two pairs of hits consistent?
Definition at line 272 of file kdTree.cxx.
|
private |
Definition at line 327 of file kdTree.cxx.
|
private |
Definition at line 316 of file kdTree.cxx.
bool lar_cluster3d::kdTree::FindEntry | ( | const reco::ClusterHit3D * | refHit, |
const KdTreeNode & | node, | ||
CandPairList & | CandPairList, | ||
float & | bestDist, | ||
bool & | selfNotFound, | ||
int | depth | ||
) | const |
Definition at line 207 of file kdTree.cxx.
bool lar_cluster3d::kdTree::FindEntryBrute | ( | const reco::ClusterHit3D * | refHit, |
const KdTreeNode & | node, | ||
int | depth | ||
) | const |
Definition at line 252 of file kdTree.cxx.
size_t lar_cluster3d::kdTree::FindNearestNeighbors | ( | const reco::ClusterHit3D * | refHit, |
const KdTreeNode & | node, | ||
CandPairList & | CandPairList, | ||
float & | bestDist | ||
) | const |
Definition at line 170 of file kdTree.cxx.
|
inline |
|
private |
|
private |
|
private |