thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
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
16namespace AIDA {
17
18class IDataPointSet;
19class IHistogram1D;
20
21class IDataPointSetFactory {
22
23public:
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 */