00001 #ifndef CDB_NTUPLE_FACTORY_HH
00002 #define CDB_NTUPLE_FACTORY_HH
00003
00004
00005
00006
00007 #include "CdbBase/CdbCPtr.hh"
00008
00009 #include "CdbTable/CdbNTuple.hh"
00010
00011
00012
00013
00014
00015
00016
00017
00018 template < class T, unsigned int NCOL >
00019 class CdbNTupleFactory {
00020
00021 private:
00022
00023
00024
00025 CdbNTupleFactory( );
00026
00027
00028
00029 CdbNTupleFactory( const CdbNTupleFactory<T,NCOL>& theOther );
00030
00031
00032
00033 ~CdbNTupleFactory( );
00034
00035
00036
00037 CdbNTupleFactory<T,NCOL>& operator=( const CdbNTupleFactory<T,NCOL>& theOther );
00038
00039 public:
00040
00041
00042
00043
00044
00045 static CdbCPtr< CdbNTuple<T,NCOL> > createSimple( const std::string& theName = "",
00046 const std::string& theDescription = "" );
00047
00048
00049
00050
00051
00052 static CdbCPtr< CdbNTuple<T,NCOL> > createSimple( const std::vector<std::string>& theCollumnNames,
00053 const std::string& theName = "",
00054 const std::string& theDescription = "" );
00055
00056
00057
00058
00059
00060 static void createSimple( CdbNTuple<T,NCOL>*& thePtr,
00061 const std::string& theName = "",
00062 const std::string& theDescription = "" );
00063
00064
00065
00066
00067
00068 static void createSimple( CdbNTuple<T,NCOL>*& thePtr,
00069 const std::vector<std::string>& theCollumnNames,
00070 const std::string& theName = "",
00071 const std::string& theDescription = "" );
00072 };
00073
00074 #ifdef BABAR_COMP_INST
00075 #include "CdbTable/CdbNTupleFactory.cc"
00076 #endif // BABAR_COMP_INST
00077
00078 #endif // CDB_NTUPLE_FACTORY_HH
00079