12 #include "RStarTree/RStarTree.h" 16 class DetectorClocksData;
17 class DetectorPropertiesData;
32 using RTree = RStarTree<uint32_t, 2, 32, 64>;
38 dbsPoint(
double X = 0.0,
double Y = 0.0,
double dX = 0.0,
double dY = 0.0)
39 : x(
X), y(
Y), dx(dX), dy(dY){};
59 std::set<uint32_t> badChannels,
60 const std::vector<geo::WireID>& wireids = std::vector<geo::WireID>());
61 double getSimilarity(
const std::vector<double> v1,
const std::vector<double> v2);
62 std::vector<unsigned int> findNeighbors(
unsigned int pid,
double threshold,
double threshold2);
63 void computeSimilarity();
65 double getSimilarity2(
const std::vector<double> v1,
const std::vector<double> v2);
66 void computeSimilarity2();
67 double getWidthFactor(
const std::vector<double> v1,
const std::vector<double> v2);
68 void computeWidthFactor();
71 std::vector<std::vector<double>>
fps;
73 std::vector<std::vector<double>>
fsim;
74 std::vector<std::vector<double>>
fsim2;
75 std::vector<std::vector<double>>
fsim3;
103 void run_dbscan_cluster();
104 void run_FN_cluster();
105 void run_FN_naive_cluster();
109 bool ExpandCluster(
unsigned int point ,
110 unsigned int clusterID );
111 std::set<unsigned int> RegionQuery(
unsigned int point);
113 std::vector<unsigned int> RegionQuery_vector(
unsigned int point);
118 #endif // ifndef DBSCANALG_H
RStarTree< uint32_t, 2, 32, 64 > RTree
dbsPoint(double X=0.0, double Y=0.0, double dX=0.0, double dY=0.0)
Reconstruction base classes.
std::vector< uint32_t > fBadWireSum
std::vector< std::vector< double > > fps
the collection of points we are working on
Cluster finding and building.
void Expand(double DX, double DY)
std::vector< std::vector< double > > fsim3
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
std::vector< unsigned int > fpointId_to_clusterId
mapping point_id -> clusterId
std::vector< dbsPoint > fRect
std::vector< std::vector< double > > fsim
unsigned int fClusterMethod
Which clustering method to use.
RTree::BoundingBox BoundingBox
std::vector< bool > fvisited
General LArSoft Utilities.
Definition of data types for geometry description.
std::vector< double > fWirePitch
the pitch of the wires in each plane
std::vector< std::vector< unsigned int > > fclusters
collection of something
Contains all timing reference information for the detector.
std::set< uint32_t > fBadChannels
set of bad channels in this detector
std::vector< std::vector< double > > fsim2
std::vector< bool > fnoise
unsigned int fDistanceMetric
Which distance metric to use.