LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "Segmentation2D.h"
Public Member Functions | |
Segmentation2D (const fhicl::ParameterSet &p) | |
void | reconfigure (const fhicl::ParameterSet &p) |
std::vector< tss::Cluster2D > | run (tss::Cluster2D &inp) const |
void | splitHits (const std::vector< tss::Cluster2D > &inp, std::vector< const tss::Hit2D * > &trackHits, std::vector< const tss::Hit2D * > &emHits) const |
void | splitHitsNaive (const tss::Cluster2D &inp, std::vector< const tss::Hit2D * > &trackHits, std::vector< const tss::Hit2D * > &emHits) const |
void | splitHitsNaive (const std::vector< tss::Cluster2D > &inp, std::vector< const tss::Hit2D * > &trackHits, std::vector< const tss::Hit2D * > &emHits) const |
int | mergeClusters (std::vector< tss::Cluster2D > &group, const std::vector< size_t > &idxs) const |
Private Member Functions | |
void | run (tss::Cluster2D &inp, std::vector< tss::Cluster2D > &result, std::vector< TVector2 > ¢ers) const |
tss::Cluster2D | buildSegment (tss::Cluster2D &inp, TVector2 center, TVector2 end) const |
tss::Cluster2D | selectRing (const tss::Cluster2D &inp, TVector2 center) const |
void | tagDenseEnds (std::vector< tss::Cluster2D > &group) const |
void | mergeDenseParts (std::vector< tss::Cluster2D > &group) const |
bool | Cl2InsideCl1 (tss::Cluster2D &cl1, tss::Cluster2D &cl2) const |
Private Attributes | |
tss::SimpleClustering | fSimpleClustering |
double | fRadiusMin |
double | fRadiusMax |
double | fMaxLineDist |
double | fDenseVtxRadius |
double | fDenseHitRadius |
size_t | fDenseMinN |
size_t | fDenseMinH |
Definition at line 22 of file Segmentation2D.h.
|
inline |
Definition at line 24 of file Segmentation2D.h.
References util::end().
|
private |
Definition at line 102 of file Segmentation2D.cxx.
References pma::Dist2(), util::end(), tss::Cluster2D::end(), fMaxLineDist, fSimpleClustering, pma::GetProjectionToSegment(), tss::Cluster2D::hits(), tss::SimpleClustering::hitsTouching(), proj, tss::Cluster2D::push_back(), tss::Cluster2D::release(), tss::Cluster2D::size(), tss::Cluster2D::sort(), and tss::Cluster2D::start().
Referenced by run().
|
private |
Definition at line 419 of file Segmentation2D.cxx.
References tss::Cluster2D::isEM(), tss::Cluster2D::max(), tss::Cluster2D::min(), tss::Cluster2D::size(), X, and Y.
int tss::Segmentation2D::mergeClusters | ( | std::vector< tss::Cluster2D > & | group, |
const std::vector< size_t > & | idxs | ||
) | const |
Definition at line 307 of file Segmentation2D.cxx.
Referenced by mergeDenseParts().
|
private |
Definition at line 211 of file Segmentation2D.cxx.
References pma::Dist2(), util::end(), fDenseMinN, fDenseVtxRadius, maxE, mergeClusters(), and util::size().
Referenced by run().
void tss::Segmentation2D::reconfigure | ( | const fhicl::ParameterSet & | p | ) |
Definition at line 15 of file Segmentation2D.cxx.
References fDenseHitRadius, fDenseMinH, fDenseMinN, fDenseVtxRadius, fMaxLineDist, fRadiusMax, fRadiusMin, and fhicl::ParameterSet::get().
std::vector< tss::Cluster2D > tss::Segmentation2D::run | ( | tss::Cluster2D & | inp | ) | const |
Definition at line 28 of file Segmentation2D.cxx.
References mergeDenseParts(), tss::Cluster2D::outermost(), tss::Hit2D::Point2D(), tss::Cluster2D::size(), and tagDenseEnds().
Referenced by tss::TrackShowerHits::produce().
|
private |
Definition at line 51 of file Segmentation2D.cxx.
References buildSegment(), tss::Cluster2D::closest(), pma::Dist2(), tss::Cluster2D::end(), fSimpleClustering, tss::Hit2D::Point2D(), tss::Cluster2D::release(), tss::SimpleClustering::run(), tca::seeds, selectRing(), and tss::Cluster2D::size().
|
private |
Definition at line 154 of file Segmentation2D.cxx.
References pma::Dist2(), fRadiusMax, fRadiusMin, tss::Cluster2D::hits(), tss::Cluster2D::push_back(), and tss::Cluster2D::size().
Referenced by run().
void tss::Segmentation2D::splitHits | ( | const std::vector< tss::Cluster2D > & | inp, |
std::vector< const tss::Hit2D * > & | trackHits, | ||
std::vector< const tss::Hit2D * > & | emHits | ||
) | const |
Definition at line 336 of file Segmentation2D.cxx.
void tss::Segmentation2D::splitHitsNaive | ( | const tss::Cluster2D & | inp, |
std::vector< const tss::Hit2D * > & | trackHits, | ||
std::vector< const tss::Hit2D * > & | emHits | ||
) | const |
Definition at line 359 of file Segmentation2D.cxx.
References pma::Dist2(), fDenseHitRadius, fDenseMinH, tss::Cluster2D::hits(), and n.
Referenced by tss::TrackShowerHits::produce().
void tss::Segmentation2D::splitHitsNaive | ( | const std::vector< tss::Cluster2D > & | inp, |
std::vector< const tss::Hit2D * > & | trackHits, | ||
std::vector< const tss::Hit2D * > & | emHits | ||
) | const |
Definition at line 384 of file Segmentation2D.cxx.
References pma::Dist2(), fDenseHitRadius, fDenseMinH, and n.
|
private |
Definition at line 168 of file Segmentation2D.cxx.
References pma::Dist2(), util::end(), and fDenseVtxRadius.
Referenced by run().
|
private |
Definition at line 72 of file Segmentation2D.h.
Referenced by reconfigure(), and splitHitsNaive().
|
private |
Definition at line 73 of file Segmentation2D.h.
Referenced by reconfigure(), and splitHitsNaive().
|
private |
Definition at line 73 of file Segmentation2D.h.
Referenced by mergeDenseParts(), and reconfigure().
|
private |
Definition at line 72 of file Segmentation2D.h.
Referenced by mergeDenseParts(), reconfigure(), and tagDenseEnds().
|
private |
Definition at line 70 of file Segmentation2D.h.
Referenced by buildSegment(), and reconfigure().
|
private |
Definition at line 69 of file Segmentation2D.h.
Referenced by reconfigure(), and selectRing().
|
private |
Definition at line 69 of file Segmentation2D.h.
Referenced by reconfigure(), and selectRing().
|
private |
Definition at line 67 of file Segmentation2D.h.
Referenced by buildSegment(), and run().