Logo ROOT   6.07/09
Reference Guide
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 #ifndef ROOT_TList
40 #include "TList.h"
41 #endif
42 #ifndef ROOT_TString
43 #include "TString.h"
44 #endif
45 
46 namespace TMVA {
47 
48  class DataSet;
49  class DataSetInfo;
50  class DataInputHandler;
51  class DataSetFactory; // DSMTEST
52  class MsgLogger;
53  class Factory;
54  class DataSetManager:public TObject {
55  friend class Factory;
56  public:
57 
58  // private default constructor
59  DataSetManager(); // DSMTEST
60  DataSetManager( DataInputHandler& dataInput ); //DSMTEST
61  ~DataSetManager(); // DSMTEST
62 
63 
64  // ownership stays with this handler
65  DataSet* CreateDataSet ( const TString& dsiName );
66  DataSetInfo* GetDataSetInfo( const TString& dsiName );
67 
68  // makes a local copy of the dataset info object
70 
71  private:
72 
73 
75 
76  // access to input data
78 
79  DataInputHandler *fDataInput; // source of input data
80  TList fDataSetInfoCollection; // all registered dataset definitions
81  MsgLogger* fLogger; // message logger
82  MsgLogger& Log() const { return *fLogger; }
83  public:
84 
86 
87  };
88 }
89 
90 #endif
DataSetInfo * GetDataSetInfo(const TString &dsiName)
returns datasetinfo object for given name
DataInputHandler * fDataInput
DataSet * CreateDataSet(const TString &dsiName)
Creates the singleton dataset.
Basic string class.
Definition: TString.h:137
#define ClassDef(name, id)
Definition: Rtypes.h:254
A doubly linked list.
Definition: TList.h:47
DataSetInfo & AddDataSetInfo(DataSetInfo &dsi)
stores a copy of the dataset info object
TMVA::DataSetFactory * fDatasetFactory
Mother of all ROOT objects.
Definition: TObject.h:44
Abstract ClassifierFactory template that handles arbitrary types.
DataInputHandler & DataInput()
MsgLogger & Log() const
~DataSetManager()
destructor fDataSetInfoCollection.SetOwner(); // DSMTEST –> created a segfault because the DataSetIn...