Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-06 09:38:17

0001 // -*- C++ -*-
0002 //
0003 // AIHistogram1D.h is a part of ThePEG - Toolkit for HEP Event Generation
0004 // Copyright (C) 1999-2019 Leif Lonnblad
0005 //
0006 // ThePEG is licenced under version 3 of the GPL, see COPYING for details.
0007 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
0008 //
0009 #ifndef LWH_AIHistorgram1D_H
0010 #define LWH_AIHistorgram1D_H
0011 
0012 
0013 
0014 /** @cond DONT_DOCUMENT_STRIPPED_DOWN_AIDA_INTERFACES */
0015 
0016 namespace AIDA {
0017 
0018 class IAnnotation;
0019 
0020 class IBaseHistogram {
0021 
0022 public: 
0023 
0024   virtual ~IBaseHistogram() {}
0025 
0026   virtual std::string title() const = 0;
0027   virtual bool setTitle(const std::string & title) = 0;
0028   virtual int dimension() const = 0;
0029   virtual bool reset() = 0;
0030   virtual int entries() const = 0;
0031 
0032 };
0033 
0034 class IHistogram : virtual public IBaseHistogram {
0035 
0036 public: 
0037 
0038   virtual ~IHistogram() {}
0039 
0040   virtual int allEntries() const = 0;
0041   virtual int extraEntries() const = 0;
0042   virtual double equivalentBinEntries() const = 0;
0043   virtual double sumBinHeights() const = 0;
0044   virtual double sumAllBinHeights() const = 0;
0045   virtual double sumExtraBinHeights() const = 0;
0046   virtual double minBinHeight() const = 0;
0047   virtual double maxBinHeight() const = 0;
0048 
0049 };
0050 
0051 class IAxis;
0052 
0053 class IHistogram1D: virtual public IHistogram {
0054 
0055 public:
0056 
0057   virtual ~IHistogram1D() {}
0058 
0059   virtual bool fill(double x, double weight = 1.) = 0;
0060   virtual double binMean(int index) const = 0;
0061   virtual int binEntries(int index) const = 0;
0062   virtual double binHeight(int index) const = 0;
0063   virtual double binError(int index) const = 0;
0064   virtual double mean() const = 0;
0065   virtual double rms() const = 0;
0066   virtual const IAxis & axis() const = 0;
0067   virtual int coordToIndex(double coord) const = 0;
0068   virtual bool add(const IHistogram1D & hist) = 0;
0069   virtual bool scale(double scaleFactor) = 0;
0070 
0071 };
0072 
0073 }
0074 
0075 /** @endcond */
0076 
0077 
0078 
0079 
0080 
0081 #endif /* LWH_AIHistorgram1D_H */