thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
AIDataPointSetFactory.h
1 // -*- C++ -*-
2 //
3 // AIDataPointSetFactory.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_AIDataPointSetFactory_H
10 #define LWH_AIDataPointSetFactory_H
11 
12 
13 
16 namespace AIDA {
17 
18 class IDataPointSet;
19 class IHistogram1D;
20 
21 class IDataPointSetFactory {
22 
23 public:
24  virtual ~IDataPointSetFactory() { /* nop */; }
25  virtual IDataPointSet *
26  create(const std::string &, const std::string &, int ) = 0;
27  virtual IDataPointSet * create(const std::string &, int) = 0;
28  virtual IDataPointSet *
29  createY(const std::string &, const std::string &,
30  const std::vector<double> &, const std::vector<double> &) = 0;
31  virtual IDataPointSet *
32  createY(const std::string &, const std::string &,
33  const std::vector<double> &, const std::vector<double> &,
34  const std::vector<double> &) = 0;
35  virtual IDataPointSet *
36  createY(const std::string &, const std::vector<double> &,
37  const std::vector<double> &) = 0;
38  virtual IDataPointSet *
39  createY(const std::string &, const std::vector<double> &,
40  const std::vector<double> &, const std::vector<double> &) = 0;
41  virtual IDataPointSet *
42  createX(const std::string &, const std::string &,
43  const std::vector<double> &, const std::vector<double> &) = 0;
44  virtual IDataPointSet *
45  createX(const std::string &, const std::string &,
46  const std::vector<double> &, const std::vector<double> &,
47  const std::vector<double> &) = 0;
48  virtual IDataPointSet *
49  createX(const std::string &, const std::vector<double> &,
50  const std::vector<double> &) = 0;
51  virtual IDataPointSet *
52  createX(const std::string &, const std::vector<double> &,
53  const std::vector<double> &, const std::vector<double> &) = 0;
54  virtual IDataPointSet *
55  createXY(const std::string &, const std::string &,
56  const std::vector<double> &, const std::vector<double> &,
57  const std::vector<double> &, const std::vector<double> &,
58  const std::vector<double> &, const std::vector<double> &) = 0;
59  virtual IDataPointSet *
60  createXY(const std::string &, const std::string &,
61  const std::vector<double> &, const std::vector<double> &,
62  const std::vector<double> &, const std::vector<double> &) = 0;
63  virtual IDataPointSet *
64  createXY(const std::string &, const std::vector<double> &,
65  const std::vector<double> &, const std::vector<double> &,
66  const std::vector<double> &, const std::vector<double> &,
67  const std::vector<double> &) = 0;
68  virtual IDataPointSet *
69  createXY(const std::string &, const std::vector<double> &,
70  const std::vector<double> &, const std::vector<double> &,
71  const std::vector<double> &) = 0;
72  virtual IDataPointSet *
73  createXYZ(const std::string &, const std::string &,
74  const std::vector<double> &, const std::vector<double> &,
75  const std::vector<double> &, const std::vector<double> &,
76  const std::vector<double> &, const std::vector<double> &,
77  const std::vector<double> &, const std::vector<double> &,
78  const std::vector<double> &) = 0;
79  virtual IDataPointSet *
80  createXYZ(const std::string &, const std::string &,
81  const std::vector<double> &, const std::vector<double> &,
82  const std::vector<double> &, const std::vector<double> &,
83  const std::vector<double> &, const std::vector<double> &) = 0;
84  virtual IDataPointSet *
85  createXYZ(const std::string &, const std::vector<double> &,
86  const std::vector<double> &, const std::vector<double> &,
87  const std::vector<double> &, const std::vector<double> &,
88  const std::vector<double> &, const std::vector<double> &,
89  const std::vector<double> &, const std::vector<double> &) = 0;
90  virtual IDataPointSet *
91  createXYZ(const std::string &, const std::vector<double> &,
92  const std::vector<double> &, const std::vector<double> &,
93  const std::vector<double> &, const std::vector<double> &,
94  const std::vector<double> &) = 0;
95  virtual IDataPointSet *
96  createCopy(const std::string &, const IDataPointSet &) = 0;
97  virtual bool destroy(IDataPointSet *) = 0;
98  virtual IDataPointSet * create(const std::string &, const IHistogram1D &,
99  const std::string & = "") = 0;
100 
101 };
102 
103 }
104 
111 #endif /* LWH_AIDataPointSetFactory_H */