![]() |
Reference Documentation |
00001 #ifndef _I_HISTO_H_ 00002 #define _I_HISTO_H_ 1 00003 00004 #include "HTL/H_Types.h" 00005 #include "HTL/Extra_Bin_Indexes.h" 00006 #include "HTL/I_Partition.h" 00007 #include "HTL/I_Bin.h" 00008 #include "HTL/HTL_std.h" 00009 00010 # include <vector> 00011 00012 00020 class I_Histo 00021 { 00022 public: 00023 // Constant specifying the underflow and overflow bin (see AIDA) 00024 enum { UNDERFLOW_BIN = -2, OVERFLOW_BIN = -1 }; 00025 public: 00027 H_IID_IMPLEMENT( I_Histo ); 00028 public: 00029 typedef HTL_STD::vector < Index > I_Bin_Location; 00030 typedef HTL_STD::vector < Extra_Index > I_Extra_Bin_Location; 00031 protected: 00032 I_Histo() {} 00033 virtual ~I_Histo() {} 00034 public: 00036 virtual const char *name() const = 0; 00037 00039 virtual I_Bin & i_bin( I_Bin_Location &a_location ) = 0; 00040 00042 virtual I_Bin & i_bin ( I_Bin_Location &a_location ) const = 0 ; 00043 00047 virtual I_Bin & i_extra_bin( I_Extra_Bin_Location &a_location ) = 0; 00048 00052 virtual I_Bin & i_extra_bin ( I_Extra_Bin_Location &a_location ) const = 0 ; 00053 00055 virtual Size bin_count() const = 0; 00056 00058 virtual Size extra_bin_count() const = 0; 00059 00061 virtual Size dim() const = 0; 00062 00067 virtual I_Partition & i_partition( Index p = 0 ) = 0; 00068 00075 virtual I_Partition & i_partition( Index p = 0 ) const = 0; 00076 00078 virtual void reset() = 0; 00079 00084 virtual void start_update() = 0; 00085 00086 public: 00090 virtual I_Bin & i_bin( Index i ) = 0; 00091 00095 virtual I_Bin & i_bin( Index i ) const = 0; 00096 00098 virtual int version() const = 0; 00104 virtual I_Bin & i_any_bin ( I_Bin_Location &a_location ) const = 0 ; 00105 }; 00106 00107 00108 #endif // _I_HISTO_H_ 00109
Anaphe documentation generated by Doxygen (www.doxygen.org) |