Anaphe Home Page Reference Documentation

Main Page     Namespaces     Classes     Source Code    

I_Histo.h

Go to the documentation of this file.
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)