sventon subversion web client - http://www.sventon.org
[show recent changes]
 
  Help
HEAD
Rev: 10093 - svn://svn.freehep.org/svn / freehep / cvs / aidainclude / tags / AIDA-33-BRANCH-pre-merge-1 / AIDA / IDataPointSetFactory.h
Show File - IDataPointSetFactory.h  [show properties]
Search for Help
spinner
// -*- C++ -*-
// AID-GENERATED
// =========================================================================
// This class was generated by AID - Abstract Interface Definition
// DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it.
// =========================================================================
#ifndef AIDA_IDATAPOINTSETFACTORY_H
#define AIDA_IDATAPOINTSETFACTORY_H 1
10  // This file is part of the AIDA library
11  // Copyright (C) 2002 by the AIDA team. All rights reserved.
12  // This library is free software and under the terms of the
13  // GNU Library General Public License described in the LGPL.txt
14 
15  #include <string>
16  #include <vector>
17 
18  namespace AIDA {
19 
20  class ICloud1D;
21  class ICloud2D;
22  class ICloud3D;
23  class IDataPointSet;
24  class IHistogram1D;
25  class IHistogram2D;
26  class IHistogram3D;
27  class IProfile1D;
28  class IProfile2D;
29 
30  /**
31   * Basic user-level interface for creating a factory
32   * of IDataPointSet.
33   *
34   * @author The AIDA team (http://aida.freehep.org/)
35   *
36   */
37 
38  class IDataPointSetFactory {
39 
40  public:
41      /// Destructor.
42      virtual ~IDataPointSetFactory() { /* nop */; }
43 
44      /**
45       * Create an empty IDataPointSet.
46       * @param path The path of the IDataPointSet. The path can either be a relative or full path.
47       * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths).
48       * All the directories in the path must exist. The characther `/` cannot be used
49       * in names; it is only used to delimit directories within paths.
50       * @param title The title of the IDataPointSet.
51       * @param dimOfPoints The dimension of the IDataPoints that can be stored in the set.
52       * @return The newly created IDataPointSet.
53       *
54       */
55      virtual IDataPointSet * create(const std::string & path, const std::string & title, int dimOfPoints) = 0;
56 
57      /**
58       * Create an empty IDataPointSet.
59       * @param pathAndTitle The path of the IDataPointSet. The path can either be a relative or full path.
60       * The last part of the path is used as the title.
61       * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths).
62       * All the directories in the path must exist. The characther `/` cannot be used
63       * in names; it is only used to delimit directories within paths.
64       * @param dimOfPoints The dimension of the IDataPoints that can be stored in the set.
65       * @return The newly created IDataPointSet.
66       *
67       */
68      virtual IDataPointSet * create(const std::string & pathAndTitle, int dimOfPoints) = 0;
69 
70      /**
71       * Create a two dimensional IDataPointSet providing the data along y (the x value is
72       * the index of the y value in the array).
73       * @param path The path of the IDataPointSet. The path can either be a relative or full path.
74       * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths).
75       * All the directories in the path must exist. The characther `/` cannot be used
76       * in names; it is only used to delimit directories within paths.
77       * @param title The title of the IDataPointSet.
78       * @param y The array of the y values
79       * @param ey The array with the symmetric errors on y
80       * @return The created IDataPointSet.
81       *
82       */
83      virtual IDataPointSet * createY(const std::string & path, const std::string & title, const std::vector<double> & y, const std::vector<double> & ey) = 0;
84 
85      /**
86       * Create a two dimensional IDataPointSet providing the data along y (the x value is
87       * the index of the y value in the array).
88       * @param path The path of the IDataPointSet. The path can either be a relative or full path.
89       * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths).
90       * All the directories in the path must exist. The characther `/` cannot be used
91       * in names; it is only used to delimit directories within paths.
92       * @param title The title of the IDataPointSet.
93       * @param y The array of the y values
94       * @param eyp The array with the plus errors on y
95       * @param eym The array with the minus errors on y
96       * @return The created IDataPointSet.
97       *
98       */
99      virtual IDataPointSet * createY(const std::string & path, const std::string & title, const std::vector<double> & y, const std::vector<double> & eyp, const std::vector<double> & eym) = 0;
100 
101      /**
102       * Create a two dimensional IDataPointSet providing the data along y (the x value is
103       * the index of the y value in the array).
104       * @param pathAndTitle The path of the IDataPointSet. The path can either be a relative or full path.
105       * The last part of the path is used as the title.
106       * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths).
107       * All the directories in the path must exist. The characther `/` cannot be used
108       * in names; it is only used to delimit directories within paths.
109       * @param y The array of the y values
110       * @param ey The array with the symmetric errors on y
111       * @return The created IDataPointSet.
112       *
113       */
114      virtual IDataPointSet * createY(const std::string & pathAndTitle, const std::vector<double> & y, const std::vector<double> & ey) = 0;
115 
116      /**
117       * Create a two dimensional IDataPointSet providing the data along y (the x value is
118       * the index of the y value in the array).
119       * @param pathAndTitle The path of the IDataPointSet. The path can either be a relative or full path.
120       * The last part of the path is used as the title.
121       * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths).
122       * All the directories in the path must exist. The characther `/` cannot be used
123       * in names; it is only used to delimit directories within paths.
124       * @param y The array of the y values
125       * @param eyp The array with the plus errors on y
126       * @param eym The array with the minus errors on y
127       * @return The created IDataPointSet.
128       *
129       */
130      virtual IDataPointSet * createY(const std::string & pathAndTitle, const std::vector<double> & y, const std::vector<double> & eyp, const std::vector<double> & eym) = 0;
131 
132      /**
133       * Create a two dimensional IDataPointSet providing the data along x (the y value is
134       * the index of the x value in the array).
135       * @param path The path of the IDataPointSet. The path can either be a relative or full path.
136       * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths).
137       * All the directories in the path must exist. The characther `/` cannot be used
138       * in names; it is only used to delimit directories within paths.
139       * @param title The title of the IDataPointSet.
140       * @param x The array of the x values
141       * @param ex The array with the symmetric errors on x
142       * @return The created IDataPointSet.
143       *
144       */
145      virtual IDataPointSet * createX(const std::string & path, const std::string & title, const std::vector<double> & x, const std::vector<double> & ex) = 0;
146 
147      /**
148       * Create a two dimensional IDataPointSet providing the data along x (the y value is
149       * the index of the x value in the array).
150       * @param path The path of the IDataPointSet. The path can either be a relative or full path.
151       * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths).
152       * All the directories in the path must exist. The characther `/` cannot be used
153       * in names; it is only used to delimit directories within paths.
154       * @param title The title of the IDataPointSet.
155       * @param x The array of the x values
156       * @param exp The array with the plus errors on x
157       * @param exm The array with the minus errors on x
158       * @return The created IDataPointSet.
159       *
160       */
161      virtual IDataPointSet * createX(const std::string & path, const std::string & title, const std::vector<double> & x, const std::vector<double> & exp, const std::vector<double> & exm) = 0;
162 
163      /**
164       * Create a two dimensional IDataPointSet providing the data along x (the y value is
165       * the index of the x value in the array).
166       * @param pathAndTitle The path of the IDataPointSet. The path can either be a relative or full path.
167       * The last part of the path is used as the title.
168       * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths).
169       * All the directories in the path must exist. The characther `/` cannot be used
170       * in names; it is only used to delimit directories within paths.
171       * @param x The array of the x values
172       * @param ex The array with the symmetric errors on x
173       * @return The created IDataPointSet.
174       *
175       */
176      virtual IDataPointSet * createX(const std::string & pathAndTitle, const std::vector<double> & x, const std::vector<double> & ex) = 0;
177 
178      /**
179       * Create a two dimensional IDataPointSet providing the data along x (the y value is
180       * the index of the x value in the array).
181       * @param pathAndTitle The path of the IDataPointSet. The path can either be a relative or full path.
182       * The last part of the path is used as the title.
183       * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths).
184       * All the directories in the path must exist. The characther `/` cannot be used
185       * in names; it is only used to delimit directories within paths.
186       * @param x The array of the x values
187       * @param exp The array with the plus errors on x
188       * @param exm The array with the minus errors on x
189       * @return The created IDataPointSet.
190       *
191       */
192      virtual IDataPointSet * createX(const std::string & pathAndTitle, const std::vector<double> & x, const std::vector<double> & exp, const std::vector<double> & exm) = 0;
193 
194      /**
195       * Create a two dimensional IDataPointSet providing the data.
196       * @param path The path of the IDataPointSet. The path can either be a relative or full path.
197       * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths).
198       * All the directories in the path must exist. The characther `/` cannot be used
199       * in names; it is only used to delimit directories within paths.
200       * @param title The title of the IDataPointSet.
201       * @param x The array of the x values
202       * @param y The array of the y values
203       * @param exp The array with the plus errors on x
204       * @param eyp The array with the plus errors on y
205       * @param exm The array with the minus errors on x
206       * @param eym The array with the minus errors on y
207       * @return The created IDataPointSet.
208       *
209       */
210      virtual IDataPointSet * createXY(const std::string & path, const std::string & title, const std::vector<double> & x, const std::vector<double> & y, const std::vector<double> & exp, const std::vector<double> & eyp, const std::vector<double> & exm, const std::vector<double> & eym) = 0;
211 
212      /**
213       * Create a two dimensional IDataPointSet providing the data.
214       * @param path The path of the IDataPointSet. The path can either be a relative or full path.
215       * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths).
216       * All the directories in the path must exist. The characther `/` cannot be used
217       * in names; it is only used to delimit directories within paths.
218       * @param title The title of the IDataPointSet.
219       * @param x The array of the x values
220       * @param y The array of the y values
221       * @param ex The array with the symmetric errors on x
222       * @param ey The array with the symmetric errors on y
223       * @return The created IDataPointSet.
224       *
225       */
226      virtual IDataPointSet * createXY(const std::string & path, const std::string & title, const std::vector<double> & x, const std::vector<double> & y, const std::vector<double> & ex, const std::vector<double> & ey) = 0;
227 
228      /**
229       * Create a two dimensional IDataPointSet providing the data.
230       * @param pathAndTitle The path of the IDataPointSet. The path can either be a relative or full path.
231       * The last part of the path is used as the title.
232       * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths).
233       * All the directories in the path must exist. The characther `/` cannot be used
234       * in names; it is only used to delimit directories within paths.
235       * @param x The array of the x values
236       * @param y The array of the y values
237       * @param exp The array with the plus errors on x
238       * @param eyp The array with the plus errors on y
239       * @param exm The array with the minus errors on x
240       * @param eym The array with the minus errors on y
241       * @return The created IDataPointSet.
242       *
243       */
244      virtual IDataPointSet * createXY(const std::string & pathAndTitle, const std::vector<double> & x, const std::vector<double> & y, const std::vector<double> & exp, const std::vector<double> & eyp, const std::vector<double> & exm, const std::vector<double> & eym) = 0;
245 
246      /**
247       * Create a two dimensional IDataPointSet providing the data.
248       * @param pathAndTitle The path of the IDataPointSet. The path can either be a relative or full path.
249       * The last part of the path is used as the title.
250       * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths).
251       * All the directories in the path must exist. The characther `/` cannot be used
252       * in names; it is only used to delimit directories within paths.
253       * @param x The array of the x values
254       * @param y The array of the y values
255       * @param ex The array with the symmetric errors on x
256       * @param ey The array with the symmetric errors on y
257       * @return The created IDataPointSet.
258       *
259       */
260      virtual IDataPointSet * createXY(const std::string & pathAndTitle, const std::vector<double> & x, const std::vector<double> & y, const std::vector<double> & ex, const std::vector<double> & ey) = 0;
261 
262      /**
263       * Create a three dimensional IDataPointSet providing the data.
264       * @param path The path of the IDataPointSet. The path can either be a relative or full path.
265       * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths).
266       * All the directories in the path must exist. The characther `/` cannot be used
267       * in names; it is only used to delimit directories within paths.
268       * @param title The title of the IDataPointSet.
269       * @param x The array of the x values
270       * @param y The array of the y values
271       * @param z The array of the z values
272       * @param exp The array with the plus errors on x
273       * @param eyp The array with the plus errors on y
274       * @param ezp The array with the plus errors on z
275       * @param exm The array with the minus errors on x
276       * @param eym The array with the minus errors on y
277       * @param ezm The array with the minus errors on z
278       * @return The created IDataPointSet.
279       *
280       */
281      virtual IDataPointSet * createXYZ(const std::string & path, const std::string & title, const std::vector<double> & x, const std::vector<double> & y, const std::vector<double> & z, const std::vector<double> & exp, const std::vector<double> & eyp, const std::vector<double> & ezp, const std::vector<double> & exm, const std::vector<double> & eym, const std::vector<double> & ezm) = 0;
282 
283      /**
284       * Create a three dimensional IDataPointSet providing the data.
285       * @param path The path of the IDataPointSet. The path can either be a relative or full path.
286       * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths).
287       * All the directories in the path must exist. The characther `/` cannot be used
288       * in names; it is only used to delimit directories within paths.
289       * @param title The title of the IDataPointSet.
290       * @param x The array of the x values
291       * @param y The array of the y values
292       * @param z The array of the z values
293       * @param ex The array with the symmetric errors on x
294       * @param ey The array with the symmetric errors on y
295       * @param ez The array with the symmetric errors on z
296       * @return The created IDataPointSet.
297       *
298       */
299      virtual IDataPointSet * createXYZ(const std::string & path, const std::string & title, const std::vector<double> & x, const std::vector<double> & y, const std::vector<double> & z, const std::vector<double> & ex, const std::vector<double> & ey, const std::vector<double> & ez) = 0;
300 
301      /**
302       * Create a two dimensional IDataPointSet providing the data.
303       * @param pathAndTitle The path of the IDataPointSet. The path can either be a relative or full path.
304       * The last part of the path is used as the title.
305       * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths).
306       * All the directories in the path must exist. The characther `/` cannot be used
307       * in names; it is only used to delimit directories within paths.
308       * @param x The array of the x values
309       * @param y The array of the y values
310       * @param z The array of the z values
311       * @param exp The array with the plus errors on x
312       * @param eyp The array with the plus errors on y
313       * @param ezp The array with the plus errors on z
314       * @param exm The array with the minus errors on x
315       * @param eym The array with the minus errors on y
316       * @param ezm The array with the minus errors on z
317       * @return The created IDataPointSet.
318       *
319       */
320      virtual IDataPointSet * createXYZ(const std::string & pathAndTitle, const std::vector<double> & x, const std::vector<double> & y, const std::vector<double> & z, const std::vector<double> & exp, const std::vector<double> & eyp, const std::vector<double> & ezp, const std::vector<double> & exm, const std::vector<double> & eym, const std::vector<double> & ezm) = 0;
321 
322      /**
323       * Create a two dimensional IDataPointSet providing the data.
324       * @param pathAndTitle The path of the IDataPointSet. The path can either be a relative or full path.
325       * The last part of the path is used as the title.
326       * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths).
327       * All the directories in the path must exist. The characther `/` cannot be used
328       * in names; it is only used to delimit directories within paths.
329       * @param x The array of the x values
330       * @param y The array of the y values
331       * @param z The array of the z values
332       * @param exp The array with the symmetric errors on x
333       * @param eyp The array with the symmetric errors on y
334       * @param ezp The array with the symmetric errors on z
335       * @return The created IDataPointSet.
336       *
337       */
338      virtual IDataPointSet * createXYZ(const std::string & pathAndTitle, const std::vector<double> & x, const std::vector<double> & y, const std::vector<double> & z, const std::vector<double> & ex, const std::vector<double> & ey, const std::vector<double> & ez) = 0;
339 
340      /**
341       * Make a copy of a given IDataPointSet.
342       * @param path The path of the IDataPointSet. The path can either be a relative or full path.
343       * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths).
344       * All the directories in the path must exist. The characther `/` cannot be used
345       * in names; it is only used to delimit directories within paths.
346       * @param dataPointSet The IDataPointSet to be copied.
347       * @return The copy of the given IDataPointSet.
348       *
349       */
350      virtual IDataPointSet * createCopy(const std::string & path, const IDataPointSet & dataPointSet) = 0;
351 
352      /**
353       * Destroy a given IDataPointSet.
354       * @param dataPointSet The IDataPointSet to be destroyed.
355       * @return false If dataPointSet cannot be destroyed.
356       *
357       */
358      virtual bool destroy(IDataPointSet * dataPointSet) = 0;
359 
360      /**
361       * Create an IDataPointSet from an IHistogram1D.
362       * @param path The path of the IDataPointSet. The path can either be a relative or full path.
363       * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths).
364       * All the directories in the path must exist. The characther `/` cannot be used
365       * in names; it is only used to delimit directories within paths.
366       * @param hist The IHistogram1D from which the data is taken.
367       * @param options Options, currently not specified
368       * @return The newly created IDataPointSet.
369       *
370       */
371      virtual IDataPointSet * create(const std::string & path, const IHistogram1D & hist, const std::string & options = "") = 0;
372 
373      /**
374       * Create an IDataPointSet from an IHistogram2D.
375       * @param path The path of the IDataPointSet. The path can either be a relative or full path.
376       * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths).
377       * All the directories in the path must exist. The characther `/` cannot be used
378       * in names; it is only used to delimit directories within paths.
379       * @param hist The IHistogram2D from which the data is taken.
380       * @param options Options, currently not specified
381       * @return The newly created IDataPointSet.
382       *
383       */
384      virtual IDataPointSet * create(const std::string & path, const IHistogram2D & hist, const std::string & options = "") = 0;
385 
386      /**
387       * Create an IDataPointSet from an IHistogram3D.
388       * @param path The path of the IDataPointSet. The path can either be a relative or full path.
389       * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths).
390       * All the directories in the path must exist. The characther `/` cannot be used
391       * in names; it is only used to delimit directories within paths.
392       * @param hist The IHistogram3D from which the data is taken.
393       * @param options Options, currently not specified
394       * @return The newly created IDataPointSet.
395       *
396       */
397      virtual IDataPointSet * create(const std::string & path, const IHistogram3D & hist, const std::string & options = "") = 0;
398 
399      /**
400       * Create an IDataPointSet from an ICloud1D.
401       * @param path The path of the IDataPointSet. The path can either be a relative or full path.
402       * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths).
403       * All the directories in the path must exist. The characther `/` cannot be used
404       * in names; it is only used to delimit directories within paths.
405       * @param cloud The ICloud1D from which the data is taken.
406       * @param options Options, currently not specified
407       * @return The newly created IDataPointSet.
408       *
409       */
410      virtual IDataPointSet * create(const std::string & path, const ICloud1D & cloud, const std::string & options = "") = 0;
411 
412      /**
413       * Create an IDataPointSet from an ICloud2D.
414       * @param path The path of the IDataPointSet. The path can either be a relative or full path.
415       * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths).
416       * All the directories in the path must exist. The characther `/` cannot be used
417       * in names; it is only used to delimit directories within paths.
418       * @param cloud The ICloud2D from which the data is taken.
419       * @param options Options, currently not specified
420       * @return The newly created IDataPointSet.
421       *
422       */
423      virtual IDataPointSet * create(const std::string & path, const ICloud2D & cloud, const std::string & options = "") = 0;
424 
425      /**
426       * Create an IDataPointSet from an ICloud3D.
427       * @param path The path of the IDataPointSet. The path can either be a relative or full path.
428       * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths).
429       * All the directories in the path must exist. The characther `/` cannot be used
430       * in names; it is only used to delimit directories within paths.
431       * @param cloud The ICloud3D from which the data is taken.
432       * @param options Options, currently not specified
433       * @return The newly created IDataPointSet.
434       *
435       */
436      virtual IDataPointSet * create(const std::string & path, const ICloud3D & cloud, const std::string & options = "") = 0;
437 
438      /**
439       * Create an IDataPointSet from an IProfile1D.
440       * @param path The path of the IDataPointSet. The path can either be a relative or full path.
441       * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths).
442       * All the directories in the path must exist. The characther `/` cannot be used
443       * in names; it is only used to delimit directories within paths.
444       * @param profile The IProfile1D from which the data is taken.
445       * @param options Options, currently not specified
446       * @return The newly created IDataPointSet.
447       *
448       */
449      virtual IDataPointSet * create(const std::string & path, const IProfile1D & profile, const std::string & options = "") = 0;
450 
451      /**
452       * Create an IDataPointSet from an IProfile2D.
453       * @param path The path of the IDataPointSet. The path can either be a relative or full path.
454       * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths).
455       * All the directories in the path must exist. The characther `/` cannot be used
456       * in names; it is only used to delimit directories within paths.
457       * @param profile The IProfile2D from which the data is taken.
458       * @param options Options, currently not specified
459       * @return The newly created IDataPointSet.
460       *
461       */
462      virtual IDataPointSet * create(const std::string & path, const IProfile2D & profile, const std::string & options = "") = 0;
463 
464      /**
465       * Add two IDataSetPoint, point by point and measurement by measurement.
466       * @param path The path of resulting the IDataPointSet. The path can either be a relative or full path.
467       * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths).
468       * All the directories in the path must exist. The characther `/` cannot be used
469       * in names; it is only used to delimit directories within paths.
470       * @param dataPointSet1 The first member of the addition.
471       * @param dataPointSet2 The second member of the addition.
472       * if a directory in the path does not exist, or the path is illegal.
473       *
474       */
475      virtual IDataPointSet * add(const std::string & path, const IDataPointSet & dataPointSet1, const IDataPointSet & dataPointSet2) = 0;
476 
477      /**
478       * Subtract two IDataSetPoint, point by point and measurement by measurement.
479       * @param path The path of the resulting IDataPointSet. The path can either be a relative or full path.
480       * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths).
481       * All the directories in the path must exist. The characther `/` cannot be used
482       * in names; it is only used to delimit directories within paths.
483       * @param dataPointSet1 The first member of the subtraction.
484       * @param dataPointSet2 The second member of the subtraction.
485       * @param strategy The strategy of how to perform the subtraction. The default corresponds to
486       * uncorrelated Gaussian error propagation.
487       * if a directory in the path does not exist, or the path is illegal.
488       *
489       */
490      virtual IDataPointSet * subtract(const std::string & path, const IDataPointSet & dataPointSet1, const IDataPointSet & dataPointSet2) = 0;
491 
492      /**
493       * Multiply two IDataSetPoint, point by point and measurement by measurement.
494       * @param path The path of the resulting IDataPointSet. The path can either be a relative or full path.
495       * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths).
496       * All the directories in the path must exist. The characther `/` cannot be used
497       * in names; it is only used to delimit directories within paths.
498       * @param dataPointSet1 The first member of the multiplication.
499       * @param dataPointSet2 The second member of the multiplication.
500       * @param strategy The strategy of how to perform the multiplication. The default corresponds to
501       * uncorrelated Gaussian error propagation.
502       * if a directory in the path does not exist, or the path is illegal.
503       *
504       */
505      virtual IDataPointSet * multiply(const std::string & path, const IDataPointSet & dataPointSet1, const IDataPointSet & dataPointSet2) = 0;
506 
507      /**
508       * Divide two IDataSetPoint, point by point and measurement by measurement.
509       * @param path The path of resulting the IDataPointSet. The path can either be a relative or full path.
510       * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths).
511       * All the directories in the path must exist. The characther `/` cannot be used
512       * in names; it is only used to delimit directories within paths.
513       * @param dataPointSet1 The first member of the division.
514       * @param dataPointSet2 The second member of the division.
515       * @param strategy The strategy of how to perform the division. The default corresponds to
516       * uncorrelated Gaussian error propagation.
517       * if a directory in the path does not exist, or the path is illegal.
518       *
519       */
520      virtual IDataPointSet * divide(const std::string & path, const IDataPointSet & dataPointSet1, const IDataPointSet & dataPointSet2) = 0;
521 
522      /**
523       * Calculate weighted means of two IDataSetPoint, point by point and measurement by measurement.
524       * @param path The path of the resulting IDataPointSet. The path can either be a relative or full path.
525       * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths).
526       * All the directories in the path must exist. The characther `/` cannot be used
527       * in names; it is only used to delimit directories within paths.
528       * @param dataPointSet1 The first IDataPointSet.
529       * @param dataPointSet2 The second IDataPointSet.
530       * @param strategy The strategy of how to calculate the weighted means. The default corresponds to
531       * uncorrelated Gaussian error propagation.
532       * if a directory in the path does not exist, or the path is illegal.
533       *
534       */
535      virtual IDataPointSet * weightedMean(const std::string & path, const IDataPointSet & dataPointSet1, const IDataPointSet & dataPointSet2) = 0;
536  }; // class
537  } // namespace AIDA
538  #endif /* ifndef AIDA_IDATAPOINTSETFACTORY_H */


feed icon

sventon 2.5.1