12 #include "canvas/Persistency/Common/Ptr.h"
14 #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)
54 explicit DBScanAlg(fhicl::ParameterSet
const& pset);
60 std::set<uint32_t> badChannels,
61 const std::vector<geo::WireID>& wireids = std::vector<geo::WireID>());
62 double getSimilarity(
const std::vector<double> v1,
const std::vector<double> v2);
63 std::vector<unsigned int>
findNeighbors(
unsigned int pid,
double threshold,
double threshold2);
66 double getSimilarity2(
const std::vector<double> v1,
const std::vector<double> v2);
68 double getWidthFactor(
const std::vector<double> v1,
const std::vector<double> v2);
72 std::vector<std::vector<double>>
fps;
74 std::vector<std::vector<double>>
fsim;
75 std::vector<std::vector<double>>
fsim2;
76 std::vector<std::vector<double>>
fsim3;
111 unsigned int clusterID );
112 std::set<unsigned int>
RegionQuery(
unsigned int point);
119 #endif // ifndef DBSCANALG_H
RStarTree< uint32_t, 2, 32, 64 > RTree
double getSimilarity(const std::vector< double > v1, const std::vector< double > v2)
dbsPoint(double X=0.0, double Y=0.0, double dX=0.0, double dY=0.0)
void computeWidthFactor()
std::vector< uint32_t > fBadWireSum
std::vector< std::vector< double > > fps
the collection of points we are working on
void run_dbscan_cluster()
then echo echo For and will not be changed by echo further linking echo echo B echo The symbol is in the uninitialized data multiple common symbols may appear with the echo same name If the symbol is defined the common echo symbols are treated as undefined references For more echo details on common see the discussion of warn common echo in *Note Linker see the discussion of warn common echo in *Note Linker such as a global int variable echo as opposed to a large global array echo echo I echo The symbol is an indirect reference to another symbol This echo is a GNU extension to the a out object file format which is echo rarely used echo echo N echo The symbol is a debugging symbol echo echo R echo The symbol is in a read only data section echo echo S echo The symbol is in an uninitialized data section for small echo objects echo echo T echo The symbol is in the the normal defined echo symbol is used with no error When a weak undefined symbol echo is linked and the symbol is not the value of the echo weak symbol becomes zero with no error echo echo W echo The symbol is a weak symbol that has not been specifically echo tagged as a weak object symbol When a weak defined symbol echo is linked with a normal defined the normal defined echo symbol is used with no error When a weak undefined symbol echo is linked and the symbol is not the value of the echo weak symbol becomes zero with no error echo echo echo The symbol is a stabs symbol in an a out object file In echo this the next values printed are the stabs other echo the stabs desc and the stab type Stabs symbols are echo used to hold debugging information For more echo see *Note or object file format specific echo echo For Mac OS X
std::set< unsigned int > RegionQuery(unsigned int point)
void Expand(double DX, double DY)
void run_FN_naive_cluster()
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
BoundingBox bounds() const
std::vector< bool > fvisited
DBScanAlg(fhicl::ParameterSet const &pset)
Definition of data types for geometry description.
double getWidthFactor(const std::vector< double > v1, const std::vector< double > v2)
void computeSimilarity2()
std::vector< unsigned int > findNeighbors(unsigned int pid, double threshold, double threshold2)
std::vector< unsigned int > RegionQuery_vector(unsigned int point)
void InitScan(const detinfo::DetectorClocksData &clockData, const detinfo::DetectorPropertiesData &detProp, const std::vector< art::Ptr< recob::Hit >> &allhits, std::set< uint32_t > badChannels, const std::vector< geo::WireID > &wireids=std::vector< geo::WireID >())
std::vector< double > fWirePitch
the pitch of the wires in each plane
bool ExpandCluster(unsigned int point, unsigned int clusterID)
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
double getSimilarity2(const std::vector< double > v1, const std::vector< double > v2)
std::vector< std::vector< double > > fsim2
std::vector< bool > fnoise
unsigned int fDistanceMetric
Which distance metric to use.