DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
triggeralgs::dbscan::HitSet Class Reference

#include <Hit.hpp>

Public Member Functions

 HitSet ()
 
void insert (Hit *h)
 
std::vector< Hit * >::iterator begin ()
 
std::vector< Hit * >::iterator end ()
 
std::vector< Hit * >::const_iterator begin () const
 
std::vector< Hit * >::const_iterator end () const
 
void clear ()
 
size_t size () const
 

Public Attributes

std::vector< Hit * > hits
 

Detailed Description

Definition at line 50 of file Hit.hpp.

Constructor & Destructor Documentation

◆ HitSet()

triggeralgs::dbscan::HitSet::HitSet ( )

Definition at line 9 of file Hit.cpp.

10{
11 hits.reserve(10);
12}
std::vector< Hit * > hits
Definition Hit.hpp:69

Member Function Documentation

◆ begin() [1/2]

std::vector< Hit * >::iterator triggeralgs::dbscan::HitSet::begin ( )
inline

Definition at line 59 of file Hit.hpp.

59{ return hits.begin(); }

◆ begin() [2/2]

std::vector< Hit * >::const_iterator triggeralgs::dbscan::HitSet::begin ( ) const
inline

Definition at line 62 of file Hit.hpp.

62{ return hits.cbegin(); }

◆ clear()

void triggeralgs::dbscan::HitSet::clear ( )
inline

Definition at line 65 of file Hit.hpp.

65{ hits.clear(); }

◆ end() [1/2]

std::vector< Hit * >::iterator triggeralgs::dbscan::HitSet::end ( )
inline

Definition at line 60 of file Hit.hpp.

60{ return hits.end(); }

◆ end() [2/2]

std::vector< Hit * >::const_iterator triggeralgs::dbscan::HitSet::end ( ) const
inline

Definition at line 63 of file Hit.hpp.

63{ return hits.cend(); }

◆ insert()

void triggeralgs::dbscan::HitSet::insert ( Hit * h)

Definition at line 16 of file Hit.cpp.

17{
18 // We're typically inserting hits at or near the end, so do a
19 // linear scan instead of full binary search. This turns out to be much
20 // faster in our case
21 auto it = hits.rbegin();
22 while (it != hits.rend() && (*it)->time >= h->time) {
23 // Don't insert the hit if we already have it
24 if (*it == h) {
25 return;
26 }
27 ++it;
28 }
29
30 if (it == hits.rend() || *it != h) {
31 hits.insert(it.base(), h);
32 }
33}

◆ size()

size_t triggeralgs::dbscan::HitSet::size ( ) const
inline

Definition at line 67 of file Hit.hpp.

67{ return hits.size(); }

Member Data Documentation

◆ hits

std::vector<Hit*> triggeralgs::dbscan::HitSet::hits

Definition at line 69 of file Hit.hpp.


The documentation for this class was generated from the following files: