thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
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
18namespace AIDA {
19
20class IAxis;
21
22class IHistogram2D : virtual public IHistogram {
23
24public:
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