SVKernelMatrix.h

Go to the documentation of this file.
00001 // @(#)root/tmva $Id: SVKernelMatrix.h 31458 2009-11-30 13:58:20Z stelzer $    
00002 // Author: Andrzej Zemla
00003 
00004 /**********************************************************************************
00005  * Project: TMVA - a Root-integrated toolkit for multivariate data analysis       *
00006  * Package: TMVA                                                                  *
00007  * Class  : SVKernelMatrix                                                        *
00008  * Web    : http://tmva.sourceforge.net                                           *
00009  *                                                                                *
00010  * Description:                                                                   *
00011  *      Kernel matrix for Support Vector Machine                                  *
00012  *                                                                                *
00013  * Authors (alphabetical):                                                        *
00014  *      Marcin Wolter  <Marcin.Wolter@cern.ch> - IFJ PAN, Krakow, Poland          *
00015  *      Andrzej Zemla  <azemla@cern.ch>        - IFJ PAN, Krakow, Poland          *
00016  *      (IFJ PAN: Henryk Niewodniczanski Inst. Nucl. Physics, Krakow, Poland)     *   
00017  *                                                                                *
00018  * Copyright (c) 2005:                                                            *
00019  *      CERN, Switzerland                                                         * 
00020  *      MPI-K Heidelberg, Germany                                                 * 
00021  *      PAN, Krakow, Poland                                                       *
00022  *                                                                                *
00023  * Redistribution and use in source and binary forms, with or without             *
00024  * modification, are permitted according to the terms listed in LICENSE           *
00025  * (http://tmva.sourceforge.net/LICENSE)                                          *
00026  **********************************************************************************/
00027 
00028 #ifndef ROOT_TMVA_SVKernelMatrix
00029 #define ROOT_TMVA_SVKernelMatrix
00030 
00031 #ifndef ROOT_Rtypes
00032 #include "Rtypes.h"
00033 #endif
00034 
00035 #include <vector>
00036 
00037 namespace TMVA {
00038 
00039    class SVEvent;
00040    class SVKernelFunction;
00041    class MsgLogger;
00042 
00043    class SVKernelMatrix {
00044 
00045    public:
00046 
00047       //constructors
00048       SVKernelMatrix();
00049       SVKernelMatrix( std::vector<TMVA::SVEvent*>*, SVKernelFunction* );
00050       
00051       //destructor
00052       ~SVKernelMatrix();
00053       
00054       //functions
00055       Float_t* GetLine   ( UInt_t );
00056       Float_t* GetColumn ( UInt_t col ) { return this->GetLine(col);}
00057       Float_t  GetElement( UInt_t i, UInt_t j );
00058 
00059    private:
00060 
00061       UInt_t               fSize;              // matrix size
00062       SVKernelFunction*    fKernelFunction;    // kernel function
00063       Float_t**            fSVKernelMatrix;    // kernel matrix
00064 
00065       mutable MsgLogger* fLogger;                     //! message logger
00066       MsgLogger& Log() const { return *fLogger; }
00067 
00068    };
00069 }
00070 #endif

Generated on Tue Jul 5 14:27:39 2011 for ROOT_528-00b_version by  doxygen 1.5.1