Anaphe Home Page Reference Documentation

Main Page     Namespaces     Classes     Source Code    

AIDAProfileHist.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 // 
00004 // Copyright (C) CERN, Geneva 
00005 // 
00006 
00007 #ifndef AIDAPROFILEHIST_H
00008 #define AIDAPROFILEHIST_H
00009 
00010 
00011 
00012 #include <iostream>
00013 #include <string>
00014 #include "Interfaces/IProfileHistogram.h"
00015 
00016 
00017 
00018 #ifdef AIDA_STD
00019 #undef AIDA_STD
00020 #endif
00021 #ifdef AIDA_NOT_USE_STD
00022 #define AIDA_STD
00023 #else
00024 #define AIDA_STD std
00025 #endif
00026 
00027 
00028 
00029 
00030 namespace Anaphe {
00031 
00032   class CHBookProfile;
00033 
00034   class IAnnotation;
00035   class IAnnotationFactory;
00036   class IHistogramFactory;
00037 
00038   namespace AIDA_HBook {
00039 
00040     class AIDAAxis;
00041 
00042     class AIDAProfileHist : virtual public IProfileHistogram 
00043     {
00044     public:
00045       AIDAProfileHist(const char* name   = " ",
00046                       const int& nBinsX  = 2, 
00047                       const double& lowX = 0.0, const double& highX = 1.0,
00048                       const double& lowY = 0.0, const double& highY = 1.0,
00049                       const IAnnotation* = 0, 
00050                       const IHistogramFactory* = 0);
00051       AIDAProfileHist(const CHBookProfile*, const IHistogramFactory* = 0);
00052       virtual ~AIDAProfileHist(void);
00053 
00054     public:
00058       virtual AIDA_STD::string title(void) const;
00059       virtual void setTitle(const AIDA_STD::string&);
00061       IAnnotation* annotation(void);
00063       virtual int dimensions(void) const;
00065       virtual void reset(void);
00067       virtual int entries(void) const;
00070       virtual int allEntries(void) const;
00072       virtual int extraEntries(void) const;
00075       virtual double equivalentBinEntries(void) const;
00077       virtual double sumBinHeights(void) const;
00079       virtual double sumAllBinHeights(void) const;
00081       virtual double sumExtraBinHeights(void) const;
00083       virtual void fill(double x, double y, double weight = 1.0);
00085       virtual int binEntries(int index) const;
00087       virtual double binHeight(int index) const;
00089       virtual double binError(int index) const;
00091       virtual double binSpread(int index) const;
00094       virtual double mean(void) const;
00097       virtual double rms(void) const;
00099       virtual double minBinHeight(void) const;
00101       virtual int minBin(void) const;
00103       virtual double maxBinHeight(void) const;
00105       virtual int maxBin(void) const;
00107       virtual IAxis* xAxis(void) const;
00109       virtual int coordToIndex(double coord) const;
00111       virtual AIDA_STD::ostream& print(AIDA_STD::ostream& = AIDA_STD::cout) const;
00113       virtual AIDA_STD::ostream& write(AIDA_STD::ostream& = AIDA_STD::cout) const;
00115       virtual int write(const char* filename) const;
00117       const CHBookProfile* representation(void) const;
00118 
00119     private:
00122       virtual int checkIndex(int index) const;
00123       virtual int getIntFromString(const AIDA_STD::string&) const;
00124       virtual AIDA_STD::string getStringFromInt(const int&) const;
00125       void crisisMessage(const AIDA_STD::string& featureName) const;
00126 
00127     private:
00128       AIDAAxis*          axis;
00129       IAnnotation*       ann;
00130       IHistogramFactory* factory;
00131       CHBookProfile*     histo;  
00132       bool               ownsHist;
00133 
00134     };
00135 
00136   } // end namespace AIDA_HBook
00137 } // end namespace Anaphe
00138 
00139 
00140 #endif // AIDAPROFILEHIST_H


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