```// @(#)root/tmva \$Id: IMetric.h 29122 2009-06-22 06:51:30Z 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             *
*                                                                                *
*      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           *
**********************************************************************************/

#ifndef ROOT_TMVA_IMetric
#define ROOT_TMVA_IMetric

#include <vector>

#ifndef ROOT_Rtypes
#include "Rtypes.h"
#endif

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// IMetric                                                               //
//                                                                      //
// distance between two points in parameter space                       //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

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

```
IMetric.h:1
IMetric.h:2
IMetric.h:3
IMetric.h:4
IMetric.h:5
IMetric.h:6
IMetric.h:7
IMetric.h:8
IMetric.h:9
IMetric.h:10
IMetric.h:11
IMetric.h:12
IMetric.h:13
IMetric.h:14
IMetric.h:15
IMetric.h:16
IMetric.h:17
IMetric.h:18
IMetric.h:19
IMetric.h:20
IMetric.h:21
IMetric.h:22
IMetric.h:23
IMetric.h:24
IMetric.h:25
IMetric.h:26
IMetric.h:27
IMetric.h:28
IMetric.h:29
IMetric.h:30
IMetric.h:31
IMetric.h:32
IMetric.h:33
IMetric.h:34
IMetric.h:35
IMetric.h:36
IMetric.h:37
IMetric.h:38
IMetric.h:39
IMetric.h:40
IMetric.h:41
IMetric.h:42
IMetric.h:43
IMetric.h:44
IMetric.h:45
IMetric.h:46
IMetric.h:47
IMetric.h:48
IMetric.h:49
IMetric.h:50
IMetric.h:51
IMetric.h:52
IMetric.h:53
IMetric.h:54
IMetric.h:55
IMetric.h:56
IMetric.h:57
IMetric.h:58
IMetric.h:59
IMetric.h:60
IMetric.h:61
IMetric.h:62
IMetric.h:63
IMetric.h:64
IMetric.h:65
IMetric.h:66
IMetric.h:67
IMetric.h:68
IMetric.h:69