Anaphe Home Page Reference Documentation

Main Page     Namespaces     Classes     Source Code    

AIDAHistogram1D.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //
00004 // (c) CERN, Geneva
00005 //
00006 
00007 #ifndef INCLUDED_AIDAHISTOGRAM1D_H
00008 #define INCLUDED_AIDAHISTOGRAM1D_H 1
00009 
00010 
00011 
00012 #include <string>
00013 #include <vector>
00014 #include "Interfaces/IHistogram1D.h"
00015 
00016 
00017 
00018 
00019 namespace Anaphe {
00020 
00021   class CHBookHisto;
00022 
00023   class IAnnotation;
00024   class IAnnotationFactory;
00025   class IHistogramFactory;
00026 
00027   class HistoParameters1D;
00028 
00029   namespace AIDA_HBook {
00030 
00031     class AIDAAxis;
00032 
00033     //------------------------------------------------------------------------------
00034     //
00035     // ClassName:   AIDAHistogram1D 
00036     //  
00037     // Description: Definition of general 1D histogram
00038     //              It implements functions form the interface IHistogram1D
00039     //
00040     //              The implementation is based on the CHBook classes originally
00041     //              written by Th. Ullrich.
00042     //
00043     // Author:      Andreas Pfeiffer
00044     //
00045     //------------------------------------------------------------------------------
00046 
00047 
00048     class AIDAHistogram1D : virtual public IHistogram1D {
00049 
00050     public:
00051 
00055 
00056       AIDAHistogram1D(const char* name, 
00057                       const int& nBinsX, const double& xMin, const double& xMax,
00058                       const Anaphe::IAnnotation* ann = 0, const Anaphe::IHistogramFactory* f = 0);
00059 
00060       AIDAHistogram1D(const CHBookHisto*, const Anaphe::IHistogramFactory* = 0);
00061 
00062       AIDAHistogram1D(const HistoParameters1D & hp, const Anaphe::IAnnotation* ann = 0, const Anaphe::IHistogramFactory* = 0);
00063 
00067 
00068       virtual ~AIDAHistogram1D();
00069 
00070     public:
00071 
00072 
00076 
00077 
00081 
00085       virtual std::string title() const;
00086 
00087       virtual void setTitle(const std::string& value );
00088 
00090       Anaphe::IAnnotation * annotation();
00091 
00093       virtual int dimensions() const;
00094 
00096       virtual void reset();
00097 
00101 
00103       virtual int entries() const;
00104 
00107       virtual int allEntries() const;
00108 
00110       virtual int extraEntries() const;
00111 
00115 
00117       virtual void fill( double x, double weight = 1 );
00118 
00121       virtual double equivalentBinEntries() const;
00122 
00126 
00128       virtual double sumBinHeights() const;
00129 
00131       virtual double sumAllBinHeights() const;
00132 
00134       virtual double sumExtraBinHeights() const;
00135 
00139 
00140 
00145 
00147       virtual int binEntries( int index ) const;
00148 
00150       virtual double binHeight( int index ) const;
00151 
00153       virtual double binError( int index ) const;
00154 
00158 
00161       virtual double mean() const;
00162 
00165       virtual double rms() const;
00166 
00170 
00172       virtual double minBinHeight() const;
00173 
00175       virtual int minBin() const;
00176 
00178       virtual double maxBinHeight() const;
00179 
00181       virtual int maxBin() const;
00182 
00186 
00188       virtual IAxis* xAxis() const;
00189 
00193 
00195       virtual int coordToIndex( double coord ) const;
00196 
00200 
00203   
00205       virtual std::ostream& print(std::ostream& s) const;
00206 
00209 
00211       virtual std::ostream& write(std::ostream& s) const;
00212 
00214       virtual int write( const char* file_name ) const;
00215 
00217       const CHBookHisto* representation(void) const;
00218 
00219     private:
00220   
00224 
00227       virtual int checkIndex( int index ) const;
00228       virtual int getIntFromString(const std::string&) const;
00229       virtual std::string getStringFromInt(const int&) const;
00230 
00231     private:
00232       void notYetMessage(const std::string& featureName) const;
00233       void crisisMessage(const std::string& featureName) const;
00234 
00235     private:
00236       AIDAAxis*           axis;
00237       IAnnotation*        ann;
00238       IHistogramFactory*  factory;
00239       CHBookHisto*        histo;
00240       bool                ownsHist;
00241 
00242     };
00243   }
00244 }
00245 
00246 #endif    // INCLUDED_AIDAHISTOGRAM1D_H


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