00001 /* -*- mode: c++ -*- */ 00002 00014 #ifndef _QtRootController_H_ 00015 #define _QtRootController_H_ 00016 00017 #ifdef HAVE_CONFIG_H 00018 #include "config.h" 00019 #endif 00020 00021 #include <string> 00022 #include <vector> 00023 00024 class RootController; 00025 class DataSource; 00026 #ifdef HAVE_NUMARRAY 00027 class PyDataSource; 00028 #endif 00029 00038 class QtRootController 00039 { 00040 00041 private: 00042 00044 static QtRootController * s_instance; 00045 00047 static RootController * m_instance; 00048 00050 QtRootController (); 00051 00053 QtRootController ( const QtRootController &); 00054 00055 public: 00056 00059 static QtRootController * instance (); 00060 00063 DataSource * createNTuple ( const std::string & filename, 00064 const std::string & treename ); 00065 00066 #ifdef HAVE_NUMARRAY 00067 00069 PyDataSource * createDataArray ( const std::string & filename, 00070 const std::string & treename ); 00071 #endif 00072 00075 const std::vector < std::string > & 00076 getNTupleNames ( const std::string & filename ); 00077 00078 }; 00079 00080 #endif // _QtRootController_H_