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