Anaphe Home Page Reference Documentation

Main Page     Namespaces     Classes     Source Code    

AIDAHist1DVar.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 // 
00004 // Copyright (C) CERN, Geneva 
00005 // 
00006 
00007 #ifndef AIDAHIST1DVAR_H
00008 #define AIDAHIST1DVAR_H
00009 
00010 
00011 
00012 #include <string>
00013 #include <vector>
00014 #include "Interfaces/IHistogram1D.h"
00015 
00016 
00017 
00018 // a kludge
00019 #ifdef AIDA_STD
00020 # undef AIDA_STD
00021 #endif
00022 #ifdef AIDA_NOT_USE_STD
00023 # define AIDA_STD
00024 #else
00025 # define AIDA_STD std
00026 #endif
00027 
00028 
00029 
00030 
00031 namespace Anaphe {
00032 
00033   class CHBookHisto;
00034 
00035   class IAnnotation;
00036   class IAnnotationFactory;
00037   class IHistogramFactory;
00038 
00039   namespace AIDA_HBook {
00040 
00041     class AIDAAxis;
00042 
00043 
00044 
00045     class AIDAHist1DVar : virtual public IHistogram1D 
00046     {
00047     public:
00048       AIDAHist1DVar(const char* name, 
00049                     const AIDA_STD::vector<float>& binEdges, 
00050                     const IAnnotation* = 0, 
00051                     const IHistogramFactory* f = 0);
00052       AIDAHist1DVar(const CHBookHisto*, 
00053                     const IHistogramFactory* = 0);
00054       virtual ~AIDAHist1DVar(void);
00055 
00056     public:
00060       virtual AIDA_STD::string title(void) const;
00061       virtual void setTitle(const AIDA_STD::string& value);
00063       IAnnotation* annotation(void);
00065       virtual int dimensions(void) const;
00067       virtual void reset(void);
00069       virtual int entries(void) const;
00072       virtual int allEntries(void) const;
00074       virtual int extraEntries(void) const;
00077       virtual double equivalentBinEntries(void) const;
00079       virtual double sumBinHeights(void) const;
00081       virtual double sumAllBinHeights(void) const;
00083       virtual double sumExtraBinHeights(void) const;
00085       virtual void fill(double x, double weight = 1);
00087       virtual int binEntries(int index) const;
00089       virtual double binHeight(int index) const;
00091       virtual double binError(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& s) const;
00113       virtual AIDA_STD::ostream& write(AIDA_STD::ostream& s) const;
00115       virtual int write(const char* file_name) const;
00117       const CHBookHisto* 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       CHBookHisto*       histo;   
00132       bool               ownsHist;
00133 
00134     };
00135 
00136   } // end namespace AIDA_HBook
00137 } // end namespace Anaphe
00138 
00139 
00140 #endif // AIDAHIST1DVAR_H


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