Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

AIDA_FitData.h

Go to the documentation of this file.
00001  /**********************************************************************
00002   *                                                                    *
00003   * Copyright (c) 2002 Lorenzo Moneta, CERN/IT                       *
00004   *                   <Lorenzo.Moneta.cern.ch>                       *
00005   *                                                                    *
00006   * This library is free software; you can redistribute it and/or      *
00007   * modify it under the terms of the GNU Lesser General Public         *
00008   * License as published by the Free Software Foundation; either       *
00009   * version 2.1 of the License, or (at your option) any later version. *
00010   *                                                                    *
00011   * This library is distributed in the hope that it will be useful,    *
00012   * but WITHOUT ANY WARRANTY; without even the implied warranty of     *
00013   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU   *
00014   * Lesser General Public License for more details.                    *
00015   *                                                                    *
00016   * You should have received a copy of the GNU Lesser General Public   *
00017   * License along with this library (see file COPYING); if not, write  *
00018   * to the Free Software Foundation, Inc., 59 Temple Place, Suite      *
00019   * 330, Boston, MA 02111-1307 USA, or contact the author.             *
00020   *                                                                    *
00021   **********************************************************************/
00022 
00023 // Header file for class AIDA_FitData
00024 // 
00025 // Authors  : Lorenzo Moneta , Jakub Moscicki
00026 // Created  : Fri Oct  4 14:53:45 2002
00027 // 
00028 // Last update: Fri Oct  4 14:53:45 2002
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       // usually copying is non trivial, so we make this unaccessible
00054       AIDA_FitData(const AIDA_FitData &); 
00055       AIDA_FitData & operator = (const AIDA_FitData &); 
00056       
00057     public: 
00058       // from AIDA interfaces  
00060       bool create1DConnection(const AIDA::IHistogram1D & h);
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       //void m_createRange(); 
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   }    // end of namespace Anaphe::AIDA_Fitter_FML
00112 }
00113 #endif /* AIDA_FITDATA */

Generated on Tue May 20 14:49:01 2003 for AIDA_Fitter_FML by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002