IHistogramSet.hpp
1 #ifndef DM_IHISTROGRAM_SET_HPP_INCLUDED
2 #define DM_IHISTROGRAM_SET_HPP_INCLUDED
3 
4 #ifdef _MSC_VER
5  #pragma once
6 #endif
7 
8 #include "DM/config.hpp"
9 #include "DM/Handle.hpp"
10 #include "DM/ObjectBase.hpp"
11 #include "DM/InsertIterator.hpp"
12 #include "DM/IHistogram.hpp"
13 
14 DM_NAMESPACE_BEGIN
15 
16 /// \brief Interface to a set of histograms
17 class DM_API IHistogramSet : public ObjectBase
18 {
19 public:
20  // Iterator typedefs ============================================================================
22 
23  virtual ~IHistogramSet() {}
24 
25  // General memeber functions ====================================================================
26  virtual int64_t size() const = 0; ///< number histograms stored in the
27 
28  virtual const IAddInfoLayout& layout() const = 0; ///< layout representing the different histograms stored in the object
29 
30  virtual const_iterator beginHistogram() const = 0;
31  virtual const_iterator endHistogram() const = 0;
32 };
33 
35 
36 
37 DM_NAMESPACE_END
38 
39 
40 #endif //DM_IHISTROGRAM_SET_HPP_INCLUDED