thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
AIHistogram2D.h
1 // -*- C++ -*-
2 //
3 // AIHistogram2D.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2019 Leif Lonnblad
5 //
6 // ThePEG is licenced under version 3 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef LWH_AIHistogram2D_H
10 #define LWH_AIHistogram2D_H
11 
12 
13 
16 #include "AIHistogram1D.h"
17 
18 namespace AIDA {
19 
20 class IAxis;
21 
22 class IHistogram2D : virtual public IHistogram {
23 
24 public:
25 
26  virtual ~IHistogram2D() { /* nop */; }
27 
37  virtual bool fill(double x, double y, double weight = 1.) = 0;
38 
46  virtual double binMeanX(int indexX, int indexY) const = 0;
47 
55  virtual double binMeanY(int indexX, int indexY) const = 0;
56 
64  virtual int binEntries(int indexX, int indexY) const = 0;
65 
73  virtual int binEntriesX(int index) const = 0;
74 
82  virtual int binEntriesY(int index) const = 0;
83 
91  virtual double binHeight(int indexX, int indexY) const = 0;
92 
100  virtual double binHeightX(int index) const = 0;
101 
109  virtual double binHeightY(int index) const = 0;
110 
118  virtual double binError(int indexX, int indexY) const = 0;
119 
125  virtual double meanX() const = 0;
126 
132  virtual double meanY() const = 0;
133 
139  virtual double rmsX() const = 0;
140 
146  virtual double rmsY() const = 0;
147 
153  virtual const IAxis & xAxis() const = 0;
154 
160  virtual const IAxis & yAxis() const = 0;
161 
170  virtual int coordToIndexX(double coord) const = 0;
171 
180  virtual int coordToIndexY(double coord) const = 0;
181 
188  virtual bool add(const IHistogram2D & hist) = 0;
189 
190  virtual bool scale(double scaleFactor) = 0;
191 
192 
193 }; // class
194 } // namespace AIDA
201 #endif /* LWH_AIHistogram2D_H */
202