LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "Cluster3D.h"
Public Types | |
enum | StatusBits { REJECTEDHIT = 0x80000000, SKELETONHIT = 0x10000000, EDGEHIT = 0x20000000, SEEDHIT = 0x40000000, MADESPACEPOINT = 0x08000000, CONVEXHULLVTX = 0x04000000, EXTREMEPOINT = 0x02000000, SKELETONPOSAVE = 0x00100000, CLUSTERVISITED = 0x00008000, CLUSTERNOISE = 0x00004000, CLUSTERATTACHED = 0x00002000, CLUSTERSHARED = 0x00001000, PATHCHECKED = 0x00000800, SELECTEDBYMST = 0x00000100, PCAOUTLIER = 0x00000080, HITINVIEW0 = 0x00000001, HITINVIEW1 = 0x00000002, HITINVIEW2 = 0x00000004 } |
Public Member Functions | |
ClusterHit3D () | |
ClusterHit3D (size_t id, unsigned int statusBits, const Eigen::Vector3f &position, float totalCharge, float avePeakTime, float deltaPeakTime, float sigmaPeakTime, float hitChiSquare, float overlapFraction, float chargeAsymmetry, float docaToAxis, float arclenToPoca, const ClusterHit2DVec &hitVec, const std::vector< float > &hitDelTSigVec, const std::vector< geo::WireID > &wireIDVec) | |
ClusterHit3D (const ClusterHit3D &) | |
ClusterHit3D & | operator= (ClusterHit3D const &) |
void | initialize (size_t id, unsigned int statusBits, const Eigen::Vector3f &position, float totalCharge, float avePeakTime, float deltaPeakTime, float sigmaPeakTime, float hitChiSquare, float overlapFraction, float chargeAsymmetry, float docaToAxis, float arclenToPoca, const ClusterHit2DVec &hitVec, const std::vector< float > &hitDelTSigVec, const std::vector< geo::WireID > &wireIDVec) |
size_t | getID () const |
unsigned int | getStatusBits () const |
const Eigen::Vector3f | getPosition () const |
float | getX () const |
float | getY () const |
float | getZ () const |
float | getTotalCharge () const |
float | getAvePeakTime () const |
float | getDeltaPeakTime () const |
float | getSigmaPeakTime () const |
float | getHitChiSquare () const |
float | getOverlapFraction () const |
float | getChargeAsymmetry () const |
float | getDocaToAxis () const |
float | getArclenToPoca () const |
const ClusterHit2DVec & | getHits () const |
const std::vector< float > | getHitDelTSigVec () const |
const std::vector< geo::WireID > & | getWireIDs () const |
ClusterHit2DVec & | getHits () |
bool | bitsAreSet (const unsigned int &bitsToCheck) const |
void | setID (const size_t &id) const |
void | setStatusBit (unsigned bits) const |
void | clearStatusBits (unsigned bits) const |
void | setDocaToAxis (double doca) const |
void | setArclenToPoca (double poca) const |
void | setWireID (const geo::WireID &wid) const |
void | setPosition (const Eigen::Vector3f &pos) const |
bool | operator< (const reco::ClusterHit3D &other) const |
bool | operator== (const reco::ClusterHit3D &other) const |
Private Attributes | |
size_t | fID |
"id" of this hit (useful for indexing) More... | |
unsigned int | fStatusBits |
Volatile status information of this 3D hit. More... | |
Eigen::Vector3f | fPosition |
position of this hit combination in world coordinates More... | |
float | fTotalCharge |
Sum of charges of all associated recob::Hits. More... | |
float | fAvePeakTime |
Average peak time of all associated recob::Hits. More... | |
float | fDeltaPeakTime |
Largest delta peak time of associated recob::Hits. More... | |
float | fSigmaPeakTime |
Quad sum of peak time sigmas. More... | |
float | fHitChiSquare |
Hit ChiSquare relative to the average time. More... | |
float | fOverlapFraction |
Hit overlap fraction start/stop of triplet. More... | |
float | fChargeAsymmetry |
Assymetry of average of two closest to third charge. More... | |
float | fDocaToAxis |
DOCA to the associated cluster axis. More... | |
float | fArclenToPoca |
arc length along axis to DOCA point More... | |
ClusterHit2DVec | fHitVector |
Hits comprising this 3D hit. More... | |
std::vector< float > | fHitDelTSigVec |
Delta t of hit to matching pair / sig. More... | |
std::vector< geo::WireID > | fWireIDVector |
Wire ID's for the planes making up hit. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &o, const ClusterHit3D &c) |
Definition at line 93 of file Cluster3D.h.
Definition at line 95 of file Cluster3D.h.
reco::ClusterHit3D::ClusterHit3D | ( | ) |
Definition at line 73 of file Cluster3D.cxx.
References fHitDelTSigVec, fHitVector, and fWireIDVector.
reco::ClusterHit3D::ClusterHit3D | ( | size_t | id, |
unsigned int | statusBits, | ||
const Eigen::Vector3f & | position, | ||
float | totalCharge, | ||
float | avePeakTime, | ||
float | deltaPeakTime, | ||
float | sigmaPeakTime, | ||
float | hitChiSquare, | ||
float | overlapFraction, | ||
float | chargeAsymmetry, | ||
float | docaToAxis, | ||
float | arclenToPoca, | ||
const ClusterHit2DVec & | hitVec, | ||
const std::vector< float > & | hitDelTSigVec, | ||
const std::vector< geo::WireID > & | wireIDVec | ||
) |
Definition at line 95 of file Cluster3D.cxx.
References fHitVector.
reco::ClusterHit3D::ClusterHit3D | ( | const ClusterHit3D & | toCopy | ) |
Definition at line 129 of file Cluster3D.cxx.
References fArclenToPoca, fAvePeakTime, fChargeAsymmetry, fDeltaPeakTime, fDocaToAxis, fHitChiSquare, fHitDelTSigVec, fHitVector, fID, fOverlapFraction, fPosition, fSigmaPeakTime, fStatusBits, fTotalCharge, and fWireIDVector.
|
inline |
Definition at line 174 of file Cluster3D.h.
|
inline |
Definition at line 178 of file Cluster3D.h.
|
inline |
Definition at line 167 of file Cluster3D.h.
Referenced by lar_cluster3d::SkeletonAlg::AverageSkeletonPositions(), lar_cluster3d::PCASeedFinderAlg::getHitsAtEnd(), lar_cluster3d::SeedFinderAlgBase::Sort3DHitsByArcLen3D::operator()(), lar_cluster3d::Sort3DHitsByArcLen3D::operator()(), lar_cluster3d::SeedFinderAlgBase::Sort3DHitsByAbsArcLen3D::operator()(), and lar_cluster3d::Sort3DHitsByAbsArcLen3D::operator()().
|
inline |
Definition at line 160 of file Cluster3D.h.
Referenced by lar_cluster3d::SkeletonAlg::AverageSkeletonPositions(), lar_cluster3d::kdTree::consistentPairs(), lar_cluster3d::StandardHit3DBuilder::FindBestMatchingHit(), lar_cluster3d::SnippetHit3DBuilder::FindBestMatchingHit(), lar_cluster3d::StandardHit3DBuilder::FindNumberInRange(), lar_cluster3d::SnippetHit3DBuilder::FindNumberInRange(), lar_cluster3d::StandardHit3DBuilder::makeHitTriplet(), lar_cluster3d::SnippetHit3DBuilder::makeHitTriplet(), and lar_cluster3d::SetPairStartTimeOrder().
|
inline |
Definition at line 165 of file Cluster3D.h.
Referenced by lar_cluster3d::SkeletonAlg::AverageSkeletonPositions(), and lar_cluster3d::Cluster3D::MakeAndSaveKinkPoints().
|
inline |
Definition at line 161 of file Cluster3D.h.
Referenced by lar_cluster3d::SkeletonAlg::AverageSkeletonPositions().
|
inline |
Definition at line 166 of file Cluster3D.h.
Referenced by lar_cluster3d::SkeletonAlg::AverageSkeletonPositions(), lar_cluster3d::HoughSeedFinderAlg::buildSeed(), lar_cluster3d::Sort3DHitsByDocaToAxis::operator()(), and lar_cluster3d::CopyIfInRange::operator()().
|
inline |
Definition at line 163 of file Cluster3D.h.
Referenced by lar_cluster3d::SkeletonAlg::AverageSkeletonPositions(), lar_cluster3d::Cluster3D::MakeAndSaveKinkPoints(), lar_cluster3d::MinSpanTreeAlg::RunPrimsAlgorithm(), and lar_cluster3d::MSTPathFinder::RunPrimsAlgorithm().
|
inline |
Definition at line 169 of file Cluster3D.h.
Referenced by lar_cluster3d::SkeletonAlg::AverageSkeletonPositions().
|
inline |
Definition at line 168 of file Cluster3D.h.
Referenced by reco::ClusterParameters::addHit3D(), lar_cluster3d::SkeletonAlg::AverageSkeletonPositions(), lar_cluster3d::HoughSeedFinderAlg::buildSeed(), lar_cluster3d::MinSpanTreeAlg::CheckHitSorting(), lar_cluster3d::PCASeedFinderAlg::getHitsAtEnd(), lar_cluster3d::StandardHit3DBuilder::makeDeadChannelPair(), lar_cluster3d::SnippetHit3DBuilder::makeDeadChannelPair(), lar_cluster3d::StandardHit3DBuilder::makeHitTriplet(), lar_cluster3d::SnippetHit3DBuilder::makeHitTriplet(), lar_cluster3d::OrderHitsAlongWire::operator()(), lar_cluster3d::SetCheckHitOrder::operator()(), and reco::operator<<().
|
inline |
Definition at line 172 of file Cluster3D.h.
|
inline |
Definition at line 153 of file Cluster3D.h.
Referenced by lar_cluster3d::SkeletonAlg::AverageSkeletonPositions().
|
inline |
Definition at line 164 of file Cluster3D.h.
Referenced by lar_cluster3d::SkeletonAlg::AverageSkeletonPositions().
|
inline |
Definition at line 155 of file Cluster3D.h.
Referenced by lar_cluster3d::SkeletonAlg::AverageSkeletonPositions(), lar_cluster3d::ConvexHullPathFinder::breakClusterByMaxDefect(), lar_cluster3d::VoronoiPathFinder::breakIntoTinyBits(), lar_cluster3d::ClusterPathFinder::buildConvexHull(), lar_cluster3d::VoronoiPathFinder::buildConvexHull(), lar_cluster3d::ConvexHullPathFinder::buildConvexHull(), lar_cluster3d::MSTPathFinder::buildConvexHull(), lar_cluster3d::kdTree::BuildKdTree(), lar_cluster3d::ClusterPathFinder::buildVoronoiDiagram(), lar_cluster3d::VoronoiPathFinder::buildVoronoiDiagram(), lar_cluster3d::kdTree::DistanceBetweenNodes(), lar_cluster3d::MinSpanTreeAlg::DistanceBetweenNodes(), lar_cluster3d::MSTPathFinder::DistanceBetweenNodes(), lar_cluster3d::kdTree::DistanceBetweenNodesYZ(), lar_cluster3d::kdTree::FindEntry(), lar_cluster3d::HoughSeedFinderAlg::findHoughClusters(), lar_cluster3d::kdTree::FindNearestNeighbors(), lar_cluster3d::Cluster3D::MakeAndSaveKinkPoints(), lar_cluster3d::StandardHit3DBuilder::makeDeadChannelPair(), lar_cluster3d::SnippetHit3DBuilder::makeDeadChannelPair(), lar_cluster3d::StandardHit3DBuilder::makeHitTriplet(), lar_cluster3d::SnippetHit3DBuilder::makeHitTriplet(), lar_cluster3d::ConvexHullPathFinder::subDivideCluster(), and lar_cluster3d::VoronoiPathFinder::subDivideCluster().
|
inline |
Definition at line 162 of file Cluster3D.h.
Referenced by lar_cluster3d::SkeletonAlg::AverageSkeletonPositions(), lar_cluster3d::kdTree::consistentPairs(), lar_cluster3d::StandardHit3DBuilder::makeHitTriplet(), lar_cluster3d::SnippetHit3DBuilder::makeHitTriplet(), and lar_cluster3d::SetPairStartTimeOrder().
|
inline |
Definition at line 154 of file Cluster3D.h.
Referenced by lar_cluster3d::MinSpanTreeAlg::AStar(), lar_cluster3d::MSTPathFinder::AStar(), lar_cluster3d::SkeletonAlg::AverageSkeletonPositions(), lar_cluster3d::DBScanAlg::expandCluster(), and lar_cluster3d::HoughSeedFinderAlg::findHoughClusters().
|
inline |
Definition at line 159 of file Cluster3D.h.
Referenced by lar_cluster3d::SkeletonAlg::AverageSkeletonPositions(), and lar_cluster3d::Cluster3D::MakeAndSaveKinkPoints().
|
inline |
Definition at line 170 of file Cluster3D.h.
Referenced by lar_cluster3d::SkeletonAlg::AverageSkeletonPositions(), lar_cluster3d::MinSpanTreeAlg::CheckHitSorting(), lar_cluster3d::kdTree::consistentPairs(), and lar_cluster3d::SetCheckHitOrder::operator()().
|
inline |
Definition at line 156 of file Cluster3D.h.
|
inline |
Definition at line 157 of file Cluster3D.h.
|
inline |
Definition at line 158 of file Cluster3D.h.
void reco::ClusterHit3D::initialize | ( | size_t | id, |
unsigned int | statusBits, | ||
const Eigen::Vector3f & | position, | ||
float | totalCharge, | ||
float | avePeakTime, | ||
float | deltaPeakTime, | ||
float | sigmaPeakTime, | ||
float | hitChiSquare, | ||
float | overlapFraction, | ||
float | chargeAsymmetry, | ||
float | docaToAxis, | ||
float | arclenToPoca, | ||
const ClusterHit2DVec & | hitVec, | ||
const std::vector< float > & | hitDelTSigVec, | ||
const std::vector< geo::WireID > & | wireIDVec | ||
) |
Definition at line 156 of file Cluster3D.cxx.
References fArclenToPoca, fAvePeakTime, fChargeAsymmetry, fDeltaPeakTime, fDocaToAxis, fHitChiSquare, fHitDelTSigVec, fHitVector, fID, fOverlapFraction, fPosition, fSigmaPeakTime, fStatusBits, fTotalCharge, and fWireIDVector.
Referenced by lar_cluster3d::StandardHit3DBuilder::makeHitPair(), lar_cluster3d::SnippetHit3DBuilder::makeHitPair(), lar_cluster3d::StandardHit3DBuilder::makeHitTriplet(), and lar_cluster3d::SnippetHit3DBuilder::makeHitTriplet().
|
inline |
Definition at line 185 of file Cluster3D.h.
References fPosition.
ClusterHit3D & reco::ClusterHit3D::operator= | ( | ClusterHit3D const & | toCopy | ) |
Definition at line 148 of file Cluster3D.cxx.
References tmp.
|
inline |
|
inline |
Definition at line 180 of file Cluster3D.h.
|
inline |
Definition at line 179 of file Cluster3D.h.
|
inline |
Definition at line 176 of file Cluster3D.h.
Referenced by lar_cluster3d::StandardHit3DBuilder::findGoodTriplets(), and lar_cluster3d::SnippetHit3DBuilder::findGoodTriplets().
|
inline |
Definition at line 183 of file Cluster3D.h.
Referenced by lar_cluster3d::SkeletonAlg::AverageSkeletonPositions(), lar_cluster3d::StandardHit3DBuilder::makeDeadChannelPair(), and lar_cluster3d::SnippetHit3DBuilder::makeDeadChannelPair().
|
inline |
Definition at line 177 of file Cluster3D.h.
Referenced by lar_cluster3d::MinSpanTreeAlg::AStar(), lar_cluster3d::MSTPathFinder::AStar(), lar_cluster3d::DBScanAlg::expandCluster(), lar_cluster3d::MinSpanTreeAlg::RunPrimsAlgorithm(), and lar_cluster3d::MSTPathFinder::RunPrimsAlgorithm().
void reco::ClusterHit3D::setWireID | ( | const geo::WireID & | wid | ) | const |
Definition at line 191 of file Cluster3D.cxx.
References fWireIDVector, and geo::PlaneID::Plane.
Referenced by lar_cluster3d::StandardHit3DBuilder::makeDeadChannelPair(), and lar_cluster3d::SnippetHit3DBuilder::makeDeadChannelPair().
|
friend |
Definition at line 196 of file Cluster3D.cxx.
|
mutableprivate |
arc length along axis to DOCA point
Definition at line 210 of file Cluster3D.h.
Referenced by ClusterHit3D(), and initialize().
|
private |
Average peak time of all associated recob::Hits.
Definition at line 203 of file Cluster3D.h.
Referenced by ClusterHit3D(), and initialize().
|
private |
Assymetry of average of two closest to third charge.
Definition at line 208 of file Cluster3D.h.
Referenced by ClusterHit3D(), and initialize().
|
private |
Largest delta peak time of associated recob::Hits.
Definition at line 204 of file Cluster3D.h.
Referenced by ClusterHit3D(), and initialize().
|
mutableprivate |
DOCA to the associated cluster axis.
Definition at line 209 of file Cluster3D.h.
Referenced by ClusterHit3D(), and initialize().
|
private |
Hit ChiSquare relative to the average time.
Definition at line 206 of file Cluster3D.h.
Referenced by ClusterHit3D(), and initialize().
|
mutableprivate |
Delta t of hit to matching pair / sig.
Definition at line 212 of file Cluster3D.h.
Referenced by ClusterHit3D(), and initialize().
|
private |
Hits comprising this 3D hit.
Definition at line 211 of file Cluster3D.h.
Referenced by ClusterHit3D(), and initialize().
|
mutableprivate |
"id" of this hit (useful for indexing)
Definition at line 199 of file Cluster3D.h.
Referenced by ClusterHit3D(), initialize(), and operator==().
|
private |
Hit overlap fraction start/stop of triplet.
Definition at line 207 of file Cluster3D.h.
Referenced by ClusterHit3D(), and initialize().
|
mutableprivate |
position of this hit combination in world coordinates
Definition at line 201 of file Cluster3D.h.
Referenced by ClusterHit3D(), initialize(), and operator<().
|
private |
Quad sum of peak time sigmas.
Definition at line 205 of file Cluster3D.h.
Referenced by ClusterHit3D(), and initialize().
|
mutableprivate |
Volatile status information of this 3D hit.
Definition at line 200 of file Cluster3D.h.
Referenced by ClusterHit3D(), and initialize().
|
private |
Sum of charges of all associated recob::Hits.
Definition at line 202 of file Cluster3D.h.
Referenced by ClusterHit3D(), and initialize().
|
mutableprivate |
Wire ID's for the planes making up hit.
Definition at line 213 of file Cluster3D.h.
Referenced by ClusterHit3D(), initialize(), and setWireID().