Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 10:22:51

0001 // @(#)root/tmva $Id$
0002 // Author: Andreas Hoecker, Peter Speckmayer, Joerg Stelzer, Helge Voss
0003 
0004 /**********************************************************************************
0005  * Project: TMVA - a Root-integrated toolkit for multivariate data analysis       *
0006  * Package: TMVA                                                                  *
0007  * Class  : DataSetManager                                                        *
0008  *                                             *
0009  *                                                                                *
0010  * Description:                                                                   *
0011  *      Singleton class for dataset management                                    *
0012  *                                                                                *
0013  * Authors (alphabetical):                                                        *
0014  *      Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland              *
0015  *      Joerg Stelzer   <Joerg.Stelzer@cern.ch>  - CERN, Switzerland              *
0016  *      Peter Speckmayer <Peter.Speckmayer@cern.ch>  - CERN, Switzerland          *
0017  *      Helge Voss      <Helge.Voss@cern.ch>     - MPI-K Heidelberg, Germany      *
0018  *                                                                                *
0019  * Copyright (c) 2006:                                                            *
0020  *      CERN, Switzerland                                                         *
0021  *      MPI-K Heidelberg, Germany                                                 *
0022  *                                                                                *
0023  * Redistribution and use in source and binary forms, with or without             *
0024  * modification, are permitted according to the terms listed in LICENSE           *
0025  * (see tmva/doc/LICENSE)                                          *
0026  **********************************************************************************/
0027 
0028 #ifndef ROOT_TMVA_DataSetManager
0029 #define ROOT_TMVA_DataSetManager
0030 
0031 //////////////////////////////////////////////////////////////////////////
0032 //                                                                      //
0033 // DataSetManager                                                       //
0034 //                                                                      //
0035 // Class that contains all the data information                         //
0036 //                                                                      //
0037 //////////////////////////////////////////////////////////////////////////
0038 
0039 #include "TList.h"
0040 #include "TString.h"
0041 
0042 namespace TMVA {
0043 
0044    class DataSet;
0045    class DataSetInfo;
0046    class DataInputHandler;
0047    class DataSetFactory; // DSMTEST
0048    class MsgLogger;
0049    class Factory;
0050    class Envelop;
0051    class DataSetManager:public TObject {
0052       friend class Factory;
0053       friend class Envelop;
0054 
0055    public:
0056 
0057       // private default constructor
0058       DataSetManager(); // DSMTEST
0059       DataSetManager( DataInputHandler& dataInput ); //DSMTEST
0060       ~DataSetManager(); // DSMTEST
0061 
0062 
0063       // ownership stays with this handler
0064       DataSet*     CreateDataSet ( const TString& dsiName );
0065       DataSetInfo* GetDataSetInfo( const TString& dsiName );
0066 
0067       // makes a local copy of the dataset info object
0068       DataSetInfo& AddDataSetInfo( DataSetInfo& dsi );
0069 
0070    private:
0071 
0072 
0073       TMVA::DataSetFactory* fDatasetFactory;
0074 
0075       // access to input data
0076       DataInputHandler& DataInput() { return *fDataInput; }
0077 
0078       DataInputHandler           *fDataInput;            ///< source of input data
0079       TList                      fDataSetInfoCollection; ///< all registered dataset definitions
0080       MsgLogger*                 fLogger;                ///<! message logger
0081       MsgLogger& Log() const { return *fLogger; }
0082    public:
0083 
0084        ClassDef(DataSetManager,1);
0085 
0086    };
0087 }
0088 
0089 #endif