Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

CdbNTupleFactory.hh

Go to the documentation of this file.
00001 #ifndef CDB_NTUPLE_FACTORY_HH
00002 #define CDB_NTUPLE_FACTORY_HH
00003 
00004 // File and Version Information:
00005 //      $Id: CdbNTupleFactory.hh,v 1.6 2004/04/02 07:41:28 gapon Exp $
00006 
00007 #include "CdbBase/CdbCPtr.hh"
00008 
00009 #include "CdbTable/CdbNTuple.hh"
00010 
00011 /// A factory class for n-tuples.
00012 /**
00013   * This utility class provide static factory methods for instantiating
00014   * various implementations of n-tuples.
00015   *
00016   * @see class CdbNTuple
00017   */
00018 template < class T, unsigned int NCOL >
00019 class CdbNTupleFactory {
00020 
00021 private:
00022 
00023   /// The default constructor (NOT IMPLEMENTED)
00024 
00025     CdbNTupleFactory( );
00026 
00027   /// The copy constructor (NOT IMPLEMENTED)
00028 
00029     CdbNTupleFactory( const CdbNTupleFactory<T,NCOL>& theOther );
00030 
00031   /// The destructor (NOT IMPLEMENTED)
00032 
00033     ~CdbNTupleFactory( );
00034 
00035   /// The assignment operator (NOT IMPLEMENTED)
00036 
00037     CdbNTupleFactory<T,NCOL>& operator=( const CdbNTupleFactory<T,NCOL>& theOther );
00038 
00039 public:
00040 
00041   /// Create a simple implementation of the n-tuple
00042   /**
00043     * More details...
00044     */
00045     static CdbCPtr< CdbNTuple<T,NCOL> > createSimple( const std::string& theName        = "",
00046                                                       const std::string& theDescription = "" );
00047 
00048   /// Create a simple implementation of the n-tuple
00049   /**
00050     * More details...
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   /// Create a simple implementation of the n-tuple
00057   /**
00058     * A regular pointer version of the earlier defined method.
00059     */
00060     static void createSimple( CdbNTuple<T,NCOL>*& thePtr,
00061                               const std::string&  theName        = "",
00062                               const std::string&  theDescription = "" );
00063 
00064   /// Create a simple implementation of the n-tuple
00065   /**
00066     * A regular pointer version of the earlier defined method.
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 

Generated on Mon Dec 5 18:22:07 2005 for CDB by doxygen1.3-rc3