Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
ClassInfo.h
Go to the documentation of this file.
1 // @(#)root/tmva $Id$
2 // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss
3 
4 /**********************************************************************************
5  * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
6  * Package: TMVA *
7  * Class : ClassInfo *
8  * Web : http://tmva.sourceforge.net *
9  * *
10  * Description: *
11  * Contains all the data information *
12  * *
13  * Authors (alphabetical): *
14  * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
15  * Peter Speckmayer <Peter.Speckmayer@cern.ch> - CERN, Switzerland *
16  * Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland *
17  * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, Germany *
18  * *
19  * Copyright (c) 2006: *
20  * CERN, Switzerland *
21  * U. of Victoria, Canada *
22  * MPI-K Heidelberg, Germany *
23  * *
24  * Redistribution and use in source and binary forms, with or without *
25  * modification, are permitted according to the terms listed in LICENSE *
26  * (http://tmva.sourceforge.net/LICENSE) *
27  **********************************************************************************/
28 
29 #ifndef ROOT_TMVA_ClassInfo
30 #define ROOT_TMVA_ClassInfo
31 
32 //////////////////////////////////////////////////////////////////////////
33 // //
34 // ClassInfo //
35 // //
36 // Class that contains all the information of a class //
37 // //
38 //////////////////////////////////////////////////////////////////////////
39 
40 #include "Rtypes.h"
41 #include "TString.h"
42 #include "TCut.h"
43 #include "TMatrixDfwd.h"
44 
45 namespace TMVA {
46 
47  class MsgLogger;
48 
49  class ClassInfo :public TNamed{
50 
51  public:
52 
53  ClassInfo( const TString& name = "default" );
54  ~ClassInfo();
55 
56  // setters
57  void SetWeight( const TString& weight ) { fWeight = weight; }
58  void SetCut ( const TCut& cut ) { fCut = cut; }
59  void SetNumber( const UInt_t index ) { fNumber = index; }
60  void SetCorrelationMatrix( TMatrixD *matrix ) { fCorrMatrix = matrix; }
61 
62  // getters
63  const TString& GetWeight() const { return fWeight; }
64  const TCut& GetCut() const { return fCut; }
65  UInt_t GetNumber() const { return fNumber; }
66  const TMatrixD* GetCorrelationMatrix() const { return fCorrMatrix; }
67 
68  private:
69 
70  TString fWeight; // the input formula string that is the weight for the class
71  TCut fCut; // pretraining cut for the class
72  UInt_t fNumber; // index in of this class in vectors
73 
74  TMatrixD* fCorrMatrix; // Correlation matrix for this class
75 
76  mutable MsgLogger* fLogger; //! message logger
77  MsgLogger& Log() const { return *fLogger; }
78  public:
79 
80  ClassDef(ClassInfo,1);
81 
82  };
83 }
84 
85 #endif