LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
IEvent.h
Go to the documentation of this file.
1 
10 #ifndef IEvent_voronoi2d_h
11 #define IEvent_voronoi2d_h
12 
14 
15 // std includes
16 #include <algorithm>
17 #include <vector>
18 //------------------------------------------------------------------------------------------------------------------------------------------
19 
20 namespace voronoi2d {
24  class BSTNode;
25 
26  class IEvent {
27  public:
31  virtual ~IEvent() noexcept = default;
32 
37  virtual void setInvalid() const = 0;
38 
39  virtual bool isSite() const = 0;
40  virtual bool isCircle() const = 0;
41  virtual bool isValid() const = 0;
42 
43  virtual const dcel2d::Point& getPoint() const = 0;
44  virtual double xPos() const = 0;
45  virtual double yPos() const = 0;
46  virtual const dcel2d::Coords& getCoords() const = 0;
47  virtual const dcel2d::Coords& circleCenter() const = 0;
48 
49  virtual BSTNode* getBSTNode() const = 0;
50  virtual void setBSTNode(BSTNode*) = 0;
51 
52  virtual bool operator<(const IEvent& right) const = 0;
53  };
54 
55 } // namespace lar_cluster3d
56 #endif
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:102
BSTNode class definiton specifically for use in constructing Voronoi diagrams. We are trying to follo...
Definition: BeachLine.h:34
virtual BSTNode * getBSTNode() const =0
virtual bool operator<(const IEvent &right) const =0
virtual bool isSite() const =0
virtual const dcel2d::Coords & circleCenter() const =0
virtual double yPos() const =0
virtual void setBSTNode(BSTNode *)=0
virtual bool isCircle() const =0
virtual bool isValid() const =0
virtual double xPos() const =0
std::tuple< double, double, const reco::ClusterHit3D * > Point
Definitions used by the VoronoiDiagram algorithm.
Definition: DCEL.h:42
Eigen::Vector3f Coords
Definition: DCEL.h:44
virtual void setInvalid() const =0
Interface for configuring the particular algorithm tool.
virtual const dcel2d::Coords & getCoords() const =0
virtual ~IEvent() noexcept=default
Virtual Destructor.
virtual const dcel2d::Point & getPoint() const =0