// @(#)root/tmva $Id: IMetric.h 21630 2008-01-10 19:40:44Z brun $ 
// Author: Peter Speckmayer

/**********************************************************************************
 * Project: TMVA - a Root-integrated toolkit for multivariate data analysis       *
 * Package: TMVA                                                                  *
 * Class  : IMetric                                                         *
 * Web    : http://tmva.sourceforge.net                                           *
 *                                                                                *
 * Description:                                                                   *
 *       Fitter using a Genetic Algorithm                                         *
 *                                                                                *
 * Authors (alphabetical):                                                        *
 *      Peter Speckmayer <speckmay@mail.cern.ch>  - CERN, Switzerland             *
 *                                                                                *
 * Copyright (c) 2005:                                                            *
 *      CERN, Switzerland                                                         * 
 *      MPI-K Heidelberg, Germany                                                 * 
 *                                                                                *
 * Redistribution and use in source and binary forms, with or without             *
 * modification, are permitted according to the terms listed in LICENSE           *
 * (http://tmva.sourceforge.net/LICENSE)                                          *
 **********************************************************************************/

#ifndef ROOT_TMVA_IMetric
#define ROOT_TMVA_IMetric

#include <vector>

#include "Rtypes.h"

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// IMetric                                                              //
//                                                                      //
// Interface for a metric, depending on the implementation the meaning  //
// of distance in space changes.                                        //
//                                                                      //
//////////////////////////////////////////////////////////////////////////


namespace TMVA {


   class IMetric {

   public:

      IMetric();
      virtual ~IMetric() {}

      virtual Double_t Distance( std::vector<Double_t>& pointA, std::vector<Double_t>& pointB ) = 0;
      void SetParameters( std::vector<Double_t>* parameters ) { fParameters = parameters; };
      std::vector<Double_t>* GetParameters() { return fParameters; };

   protected:
      std::vector<Double_t>* fParameters;
      
   private:
      
      ClassDef(IMetric,0) // calculates the "distance" between two points
   };

} // namespace TMVA

#endif



Last change: Wed Jun 25 08:48:14 2008
Last generated: 2008-06-25 08:48

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.