IHistogramSet.hpp
1 #pragma once
2 
3 
4 #include "DM/config.hpp"
5 #include "DM/Handle.hpp"
6 #include "DM/ObjectBase.hpp"
7 #include "DM/InsertIterator.hpp"
8 #include "DM/IHistogram.hpp"
9 
10 DM_NAMESPACE_BEGIN
11 
12 /// \brief Interface to a set of histograms
13 class DM_API IHistogramSet : public ObjectBase
14 {
15 public:
16  static HistogramHandle cloneHistogram(Handle< IHistogramSet > &container, size_t idx);
17 
18  // Iterator typedefs ============================================================================
20 
21  virtual ~IHistogramSet() {}
22 
23  // General member functions ====================================================================
24  virtual int64_t size() const = 0; ///< number histograms stored in the
25 
26  virtual const IAddInfoLayout& layout() const = 0; ///< layout representing the different histograms stored in the object
27 
28  virtual const_iterator beginHistogram() const = 0;
29  virtual const_iterator endHistogram() const = 0;
30 
31 };
32 
34 
35 
36 DM_NAMESPACE_END
Definition: Iterator.hpp:96
AddInfo layouts describe a set of attributes that can be attached to geometry objects.
Definition: IAddInfoLayout.hpp:18
Interface to a set of histograms.
Definition: IHistogramSet.hpp:13
Smart pointer class using reference counting with support for DM objects (see ObjectBase)
Definition: Handle.hpp:75
Definition: M/c++_api/inc/DM/ObjectBase.hpp:8