00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef ANAPHE_AIDA_FITTER_FML_AIDA_FITDATA
00031 #define ANAPHE_AIDA_FITTER_FML_AIDA_FITDATA 1
00032
00033 # include "AIDA_Dev/IDevFitData.h"
00034
00035 namespace Anaphe {
00036 namespace AIDA_Function_FML {
00037 class AIDA_RangeSet;
00038 }
00039 };
00040
00041 namespace Anaphe {
00042 namespace AIDA_Fitter_FML {
00043
00044 class AIDA_FitDataIterator;
00045
00046 class AIDA_FitData : virtual public AIDA::Dev::IDevFitData {
00047
00048 public:
00049 AIDA_FitData();
00050 virtual ~AIDA_FitData();
00051
00052 private:
00053
00054 AIDA_FitData(const AIDA_FitData &);
00055 AIDA_FitData & operator = (const AIDA_FitData &);
00056
00057 public:
00058
00060
00061 bool create1DConnection(const AIDA::ICloud1D & c);
00062 bool create1DConnection(const AIDA::IProfile1D & p);
00063 bool create1DConnection(const AIDA::IDataPointSet & dp, int xIndex, int valIndex);
00064
00065 bool create2DConnection(const AIDA::IHistogram2D & h);
00066 bool create2DConnection(const AIDA::IHistogram2D & h, int xIndex, int yIndex);
00067 bool create2DConnection(const AIDA::ICloud2D & c);
00068 bool create2DConnection(const AIDA::ICloud2D & c, int xIndex, int yIndex);
00069 bool create2DConnection(const AIDA::IProfile2D & p);
00070 bool create2DConnection(const AIDA::IProfile2D & p, int xIndex, int yIndex);
00071 bool create2DConnection(const AIDA::IDataPointSet & dp, int xIndex, int yIndex, int valIndex);
00072
00073 bool create3DConnection(const AIDA::IHistogram3D & h);
00074 bool create3DConnection(const AIDA::IHistogram3D & h, int xIndex, int yIndex, int zIndex);
00075 bool create3DConnection(const AIDA::ICloud3D & c);
00076 bool create3DConnection(const AIDA::ICloud3D & c, int xIndex, int yIndex, int zIndex);
00077 bool create3DConnection(const AIDA::IDataPointSet & dp, int xIndex, int yIndex, int zIndex, int valIndex);
00078
00079
00080 bool createConnection(const AIDA::ITuple & t, std::vector<std::string> colNames);
00081 bool createConnection(const AIDA::ITuple & t, std::vector<AIDA::IEvaluator * > & evals);
00082 bool createConnection(const AIDA::IDataPointSet & dp, std::vector<int> indeces, int valIndex);
00083
00084 void reset();
00085 int dimension() const;
00086 std::string dataDescription() const;
00087
00088 AIDA::IRangeSet & range(int index) const;
00089
00091 int fitType() const;
00092
00093 AIDA::Dev::IDevFitDataIterator * dataIterator() const;
00094
00095
00096 protected:
00097
00098
00099
00100 private:
00101
00102 int m_fitType;
00103 int m_dim;
00104
00105 AIDA_FitDataIterator* m_data_itr;
00106 std::vector<Anaphe::AIDA_Function_FML::AIDA_RangeSet *> m_ranges;
00107
00108
00109 };
00110
00111 }
00112 }
00113 #endif