thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
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 
16 namespace AIDA {
17 
18 class IAnnotation;
19 class IDataPoint;
20 
29 class IDataPointSet {
30 
31 public:
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 */