DataSetManager.h

Go to the documentation of this file.
00001 // @(#)root/tmva $Id: DataSetManager.h 33928 2010-06-15 16:19:31Z stelzer $
00002 // Author: Andreas Hoecker, Peter Speckmayer, Joerg Stelzer, Helge Voss
00003 
00004 /**********************************************************************************
00005  * Project: TMVA - a Root-integrated toolkit for multivariate data analysis       *
00006  * Package: TMVA                                                                  *
00007  * Class  : DataSetManager                                                        *
00008  * Web    : http://tmva.sourceforge.net                                           *
00009  *                                                                                *
00010  * Description:                                                                   *
00011  *      Singleton class for dataset management                                    *
00012  *                                                                                *
00013  * Authors (alphabetical):                                                        *
00014  *      Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland              *
00015  *      Joerg Stelzer   <Joerg.Stelzer@cern.ch>  - CERN, Switzerland              *
00016  *      Peter Speckmayer <Peter.Speckmayer@cern.ch>  - CERN, Switzerland          *
00017  *      Helge Voss      <Helge.Voss@cern.ch>     - MPI-K Heidelberg, Germany      *
00018  *                                                                                *
00019  * Copyright (c) 2006:                                                            *
00020  *      CERN, Switzerland                                                         *
00021  *      MPI-K Heidelberg, Germany                                                 *
00022  *                                                                                *
00023  * Redistribution and use in source and binary forms, with or without             *
00024  * modification, are permitted according to the terms listed in LICENSE           *
00025  * (http://tmva.sourceforge.net/LICENSE)                                          *
00026  **********************************************************************************/
00027 
00028 #ifndef ROOT_TMVA_DataSetManager
00029 #define ROOT_TMVA_DataSetManager
00030 
00031 //////////////////////////////////////////////////////////////////////////
00032 //                                                                      //
00033 // DataSetManager                                                       //
00034 //                                                                      //
00035 // Class that contains all the data information                         //
00036 //                                                                      //
00037 //////////////////////////////////////////////////////////////////////////
00038 
00039 #ifndef ROOT_TList
00040 #include "TList.h"
00041 #endif
00042 #ifndef ROOT_TString
00043 #include "TString.h"
00044 #endif
00045 
00046 namespace TMVA {
00047 
00048    class DataSet;
00049    class DataSetInfo;
00050    class DataInputHandler;
00051    class DataSetFactory; // DSMTEST
00052    class MsgLogger;
00053 
00054    class DataSetManager {
00055       
00056    public:
00057 
00058 
00059       // singleton class
00060 //      static DataSetManager& Instance();
00061 //      static void            CreateInstance( DataInputHandler& dataInput );
00062 //      static void            DestroyInstance();
00063 
00064       // private default constructor
00065       DataSetManager(); // DSMTEST
00066       DataSetManager( DataInputHandler& dataInput ); //DSMTEST
00067       ~DataSetManager(); // DSMTEST
00068 
00069 
00070       // ownership stays with this handler
00071       DataSet*     CreateDataSet ( const TString& dsiName );
00072       DataSetInfo* GetDataSetInfo( const TString& dsiName );
00073 
00074       // makes a local copy of the dataset info object
00075       DataSetInfo& AddDataSetInfo( DataSetInfo& dsi );
00076 
00077    private:
00078 
00079 //      ~DataSetManager(); // DSMTEST moved to public
00080 
00081 //      static DataSetManager* fgDSManager; // removed DSMTEST
00082 
00083       // private default constructor
00084 /*       DataSetManager(); */ // DSMTEST
00085 /*       DataSetManager( DataInputHandler& dataInput ); */ // DSMTEST
00086 
00087 // //      TMVA::DataSetFactory* fDatasetFactory; // DSMTEST
00088 
00089       // access to input data
00090       DataInputHandler& DataInput() { return fDataInput; }
00091 
00092       DataInputHandler&          fDataInput;             //! source of input data
00093       TList                      fDataSetInfoCollection; //! all registered dataset definitions
00094       mutable MsgLogger*         fLogger;   // message logger
00095       MsgLogger& Log() const { return *fLogger; }    
00096    };
00097 }
00098 
00099 #endif

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