00001
00002
00003
00004
00005
00006
00007 #ifndef AIDA_ITUPLE_H
00008 #define AIDA_ITUPLE_H 1
00009
00010
00011
00012
00013
00014
00015 #include <string>
00016 #include <vector>
00017
00018 namespace AIDA {
00019
00020 class IAnnotation;
00021 class ICloud1D;
00022 class ICloud2D;
00023 class ICloud3D;
00024 class IEvaluator;
00025 class IFilter;
00026 class IHistogram1D;
00027 class IHistogram2D;
00028 class IHistogram3D;
00029 class IProfile1D;
00030 class IProfile2D;
00031 class ITupleEntry;
00032
00040 class ITuple {
00041
00042 public:
00044 virtual ~ITuple() { ; }
00045
00051 virtual const std::string & title() const = 0;
00052
00059 virtual bool setTitle(const std::string & title) = 0;
00060
00066 virtual IAnnotation & annotation() = 0;
00067
00068 virtual const IAnnotation & annotation() const = 0;
00069
00077 virtual bool fill(int column, double value) = 0;
00078
00086 virtual bool fill(int column, float value) = 0;
00087
00095 virtual bool fill(int column, int value) = 0;
00096
00104 virtual bool fill(int column, short value) = 0;
00105
00113 virtual bool fill(int column, long value) = 0;
00114
00122 virtual bool fill(int column, char value) = 0;
00123
00131 virtual bool fill(int column, bool value) = 0;
00132
00140 virtual bool fill(int column, const std::string & value) = 0;
00141
00149 virtual bool fill(int column, const ITupleEntry & value) = 0;
00150
00158 virtual bool fill(const std::vector<double> & values) = 0;
00159
00167 virtual bool fill(const std::vector<float> & values) = 0;
00168
00176 virtual bool addRow() = 0;
00177
00182 virtual void resetRow() = 0;
00183
00189 virtual void reset() = 0;
00190
00196 virtual int rows() const = 0;
00197
00202 virtual void start() = 0;
00203
00211 virtual bool skip(int rows) = 0;
00212
00218 virtual bool next() = 0;
00219
00227 virtual bool setRow(int rowIndex) = 0;
00228
00235 virtual int findColumn(const std::string & name) const = 0;
00236
00243 virtual double getDouble(int column) const = 0;
00244
00251 virtual float getFloat(int column) const = 0;
00252
00259 virtual int getInt(int column) const = 0;
00260
00267 virtual short getShort(int column) const = 0;
00268
00275 virtual long getLong(int column) const = 0;
00276
00283 virtual char getChar(int column) const = 0;
00284
00291 virtual bool getBoolean(int column) const = 0;
00292
00299 virtual const std::string & getString(int column) const = 0;
00300
00307 virtual const ITupleEntry * getObject(int column) const = 0;
00308
00316 virtual const ITuple * getTuple(int column) const = 0;
00317
00318 virtual ITuple * getTuple(int column) = 0;
00319
00325 virtual int columns() const = 0;
00326
00333 virtual const std::string & columnName(int column) const = 0;
00334
00341 virtual const std::string & columnType(int column) const = 0;
00342
00349 virtual double columnMin(int column) const = 0;
00350
00357 virtual double columnMax(int column) const = 0;
00358
00365 virtual double columnMean(int column) const = 0;
00366
00373 virtual double columnRms(int column) const = 0;
00374
00384 virtual bool project(IHistogram1D & histogram, IEvaluator & evaluatorX) = 0;
00385
00397 virtual bool project(IHistogram1D & histogram, IEvaluator & evaluatorX, IFilter & filter) = 0;
00398
00409 virtual bool project(IHistogram1D & histogram, IEvaluator & evaluatorX, IEvaluator & weight) = 0;
00410
00423 virtual bool project(IHistogram1D & histogram, IEvaluator & evaluatorX, IFilter & filter, IEvaluator & weight) = 0;
00424
00437 virtual bool project(IHistogram2D & histogram, IEvaluator & evaluatorX, IEvaluator & evaluatorY) = 0;
00438
00453 virtual bool project(IHistogram2D & histogram, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IFilter & filter) = 0;
00454
00468 virtual bool project(IHistogram2D & histogram, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IEvaluator & weight) = 0;
00469
00485 virtual bool project(IHistogram2D & histogram, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IFilter & filter, IEvaluator & weight) = 0;
00486
00502 virtual bool project(IHistogram3D & histogram, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IEvaluator & evaluatorZ) = 0;
00503
00521 virtual bool project(IHistogram3D & histogram, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IEvaluator & evaluatorZ, IFilter & filter) = 0;
00522
00539 virtual bool project(IHistogram3D & histogram, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IEvaluator & evaluatorZ, IEvaluator & weight) = 0;
00540
00559 virtual bool project(IHistogram3D & histogram, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IEvaluator & evaluatorZ, IFilter & filter, IEvaluator & weight) = 0;
00560
00570 virtual bool project(ICloud1D & cloud, IEvaluator & evaluatorX) = 0;
00571
00583 virtual bool project(ICloud1D & cloud, IEvaluator & evaluatorX, IFilter & filter) = 0;
00584
00595 virtual bool project(ICloud1D & cloud, IEvaluator & evaluatorX, IEvaluator & weight) = 0;
00596
00609 virtual bool project(ICloud1D & cloud, IEvaluator & evaluatorX, IFilter & filter, IEvaluator & weight) = 0;
00610
00623 virtual bool project(ICloud2D & cloud, IEvaluator & evaluatorX, IEvaluator & evaluatorY) = 0;
00624
00639 virtual bool project(ICloud2D & cloud, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IFilter & filter) = 0;
00640
00654 virtual bool project(ICloud2D & cloud, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IEvaluator & weight) = 0;
00655
00671 virtual bool project(ICloud2D & cloud, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IFilter & filter, IEvaluator & weight) = 0;
00672
00688 virtual bool project(ICloud3D & cloud, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IEvaluator & evaluatorZ) = 0;
00689
00707 virtual bool project(ICloud3D & cloud, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IEvaluator & evaluatorZ, IFilter & filter) = 0;
00708
00725 virtual bool project(ICloud3D & cloud, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IEvaluator & evaluatorZ, IEvaluator & weight) = 0;
00726
00745 virtual bool project(ICloud3D & cloud, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IEvaluator & evaluatorZ, IFilter & filter, IEvaluator & weight) = 0;
00746
00759 virtual bool project(IProfile1D & profile, IEvaluator & evaluatorX, IEvaluator & evaluatorY) = 0;
00760
00775 virtual bool project(IProfile1D & profile, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IFilter & filter) = 0;
00776
00790 virtual bool project(IProfile1D & profile, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IEvaluator & weight) = 0;
00791
00807 virtual bool project(IProfile1D & profile, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IFilter & filter, IEvaluator & weight) = 0;
00808
00824 virtual bool project(IProfile2D & profile, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IEvaluator & evaluatorZ) = 0;
00825
00843 virtual bool project(IProfile2D & profile, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IEvaluator & evaluatorZ, IFilter & filter) = 0;
00844
00861 virtual bool project(IProfile2D & profile, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IEvaluator & evaluatorZ, IEvaluator & weight) = 0;
00862
00881 virtual bool project(IProfile2D & profile, IEvaluator & evaluatorX, IEvaluator & evaluatorY, IEvaluator & evaluatorZ, IFilter & filter, IEvaluator & weight) = 0;
00882 };
00883 };
00884 #endif