Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
DataSetManager.h
Go to the documentation of this file.
1 // @(#)root/tmva $Id$
2 // Author: Andreas Hoecker, Peter Speckmayer, Joerg Stelzer, Helge Voss
3 
4 /**********************************************************************************
5  * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
6  * Package: TMVA *
7  * Class : DataSetManager *
8  * Web : http://tmva.sourceforge.net *
9  * *
10  * Description: *
11  * Singleton class for dataset management *
12  * *
13  * Authors (alphabetical): *
14  * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
15  * Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland *
16  * Peter Speckmayer <Peter.Speckmayer@cern.ch> - CERN, Switzerland *
17  * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, Germany *
18  * *
19  * Copyright (c) 2006: *
20  * CERN, Switzerland *
21  * MPI-K Heidelberg, Germany *
22  * *
23  * Redistribution and use in source and binary forms, with or without *
24  * modification, are permitted according to the terms listed in LICENSE *
25  * (http://tmva.sourceforge.net/LICENSE) *
26  **********************************************************************************/
27 
28 #ifndef ROOT_TMVA_DataSetManager
29 #define ROOT_TMVA_DataSetManager
30 
31 //////////////////////////////////////////////////////////////////////////
32 // //
33 // DataSetManager //
34 // //
35 // Class that contains all the data information //
36 // //
37 //////////////////////////////////////////////////////////////////////////
38 
39 #include "TList.h"
40 #include "TString.h"
41 
42 namespace TMVA {
43 
44  class DataSet;
45  class DataSetInfo;
46  class DataInputHandler;
47  class DataSetFactory; // DSMTEST
48  class MsgLogger;
49  class Factory;
50  class Envelop;
51  class DataSetManager:public TObject {
52  friend class Factory;
53  friend class Envelop;
54 
55  public:
56 
57  // private default constructor
58  DataSetManager(); // DSMTEST
59  DataSetManager( DataInputHandler& dataInput ); //DSMTEST
60  ~DataSetManager(); // DSMTEST
61 
62 
63  // ownership stays with this handler
64  DataSet* CreateDataSet ( const TString& dsiName );
65  DataSetInfo* GetDataSetInfo( const TString& dsiName );
66 
67  // makes a local copy of the dataset info object
68  DataSetInfo& AddDataSetInfo( DataSetInfo& dsi );
69 
70  private:
71 
72 
73  TMVA::DataSetFactory* fDatasetFactory;
74 
75  // access to input data
76  DataInputHandler& DataInput() { return *fDataInput; }
77 
78  DataInputHandler *fDataInput; // source of input data
79  TList fDataSetInfoCollection; // all registered dataset definitions
80  MsgLogger* fLogger; //! message logger
81  MsgLogger& Log() const { return *fLogger; }
82  public:
83 
84  ClassDef(DataSetManager,1);
85 
86  };
87 }
88 
89 #endif