Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:11:10

0001 // @(#)root/tmva $Id$
0002 // Author: Andrzej Zemla
0003 
0004 /**********************************************************************************
0005  * Project: TMVA - a Root-integrated toolkit for multivariate data analysis       *
0006  * Package: TMVA                                                                  *
0007  * Class  : SVKernelMatrix                                                        *
0008  *                                             *
0009  *                                                                                *
0010  * Description:                                                                   *
0011  *      Kernel matrix for Support Vector Machine                                  *
0012  *                                                                                *
0013  * Authors (alphabetical):                                                        *
0014  *      Marcin Wolter  <Marcin.Wolter@cern.ch> - IFJ PAN, Krakow, Poland          *
0015  *      Andrzej Zemla  <azemla@cern.ch>        - IFJ PAN, Krakow, Poland          *
0016  *      (IFJ PAN: Henryk Niewodniczanski Inst. Nucl. Physics, Krakow, Poland)     *
0017  *                                                                                *
0018  * Copyright (c) 2005:                                                            *
0019  *      CERN, Switzerland                                                         *
0020  *      MPI-K Heidelberg, Germany                                                 *
0021  *      PAN, Krakow, Poland                                                       *
0022  *                                                                                *
0023  * Redistribution and use in source and binary forms, with or without             *
0024  * modification, are permitted according to the terms listed in LICENSE           *
0025  * (see tmva/doc/LICENSE)                                          *
0026  **********************************************************************************/
0027 
0028 #ifndef ROOT_TMVA_SVKernelMatrix
0029 #define ROOT_TMVA_SVKernelMatrix
0030 
0031 #include "RtypesCore.h"
0032 
0033 #include <vector>
0034 
0035 namespace TMVA {
0036 
0037    class SVEvent;
0038    class SVKernelFunction;
0039    class MsgLogger;
0040 
0041    class SVKernelMatrix {
0042 
0043    public:
0044 
0045       //constructors
0046       SVKernelMatrix();
0047       SVKernelMatrix( std::vector<TMVA::SVEvent*>*, SVKernelFunction* );
0048 
0049       //destructor
0050       ~SVKernelMatrix();
0051 
0052       //functions
0053       Float_t* GetLine   ( UInt_t );
0054       Float_t* GetColumn ( UInt_t col ) { return this->GetLine(col);}
0055       Float_t  GetElement( UInt_t i, UInt_t j );
0056 
0057    private:
0058 
0059       UInt_t               fSize;              ///< matrix size
0060       SVKernelFunction*    fKernelFunction;    ///< kernel function
0061       Float_t**            fSVKernelMatrix;    ///< kernel matrix
0062 
0063       mutable MsgLogger* fLogger;              ///<! message logger
0064       MsgLogger& Log() const { return *fLogger; }
0065 
0066    };
0067 }
0068 #endif