LArSoft
v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
|
#include "DBScan3DAlg.h"
Public Member Functions | |
DBScan3DAlg (fhicl::ParameterSet const &pset) | |
virtual | ~DBScan3DAlg () |
void | init (const std::vector< art::Ptr< recob::SpacePoint >> &sps, art::FindManyP< recob::Hit > &hitFromSp) |
void | dbscan () |
Public Attributes | |
std::vector< point_t > | points |
Private Member Functions | |
node_t * | create_node (unsigned int index) |
int | append_at_end (unsigned int index, epsilon_neighbours_t *en) |
epsilon_neighbours_t * | get_epsilon_neighbours (unsigned int index) |
void | destroy_epsilon_neighbours (epsilon_neighbours_t *en) |
int | expand (unsigned int index, unsigned int cluster_id) |
int | spread (unsigned int index, epsilon_neighbours_t *seeds, unsigned int cluster_id) |
float | dist (point_t *a, point_t *b) |
Private Attributes | |
double | epsilon |
unsigned int | minpts |
double | badchannelweight |
unsigned int | neighbors |
std::map< geo::WireID, int > | badchannelmap |
Definition at line 75 of file DBScan3DAlg.h.
cluster::DBScan3DAlg::DBScan3DAlg | ( | fhicl::ParameterSet const & | pset | ) |
|
virtual |
Definition at line 24 of file DBScan3DAlg.cxx.
|
private |
Definition at line 77 of file DBScan3DAlg.cxx.
References create_node(), FAILURE, epsilon_neighbours_s::head, n, node_s::next, epsilon_neighbours_s::num_members, SUCCESS, and epsilon_neighbours_s::tail.
Referenced by get_epsilon_neighbours(), and spread().
|
private |
Definition at line 65 of file DBScan3DAlg.cxx.
References node_s::index, n, and node_s::next.
Referenced by append_at_end().
void cluster::DBScan3DAlg::dbscan | ( | ) |
Definition at line 133 of file DBScan3DAlg.cxx.
References CORE_POINT, expand(), points, and UNCLASSIFIED.
Referenced by cluster::DBCluster3D::produce().
|
private |
Definition at line 120 of file DBScan3DAlg.cxx.
References epsilon_neighbours_s::head, and node_s::next.
Referenced by expand(), get_epsilon_neighbours(), and spread().
Definition at line 207 of file DBScan3DAlg.cxx.
References badchannelweight, point_s::nbadchannels, point_s::sp, and recob::SpacePoint::XYZ().
Referenced by get_epsilon_neighbours().
|
private |
Definition at line 144 of file DBScan3DAlg.cxx.
References CORE_POINT, destroy_epsilon_neighbours(), FAILURE, get_epsilon_neighbours(), epsilon_neighbours_s::head, node_s::index, minpts, node_s::next, NOISE, NOT_CORE_POINT, epsilon_neighbours_s::num_members, points, tca::seeds, and spread().
Referenced by dbscan().
|
private |
Definition at line 96 of file DBScan3DAlg.cxx.
References append_at_end(), destroy_epsilon_neighbours(), dist(), epsilon, FAILURE, and points.
Referenced by expand(), and spread().
void cluster::DBScan3DAlg::init | ( | const std::vector< art::Ptr< recob::SpacePoint >> & | sps, |
art::FindManyP< recob::Hit > & | hitFromSp | ||
) |
Definition at line 29 of file DBScan3DAlg.cxx.
References util::absDiff(), badchannelmap, point_s::cluster_id, hits(), geo::GeometryCore::IteratePlaneIDs(), geo::GeometryCore::IterateWireIDs(), point_s::nbadchannels, neighbors, geo::GeometryCore::PlaneWireToChannel(), points, point_s::sp, and UNCLASSIFIED.
Referenced by cluster::DBCluster3D::produce().
|
private |
Definition at line 175 of file DBScan3DAlg.cxx.
References append_at_end(), point_s::cluster_id, d, destroy_epsilon_neighbours(), FAILURE, get_epsilon_neighbours(), epsilon_neighbours_s::head, node_s::index, minpts, n, node_s::next, NOISE, epsilon_neighbours_s::num_members, points, SUCCESS, and UNCLASSIFIED.
Referenced by expand().
|
private |
Definition at line 94 of file DBScan3DAlg.h.
Referenced by init().
|
private |
Definition at line 92 of file DBScan3DAlg.h.
Referenced by dist().
|
private |
Definition at line 90 of file DBScan3DAlg.h.
Referenced by DBScan3DAlg(), and get_epsilon_neighbours().
|
private |
Definition at line 91 of file DBScan3DAlg.h.
|
private |
Definition at line 93 of file DBScan3DAlg.h.
Referenced by init().
std::vector<point_t> cluster::DBScan3DAlg::points |
Definition at line 82 of file DBScan3DAlg.h.
Referenced by dbscan(), expand(), get_epsilon_neighbours(), init(), cluster::DBCluster3D::produce(), and spread().