Anaphe Home Page Reference Documentation

Main Page     Namespaces     Classes     Source Code    

IHistogram2D.h

Go to the documentation of this file.
00001 
00002 #ifndef INTERFACES_IHISTOGRAM2D_H
00003 #define INTERFACES_IHISTOGRAM2D_H 1
00004 
00005 
00006 // Include files
00007 #include "Interfaces/IHistogram.h"
00008 
00009 #ifndef ANAPHE_NO_NAMESPACE
00010 namespace Anaphe {
00011 #endif
00012 
00013   // Forward declarations
00014   class IHistogram1D;
00015 
00016 
00017   //------------------------------------------------------------------------------
00018   //
00019   // ClassName:    IHistogram2D
00020   //  
00021   // Description:  Definition of the IHistogram2D interface class
00022   //
00023   //               All methods that accept a bin number as an argument will
00024   //               also accept the UNDERFLOW or OVERFLOW as the argument,
00025   //               and as a result will give the contents of the resulting
00026   //               UNDERFLOW or OVERFLOW bin.
00027   //               The in-range bin indeces are expected to be from 0 to N-1.
00028   //               See also <a href="http://wwwinfo.cern.ch/asd/lhc++/AIDA/">AIDA</a>
00029   //
00030   // Authors:      Pavel Binko, Dino Ferrero Merlino, Andreas Pfeiffer
00031   // Date:         04/02/2000
00032   //
00033   //------------------------------------------------------------------------------
00034 
00035 
00036   class IHistogram2D : virtual public IHistogram {
00037 
00038   public:
00039     virtual ~IHistogram2D() { /* nop */ }
00040 
00041   public:
00043     virtual void fill( double x, double y, double weight = 1 )                = 0;
00045     virtual int binEntries( int indexX, int indexY ) const                    = 0;
00048     virtual int binEntriesX( int indexX ) const                               = 0;
00050     virtual int binEntriesY( int indexY ) const                               = 0;
00052     virtual double binHeight( int indexX, int indexY ) const                  = 0;
00055     virtual double binHeightX( int indexX ) const                             = 0;
00057     virtual double binHeightY( int indexY ) const                             = 0;
00059     virtual double binError( int indexX, int indexY ) const                   = 0;
00062     virtual double meanX() const                                              = 0;
00063     virtual double meanY() const                                              = 0;
00066     virtual double rmsX() const                                               = 0;
00067     virtual double rmsY() const                                               = 0;
00069     virtual double minBinHeight() const                                       = 0;
00071     virtual int minBinX() const                                               = 0;
00073     virtual int minBinY() const                                               = 0;
00075     virtual double maxBinHeight() const                                       = 0;
00077     virtual int maxBinX() const                                               = 0;
00079     virtual int maxBinY() const                                               = 0;
00081     virtual IAxis* xAxis() const                                              = 0;
00083     virtual IAxis* yAxis() const                                              = 0;
00085     virtual int coordToIndexX( double coordX ) const                          = 0;
00087     virtual int coordToIndexY( double coordY ) const                          = 0;
00090     virtual IHistogram1D* projectionX() const                                 = 0;
00093     virtual IHistogram1D* projectionY() const                                 = 0;
00096     virtual IHistogram1D* sliceX( int indexY ) const                          = 0;
00099     virtual IHistogram1D* sliceY( int indexX ) const                          = 0;
00101     virtual IHistogram1D* sliceX( int indexY1, int indexY2 ) const            = 0;
00103     virtual IHistogram1D* sliceY( int indexX1, int indexX2 ) const            = 0;
00104 
00105   };
00106 
00107 
00108 #ifndef ANAPHE_NO_NAMESPACE
00109 }; // end namespace Anaphe
00110 #endif
00111 
00112 #endif    // INTERFACES_IHISTOGRAM2D_H
00113 


Anaphe documentation generated by Doxygen (www.doxygen.org)