#ifndef JASHISTOGRAM2D_H #define JASHISTOGRAM2D_H #if defined(G4ANALYSIS_BUILD_JAS) #include #include "JasAxis.h" class JasHistogramFactory; class JasHistogram2D : public IHistogram2D { public: // IHistogram IMethods : virtual std_string title() const; virtual int dimensions() const; virtual int entries() const; virtual int allEntries() const; virtual int extraEntries() const; virtual double equivalentBinEntries() const; virtual double sumBinHeights() const; virtual double sumAllBinHeights() const; virtual double sumExtraBinHeights() const; virtual double minBinHeight() const; virtual double maxBinHeight() const; virtual void reset(); virtual IAnnotation* annotation(); public: // IHistogram2D IMethods : virtual void fill( double x, double y, double weight = 1 ); virtual int binEntries( int indexX, int indexY ) const; virtual int binEntriesX( int indexX ) const; virtual int binEntriesY( int indexY ) const; virtual double binHeight( int indexX, int indexY ) const; virtual double binHeightX( int indexX ) const; virtual double binHeightY( int indexY ) const; virtual double binError( int indexX, int indexY ) const; virtual double meanX() const; virtual double meanY() const; virtual double rmsX() const; virtual double rmsY() const; virtual int minBinX() const; virtual int minBinY() const; virtual int maxBinX() const; virtual int maxBinY() const; virtual const IAxis& xAxis() const; virtual const IAxis& yAxis() const; virtual int coordToIndexX( double coordX ) const; virtual int coordToIndexY( double coordY ) const; virtual IHistogram1D* projectionX() const; virtual IHistogram1D* projectionY() const; virtual IHistogram1D* sliceX( int indexY ) const; virtual IHistogram1D* sliceY( int indexX ) const; virtual IHistogram1D* sliceX( int indexY1, int indexY2 ) const; virtual IHistogram1D* sliceY( int indexX1, int indexX2 ) const; public: JasHistogram2D(JasHistogramFactory *factory, const char *title); virtual ~JasHistogram2D(); private: jmethodID fillMethod; jobject fJasHist; JNIEnv* fEnv; JasAxis fAxis; std_string fTitle; }; #endif #endif