ClassInfo.h

Go to the documentation of this file.
00001 // @(#)root/tmva $Id: ClassInfo.h 29195 2009-06-24 10:39:49Z brun $
00002 // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss
00003 
00004 /**********************************************************************************
00005  * Project: TMVA - a Root-integrated toolkit for multivariate data analysis       *
00006  * Package: TMVA                                                                  *
00007  * Class  : ClassInfo                                                             *
00008  * Web    : http://tmva.sourceforge.net                                           *
00009  *                                                                                *
00010  * Description:                                                                   *
00011  *      Contains all the data information                                         *
00012  *                                                                                *
00013  * Authors (alphabetical):                                                        *
00014  *      Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland              *
00015  *      Peter Speckmayer <Peter.Speckmayer@cern.ch>  - CERN, Switzerland          *
00016  *      Joerg Stelzer   <Joerg.Stelzer@cern.ch>  - CERN, Switzerland              *
00017  *      Helge Voss      <Helge.Voss@cern.ch>     - MPI-K Heidelberg, Germany      *
00018  *                                                                                *
00019  * Copyright (c) 2006:                                                            *
00020  *      CERN, Switzerland                                                         *
00021  *      U. of Victoria, Canada                                                    *
00022  *      MPI-K Heidelberg, Germany                                                 *
00023  *                                                                                *
00024  * Redistribution and use in source and binary forms, with or without             *
00025  * modification, are permitted according to the terms listed in LICENSE           *
00026  * (http://tmva.sourceforge.net/LICENSE)                                          *
00027  **********************************************************************************/
00028 
00029 #ifndef ROOT_TMVA_ClassInfo
00030 #define ROOT_TMVA_ClassInfo
00031 
00032 //////////////////////////////////////////////////////////////////////////
00033 //                                                                      //
00034 // ClassInfo                                                            //
00035 //                                                                      //
00036 // Class that contains all the information of a class                   //
00037 //                                                                      //
00038 //////////////////////////////////////////////////////////////////////////
00039 
00040 #ifndef ROOT_Rtypes
00041 #include "Rtypes.h"
00042 #endif
00043 #ifndef ROOT_TString
00044 #include "TString.h"
00045 #endif
00046 #ifndef ROOT_TCut
00047 #include "TCut.h"
00048 #endif
00049 #ifndef ROOT_TMatrixDfwd
00050 #include "TMatrixDfwd.h"
00051 #endif
00052 
00053 namespace TMVA {
00054    
00055    class MsgLogger;
00056 
00057    class ClassInfo {
00058 
00059    public:
00060       
00061       ClassInfo( const TString& name = "default" );
00062       ~ClassInfo();
00063 
00064       // setters
00065       void               SetName  ( const TString& name   ) { fName = name; }
00066       void               SetWeight( const TString& weight ) { fWeight = weight; }
00067       void               SetCut   ( const TCut&    cut    ) { fCut = cut; }
00068       void               SetNumber( const UInt_t   index  ) { fNumber = index; }
00069       void               SetCorrelationMatrix( TMatrixD *matrix ) { fCorrMatrix = matrix; }
00070 
00071       // getters
00072       const TString&     GetName()              const { return fName; }
00073       const TString&     GetWeight()            const { return fWeight; }
00074       const TCut&        GetCut()               const { return fCut; }
00075       UInt_t             GetNumber()            const { return fNumber; }
00076       const TMatrixD*    GetCorrelationMatrix() const { return fCorrMatrix; }
00077 
00078    private:
00079 
00080       TString            fName;             //! name of the class
00081       TString            fWeight;           //! the input formula string that is the weight for the class
00082       TCut               fCut;              //! pretraining cut for the class
00083       UInt_t             fNumber;           //! index in of this class in vectors
00084 
00085       TMatrixD*          fCorrMatrix;       //! Correlation matrix for this class
00086 
00087       mutable MsgLogger* fLogger;   // message logger
00088       MsgLogger& Log() const { return *fLogger; }
00089    };
00090 }
00091 
00092 #endif

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