thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
AIDataPointSet.h
1// -*- C++ -*-
2//
3// AIDataPointSet.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_AIDataPointSet_H
10#define LWH_AIDataPointSet_H
11
12
13
16namespace AIDA {
17
18class IAnnotation;
19class IDataPoint;
20
29class IDataPointSet {
30
31public:
32 virtual ~IDataPointSet() { /* nop */; }
33 virtual IAnnotation & annotation() = 0;
34 virtual const IAnnotation & annotation() const = 0;
35 virtual std::string title() const = 0;
36 virtual bool setTitle(const std::string & title) = 0;
37 virtual int dimension() const = 0;
38 virtual void clear() = 0;
39 virtual int size() const = 0;
40 virtual IDataPoint * point(int index) = 0;
41 virtual bool setCoordinate(int coord, const std::vector<double> & val, const std::vector<double> & err) = 0;
42 virtual bool setCoordinate(int coord, const std::vector<double> & val, const std::vector<double> & errp, const std::vector<double> & errm) = 0;
43 virtual const IDataPoint * point(int index) const = 0;
44 virtual IDataPoint * addPoint() = 0;
45 virtual bool addPoint(const IDataPoint & point) = 0;
46 virtual bool removePoint(int index) = 0;
47 virtual double lowerExtent(int coord) const = 0;
48 virtual double upperExtent(int coord) const = 0;
49 virtual bool scale(double scaleFactor) = 0;
50 virtual bool scaleValues(double scaleFactor) = 0;
51 virtual bool scaleErrors(double scaleFactor) = 0;
52 virtual void * cast(const std::string & className) const = 0;
53};
54
55}
56
63#endif /* LWH_AIDataPointSet_H */