|
||||
File indexing completed on 2025-01-18 09:28:08
0001 // -*- C++ -*- 0002 // AID-GENERATED 0003 // ========================================================================= 0004 // This class was generated by AID - Abstract Interface Definition 0005 // DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it. 0006 // ========================================================================= 0007 #ifndef AIDA_IDATAPOINTSETFACTORY_H 0008 #define AIDA_IDATAPOINTSETFACTORY_H 1 0009 0010 // This file is part of the AIDA library 0011 // Copyright (C) 2002 by the AIDA team. All rights reserved. 0012 // This library is free software and under the terms of the 0013 // GNU Library General Public License described in the LGPL.txt 0014 0015 #include <string> 0016 #include <vector> 0017 0018 namespace AIDA { 0019 0020 class ICloud1D; 0021 class ICloud2D; 0022 class ICloud3D; 0023 class IDataPointSet; 0024 class IHistogram1D; 0025 class IHistogram2D; 0026 class IHistogram3D; 0027 class IProfile1D; 0028 class IProfile2D; 0029 0030 /** 0031 * Basic user-level interface for creating a factory 0032 * of IDataPointSet. 0033 * 0034 * @author The AIDA team (http://aida.freehep.org/) 0035 * 0036 */ 0037 0038 class IDataPointSetFactory { 0039 0040 public: 0041 /// Destructor. 0042 virtual ~IDataPointSetFactory() { /* nop */; } 0043 0044 /** 0045 * Create an empty IDataPointSet. 0046 * @param path The path of the IDataPointSet. The path can either be a relative or full path. 0047 * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). 0048 * All the directories in the path must exist. The characther `/` cannot be used 0049 * in names; it is only used to delimit directories within paths. 0050 * @param title The title of the IDataPointSet. 0051 * @param dimOfPoints The dimension of the IDataPoints that can be stored in the set. 0052 * @return The newly created IDataPointSet. 0053 * 0054 */ 0055 virtual IDataPointSet * create(const std::string & path, const std::string & title, int dimOfPoints) = 0; 0056 0057 /** 0058 * Create an empty IDataPointSet. 0059 * @param pathAndTitle The path of the IDataPointSet. The path can either be a relative or full path. 0060 * The last part of the path is used as the title. 0061 * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths). 0062 * All the directories in the path must exist. The characther `/` cannot be used 0063 * in names; it is only used to delimit directories within paths. 0064 * @param dimOfPoints The dimension of the IDataPoints that can be stored in the set. 0065 * @return The newly created IDataPointSet. 0066 * 0067 */ 0068 virtual IDataPointSet * create(const std::string & pathAndTitle, int dimOfPoints) = 0; 0069 0070 /** 0071 * Create a two dimensional IDataPointSet providing the data along y (the x value is 0072 * the index of the y value in the array). 0073 * @param path The path of the IDataPointSet. The path can either be a relative or full path. 0074 * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths). 0075 * All the directories in the path must exist. The characther `/` cannot be used 0076 * in names; it is only used to delimit directories within paths. 0077 * @param title The title of the IDataPointSet. 0078 * @param y The array of the y values 0079 * @param ey The array with the symmetric errors on y 0080 * @return The created IDataPointSet. 0081 * 0082 */ 0083 virtual IDataPointSet * createY(const std::string & path, const std::string & title, const std::vector<double> & y, const std::vector<double> & ey) = 0; 0084 0085 /** 0086 * Create a two dimensional IDataPointSet providing the data along y (the x value is 0087 * the index of the y value in the array). 0088 * @param path The path of the IDataPointSet. The path can either be a relative or full path. 0089 * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths). 0090 * All the directories in the path must exist. The characther `/` cannot be used 0091 * in names; it is only used to delimit directories within paths. 0092 * @param title The title of the IDataPointSet. 0093 * @param y The array of the y values 0094 * @param eyp The array with the plus errors on y 0095 * @param eym The array with the minus errors on y 0096 * @return The created IDataPointSet. 0097 * 0098 */ 0099 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; 0100 0101 /** 0102 * Create a two dimensional IDataPointSet providing the data along y (the x value is 0103 * the index of the y value in the array). 0104 * @param pathAndTitle The path of the IDataPointSet. The path can either be a relative or full path. 0105 * The last part of the path is used as the title. 0106 * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths). 0107 * All the directories in the path must exist. The characther `/` cannot be used 0108 * in names; it is only used to delimit directories within paths. 0109 * @param y The array of the y values 0110 * @param ey The array with the symmetric errors on y 0111 * @return The created IDataPointSet. 0112 * 0113 */ 0114 virtual IDataPointSet * createY(const std::string & pathAndTitle, const std::vector<double> & y, const std::vector<double> & ey) = 0; 0115 0116 /** 0117 * Create a two dimensional IDataPointSet providing the data along y (the x value is 0118 * the index of the y value in the array). 0119 * @param pathAndTitle The path of the IDataPointSet. The path can either be a relative or full path. 0120 * The last part of the path is used as the title. 0121 * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths). 0122 * All the directories in the path must exist. The characther `/` cannot be used 0123 * in names; it is only used to delimit directories within paths. 0124 * @param y The array of the y values 0125 * @param eyp The array with the plus errors on y 0126 * @param eym The array with the minus errors on y 0127 * @return The created IDataPointSet. 0128 * 0129 */ 0130 virtual IDataPointSet * createY(const std::string & pathAndTitle, const std::vector<double> & y, const std::vector<double> & eyp, const std::vector<double> & eym) = 0; 0131 0132 /** 0133 * Create a two dimensional IDataPointSet providing the data along x (the y value is 0134 * the index of the x value in the array). 0135 * @param path The path of the IDataPointSet. The path can either be a relative or full path. 0136 * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths). 0137 * All the directories in the path must exist. The characther `/` cannot be used 0138 * in names; it is only used to delimit directories within paths. 0139 * @param title The title of the IDataPointSet. 0140 * @param x The array of the x values 0141 * @param ex The array with the symmetric errors on x 0142 * @return The created IDataPointSet. 0143 * 0144 */ 0145 virtual IDataPointSet * createX(const std::string & path, const std::string & title, const std::vector<double> & x, const std::vector<double> & ex) = 0; 0146 0147 /** 0148 * Create a two dimensional IDataPointSet providing the data along x (the y value is 0149 * the index of the x value in the array). 0150 * @param path The path of the IDataPointSet. The path can either be a relative or full path. 0151 * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths). 0152 * All the directories in the path must exist. The characther `/` cannot be used 0153 * in names; it is only used to delimit directories within paths. 0154 * @param title The title of the IDataPointSet. 0155 * @param x The array of the x values 0156 * @param exp The array with the plus errors on x 0157 * @param exm The array with the minus errors on x 0158 * @return The created IDataPointSet. 0159 * 0160 */ 0161 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; 0162 0163 /** 0164 * Create a two dimensional IDataPointSet providing the data along x (the y value is 0165 * the index of the x value in the array). 0166 * @param pathAndTitle The path of the IDataPointSet. The path can either be a relative or full path. 0167 * The last part of the path is used as the title. 0168 * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths). 0169 * All the directories in the path must exist. The characther `/` cannot be used 0170 * in names; it is only used to delimit directories within paths. 0171 * @param x The array of the x values 0172 * @param ex The array with the symmetric errors on x 0173 * @return The created IDataPointSet. 0174 * 0175 */ 0176 virtual IDataPointSet * createX(const std::string & pathAndTitle, const std::vector<double> & x, const std::vector<double> & ex) = 0; 0177 0178 /** 0179 * Create a two dimensional IDataPointSet providing the data along x (the y value is 0180 * the index of the x value in the array). 0181 * @param pathAndTitle The path of the IDataPointSet. The path can either be a relative or full path. 0182 * The last part of the path is used as the title. 0183 * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths). 0184 * All the directories in the path must exist. The characther `/` cannot be used 0185 * in names; it is only used to delimit directories within paths. 0186 * @param x The array of the x values 0187 * @param exp The array with the plus errors on x 0188 * @param exm The array with the minus errors on x 0189 * @return The created IDataPointSet. 0190 * 0191 */ 0192 virtual IDataPointSet * createX(const std::string & pathAndTitle, const std::vector<double> & x, const std::vector<double> & exp, const std::vector<double> & exm) = 0; 0193 0194 /** 0195 * Create a two dimensional IDataPointSet providing the data. 0196 * @param path The path of the IDataPointSet. The path can either be a relative or full path. 0197 * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths). 0198 * All the directories in the path must exist. The characther `/` cannot be used 0199 * in names; it is only used to delimit directories within paths. 0200 * @param title The title of the IDataPointSet. 0201 * @param x The array of the x values 0202 * @param y The array of the y values 0203 * @param exp The array with the plus errors on x 0204 * @param eyp The array with the plus errors on y 0205 * @param exm The array with the minus errors on x 0206 * @param eym The array with the minus errors on y 0207 * @return The created IDataPointSet. 0208 * 0209 */ 0210 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; 0211 0212 /** 0213 * Create a two dimensional IDataPointSet providing the data. 0214 * @param path The path of the IDataPointSet. The path can either be a relative or full path. 0215 * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths). 0216 * All the directories in the path must exist. The characther `/` cannot be used 0217 * in names; it is only used to delimit directories within paths. 0218 * @param title The title of the IDataPointSet. 0219 * @param x The array of the x values 0220 * @param y The array of the y values 0221 * @param ex The array with the symmetric errors on x 0222 * @param ey The array with the symmetric errors on y 0223 * @return The created IDataPointSet. 0224 * 0225 */ 0226 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; 0227 0228 /** 0229 * Create a two dimensional IDataPointSet providing the data. 0230 * @param pathAndTitle The path of the IDataPointSet. The path can either be a relative or full path. 0231 * The last part of the path is used as the title. 0232 * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths). 0233 * All the directories in the path must exist. The characther `/` cannot be used 0234 * in names; it is only used to delimit directories within paths. 0235 * @param x The array of the x values 0236 * @param y The array of the y values 0237 * @param exp The array with the plus errors on x 0238 * @param eyp The array with the plus errors on y 0239 * @param exm The array with the minus errors on x 0240 * @param eym The array with the minus errors on y 0241 * @return The created IDataPointSet. 0242 * 0243 */ 0244 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; 0245 0246 /** 0247 * Create a two dimensional IDataPointSet providing the data. 0248 * @param pathAndTitle The path of the IDataPointSet. The path can either be a relative or full path. 0249 * The last part of the path is used as the title. 0250 * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths). 0251 * All the directories in the path must exist. The characther `/` cannot be used 0252 * in names; it is only used to delimit directories within paths. 0253 * @param x The array of the x values 0254 * @param y The array of the y values 0255 * @param ex The array with the symmetric errors on x 0256 * @param ey The array with the symmetric errors on y 0257 * @return The created IDataPointSet. 0258 * 0259 */ 0260 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; 0261 0262 /** 0263 * Create a three dimensional IDataPointSet providing the data. 0264 * @param path The path of the IDataPointSet. The path can either be a relative or full path. 0265 * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths). 0266 * All the directories in the path must exist. The characther `/` cannot be used 0267 * in names; it is only used to delimit directories within paths. 0268 * @param title The title of the IDataPointSet. 0269 * @param x The array of the x values 0270 * @param y The array of the y values 0271 * @param z The array of the z values 0272 * @param exp The array with the plus errors on x 0273 * @param eyp The array with the plus errors on y 0274 * @param ezp The array with the plus errors on z 0275 * @param exm The array with the minus errors on x 0276 * @param eym The array with the minus errors on y 0277 * @param ezm The array with the minus errors on z 0278 * @return The created IDataPointSet. 0279 * 0280 */ 0281 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; 0282 0283 /** 0284 * Create a three dimensional IDataPointSet providing the data. 0285 * @param path The path of the IDataPointSet. The path can either be a relative or full path. 0286 * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths). 0287 * All the directories in the path must exist. The characther `/` cannot be used 0288 * in names; it is only used to delimit directories within paths. 0289 * @param title The title of the IDataPointSet. 0290 * @param x The array of the x values 0291 * @param y The array of the y values 0292 * @param z The array of the z values 0293 * @param ex The array with the symmetric errors on x 0294 * @param ey The array with the symmetric errors on y 0295 * @param ez The array with the symmetric errors on z 0296 * @return The created IDataPointSet. 0297 * 0298 */ 0299 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; 0300 0301 /** 0302 * Create a two dimensional IDataPointSet providing the data. 0303 * @param pathAndTitle The path of the IDataPointSet. The path can either be a relative or full path. 0304 * The last part of the path is used as the title. 0305 * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths). 0306 * All the directories in the path must exist. The characther `/` cannot be used 0307 * in names; it is only used to delimit directories within paths. 0308 * @param x The array of the x values 0309 * @param y The array of the y values 0310 * @param z The array of the z values 0311 * @param exp The array with the plus errors on x 0312 * @param eyp The array with the plus errors on y 0313 * @param ezp The array with the plus errors on z 0314 * @param exm The array with the minus errors on x 0315 * @param eym The array with the minus errors on y 0316 * @param ezm The array with the minus errors on z 0317 * @return The created IDataPointSet. 0318 * 0319 */ 0320 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; 0321 0322 /** 0323 * Create a two dimensional IDataPointSet providing the data. 0324 * @param pathAndTitle The path of the IDataPointSet. The path can either be a relative or full path. 0325 * The last part of the path is used as the title. 0326 * ("/folder1/folder2/dataTitle" and "../folder/dataTitle" are valid paths). 0327 * All the directories in the path must exist. The characther `/` cannot be used 0328 * in names; it is only used to delimit directories within paths. 0329 * @param x The array of the x values 0330 * @param y The array of the y values 0331 * @param z The array of the z values 0332 * @param exp The array with the symmetric errors on x 0333 * @param eyp The array with the symmetric errors on y 0334 * @param ezp The array with the symmetric errors on z 0335 * @return The created IDataPointSet. 0336 * 0337 */ 0338 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; 0339 0340 /** 0341 * Make a copy of a given IDataPointSet. 0342 * @param path The path of the IDataPointSet. The path can either be a relative or full path. 0343 * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). 0344 * All the directories in the path must exist. The characther `/` cannot be used 0345 * in names; it is only used to delimit directories within paths. 0346 * @param dataPointSet The IDataPointSet to be copied. 0347 * @return The copy of the given IDataPointSet. 0348 * 0349 */ 0350 virtual IDataPointSet * createCopy(const std::string & path, const IDataPointSet & dataPointSet) = 0; 0351 0352 /** 0353 * Destroy a given IDataPointSet. 0354 * @param dataPointSet The IDataPointSet to be destroyed. 0355 * @return false If dataPointSet cannot be destroyed. 0356 * 0357 */ 0358 virtual bool destroy(IDataPointSet * dataPointSet) = 0; 0359 0360 /** 0361 * Create an IDataPointSet from an IHistogram1D. 0362 * @param path The path of the IDataPointSet. The path can either be a relative or full path. 0363 * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). 0364 * All the directories in the path must exist. The characther `/` cannot be used 0365 * in names; it is only used to delimit directories within paths. 0366 * @param hist The IHistogram1D from which the data is taken. 0367 * @param options Options, currently not specified 0368 * @return The newly created IDataPointSet. 0369 * 0370 */ 0371 virtual IDataPointSet * create(const std::string & path, const IHistogram1D & hist, const std::string & options = "") = 0; 0372 0373 /** 0374 * Create an IDataPointSet from an IHistogram2D. 0375 * @param path The path of the IDataPointSet. The path can either be a relative or full path. 0376 * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). 0377 * All the directories in the path must exist. The characther `/` cannot be used 0378 * in names; it is only used to delimit directories within paths. 0379 * @param hist The IHistogram2D from which the data is taken. 0380 * @param options Options, currently not specified 0381 * @return The newly created IDataPointSet. 0382 * 0383 */ 0384 virtual IDataPointSet * create(const std::string & path, const IHistogram2D & hist, const std::string & options = "") = 0; 0385 0386 /** 0387 * Create an IDataPointSet from an IHistogram3D. 0388 * @param path The path of the IDataPointSet. The path can either be a relative or full path. 0389 * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). 0390 * All the directories in the path must exist. The characther `/` cannot be used 0391 * in names; it is only used to delimit directories within paths. 0392 * @param hist The IHistogram3D from which the data is taken. 0393 * @param options Options, currently not specified 0394 * @return The newly created IDataPointSet. 0395 * 0396 */ 0397 virtual IDataPointSet * create(const std::string & path, const IHistogram3D & hist, const std::string & options = "") = 0; 0398 0399 /** 0400 * Create an IDataPointSet from an ICloud1D. 0401 * @param path The path of the IDataPointSet. The path can either be a relative or full path. 0402 * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). 0403 * All the directories in the path must exist. The characther `/` cannot be used 0404 * in names; it is only used to delimit directories within paths. 0405 * @param cloud The ICloud1D from which the data is taken. 0406 * @param options Options, currently not specified 0407 * @return The newly created IDataPointSet. 0408 * 0409 */ 0410 virtual IDataPointSet * create(const std::string & path, const ICloud1D & cloud, const std::string & options = "") = 0; 0411 0412 /** 0413 * Create an IDataPointSet from an ICloud2D. 0414 * @param path The path of the IDataPointSet. The path can either be a relative or full path. 0415 * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). 0416 * All the directories in the path must exist. The characther `/` cannot be used 0417 * in names; it is only used to delimit directories within paths. 0418 * @param cloud The ICloud2D from which the data is taken. 0419 * @param options Options, currently not specified 0420 * @return The newly created IDataPointSet. 0421 * 0422 */ 0423 virtual IDataPointSet * create(const std::string & path, const ICloud2D & cloud, const std::string & options = "") = 0; 0424 0425 /** 0426 * Create an IDataPointSet from an ICloud3D. 0427 * @param path The path of the IDataPointSet. The path can either be a relative or full path. 0428 * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). 0429 * All the directories in the path must exist. The characther `/` cannot be used 0430 * in names; it is only used to delimit directories within paths. 0431 * @param cloud The ICloud3D from which the data is taken. 0432 * @param options Options, currently not specified 0433 * @return The newly created IDataPointSet. 0434 * 0435 */ 0436 virtual IDataPointSet * create(const std::string & path, const ICloud3D & cloud, const std::string & options = "") = 0; 0437 0438 /** 0439 * Create an IDataPointSet from an IProfile1D. 0440 * @param path The path of the IDataPointSet. The path can either be a relative or full path. 0441 * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). 0442 * All the directories in the path must exist. The characther `/` cannot be used 0443 * in names; it is only used to delimit directories within paths. 0444 * @param profile The IProfile1D from which the data is taken. 0445 * @param options Options, currently not specified 0446 * @return The newly created IDataPointSet. 0447 * 0448 */ 0449 virtual IDataPointSet * create(const std::string & path, const IProfile1D & profile, const std::string & options = "") = 0; 0450 0451 /** 0452 * Create an IDataPointSet from an IProfile2D. 0453 * @param path The path of the IDataPointSet. The path can either be a relative or full path. 0454 * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). 0455 * All the directories in the path must exist. The characther `/` cannot be used 0456 * in names; it is only used to delimit directories within paths. 0457 * @param profile The IProfile2D from which the data is taken. 0458 * @param options Options, currently not specified 0459 * @return The newly created IDataPointSet. 0460 * 0461 */ 0462 virtual IDataPointSet * create(const std::string & path, const IProfile2D & profile, const std::string & options = "") = 0; 0463 0464 /** 0465 * Add two IDataSetPoint, point by point and measurement by measurement. 0466 * @param path The path of resulting the IDataPointSet. The path can either be a relative or full path. 0467 * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). 0468 * All the directories in the path must exist. The characther `/` cannot be used 0469 * in names; it is only used to delimit directories within paths. 0470 * @param dataPointSet1 The first member of the addition. 0471 * @param dataPointSet2 The second member of the addition. 0472 * if a directory in the path does not exist, or the path is illegal. 0473 * 0474 */ 0475 virtual IDataPointSet * add(const std::string & path, const IDataPointSet & dataPointSet1, const IDataPointSet & dataPointSet2) = 0; 0476 0477 /** 0478 * Subtract two IDataSetPoint, point by point and measurement by measurement. 0479 * @param path The path of the resulting IDataPointSet. The path can either be a relative or full path. 0480 * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). 0481 * All the directories in the path must exist. The characther `/` cannot be used 0482 * in names; it is only used to delimit directories within paths. 0483 * @param dataPointSet1 The first member of the subtraction. 0484 * @param dataPointSet2 The second member of the subtraction. 0485 * @param strategy The strategy of how to perform the subtraction. The default corresponds to 0486 * uncorrelated Gaussian error propagation. 0487 * if a directory in the path does not exist, or the path is illegal. 0488 * 0489 */ 0490 virtual IDataPointSet * subtract(const std::string & path, const IDataPointSet & dataPointSet1, const IDataPointSet & dataPointSet2) = 0; 0491 0492 /** 0493 * Multiply two IDataSetPoint, point by point and measurement by measurement. 0494 * @param path The path of the resulting IDataPointSet. The path can either be a relative or full path. 0495 * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). 0496 * All the directories in the path must exist. The characther `/` cannot be used 0497 * in names; it is only used to delimit directories within paths. 0498 * @param dataPointSet1 The first member of the multiplication. 0499 * @param dataPointSet2 The second member of the multiplication. 0500 * @param strategy The strategy of how to perform the multiplication. The default corresponds to 0501 * uncorrelated Gaussian error propagation. 0502 * if a directory in the path does not exist, or the path is illegal. 0503 * 0504 */ 0505 virtual IDataPointSet * multiply(const std::string & path, const IDataPointSet & dataPointSet1, const IDataPointSet & dataPointSet2) = 0; 0506 0507 /** 0508 * Divide two IDataSetPoint, point by point and measurement by measurement. 0509 * @param path The path of resulting the IDataPointSet. The path can either be a relative or full path. 0510 * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). 0511 * All the directories in the path must exist. The characther `/` cannot be used 0512 * in names; it is only used to delimit directories within paths. 0513 * @param dataPointSet1 The first member of the division. 0514 * @param dataPointSet2 The second member of the division. 0515 * @param strategy The strategy of how to perform the division. The default corresponds to 0516 * uncorrelated Gaussian error propagation. 0517 * if a directory in the path does not exist, or the path is illegal. 0518 * 0519 */ 0520 virtual IDataPointSet * divide(const std::string & path, const IDataPointSet & dataPointSet1, const IDataPointSet & dataPointSet2) = 0; 0521 0522 /** 0523 * Calculate weighted means of two IDataSetPoint, point by point and measurement by measurement. 0524 * @param path The path of the resulting IDataPointSet. The path can either be a relative or full path. 0525 * ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). 0526 * All the directories in the path must exist. The characther `/` cannot be used 0527 * in names; it is only used to delimit directories within paths. 0528 * @param dataPointSet1 The first IDataPointSet. 0529 * @param dataPointSet2 The second IDataPointSet. 0530 * @param strategy The strategy of how to calculate the weighted means. The default corresponds to 0531 * uncorrelated Gaussian error propagation. 0532 * if a directory in the path does not exist, or the path is illegal. 0533 * 0534 */ 0535 virtual IDataPointSet * weightedMean(const std::string & path, const IDataPointSet & dataPointSet1, const IDataPointSet & dataPointSet2) = 0; 0536 }; // class 0537 } // namespace AIDA 0538 #endif /* ifndef AIDA_IDATAPOINTSETFACTORY_H */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |