00001
00002 #ifndef ANAPHE_GRAVITYBIN2D
00003 #define ANAPHE_GRAVITYBIN2D 1
00004
00005 #include "GravityBin1D.h"
00006
00007 namespace Anaphe {
00008 namespace AIDA_Histogram_native {
00009
00011
00012 class GravityBin2D : public GravityBin1D
00013 {
00014 public:
00016 GravityBin2D();
00018 ~GravityBin2D() { ; }
00023 bool fill( double weight, double coordX, double coordY );
00025 bool reset();
00027 bool scale( double factor );
00029 bool increment( const GravityBin2D& otherBin );
00030 bool increment( int extraEntries,
00031 double extraHeight,
00032 double extraError,
00033 double extraCentreX,
00034 double extraCentreY );
00036 bool set( int entriesNew,
00037 double heightNew,
00038 double errorNew,
00039 double centreXNew,
00040 double centreYNew );
00042 double centreOfGravityY() const;
00043
00044 private:
00045 double m_sumOfWeightTimesCoord;
00046 };
00047
00048 }
00049 }
00050
00051 #include "GravityBin2D.inl"
00052
00053 #endif