SimpleBlob.h
Go to the documentation of this file.
1 /** SimpleBlob
2  */
3 #ifndef WIRECELL_SIMPLEBLOB
4 #define WIRECELL_SIMPLEBLOB
5 
6 #include "WireCellIface/IBlob.h"
8 #include "WireCellIface/ISlice.h"
10 #include "WireCellUtil/RayGrid.h"
11 
12 namespace WireCell
13 {
14 
15  class SimpleBlob : public IBlob {
16  public:
17  SimpleBlob(int ident, float value, float uncertainty, const RayGrid::Blob& shape,
19  : m_ident(ident), m_value(value), m_uncertainty(uncertainty), m_shape(shape)
20  , m_slice(slice), m_face(face) { }
21  virtual ~SimpleBlob();
22 
23  int ident() const { return m_ident; }
24 
25  float value() const { return m_value; }
26 
27  float uncertainty() const { return m_uncertainty; }
28 
29  IAnodeFace::pointer face() const { return m_face; }
30 
31  ISlice::pointer slice() const { return m_slice; }
32 
33  const RayGrid::Blob& shape() const { return m_shape; }
34 
35  private:
36  int m_ident;
37  float m_value;
42  };
43 
44 
45 
46  class SimpleBlobSet : public IBlobSet {
47  public:
49  : m_ident(ident)
50  , m_slice(slice) { }
51  virtual ~SimpleBlobSet();
52 
53  virtual int ident() const { return m_ident; }
54 
55  virtual ISlice::pointer slice() const { return m_slice; }
56 
57  virtual IBlob::vector blobs() const { return m_blobs; }
58 
59  int m_ident;
62  };
63 
64 
65 } // WireCell
66 
67 #endif /* WIRECELL_SIMPLEBLOB */
IBlob::vector m_blobs
Definition: SimpleBlob.h:61
std::shared_ptr< const ISlice > pointer
Definition: IData.h:19
RayGrid::Blob m_shape
Definition: SimpleBlob.h:39
SimpleBlob(int ident, float value, float uncertainty, const RayGrid::Blob &shape, ISlice::pointer slice, IAnodeFace::pointer face)
Definition: SimpleBlob.h:17
SimpleBlobSet(int ident, const ISlice::pointer &slice)
Definition: SimpleBlob.h:48
IAnodeFace::pointer face() const
Definition: SimpleBlob.h:29
std::vector< pointer > vector
Definition: IData.h:21
float uncertainty() const
Definition: SimpleBlob.h:27
int ident() const
Definition: SimpleBlob.h:23
virtual IBlob::vector blobs() const
Definition: SimpleBlob.h:57
IAnodeFace::pointer m_face
Definition: SimpleBlob.h:41
std::shared_ptr< Interface > pointer
Definition: Interface.h:16
virtual int ident() const
Return some identifier number that is unique to this set.
Definition: SimpleBlob.h:53
const RayGrid::Blob & shape() const
Definition: SimpleBlob.h:33
float value() const
Definition: SimpleBlob.h:25
ISlice::pointer slice() const
Definition: SimpleBlob.h:31
Definition: Main.h:22
virtual ISlice::pointer slice() const
Definition: SimpleBlob.h:55
ISlice::pointer m_slice
Definition: SimpleBlob.h:60
ISlice::pointer m_slice
Definition: SimpleBlob.h:40