| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

NTupleImplementation.h

Go to the documentation of this file.
00001 // $Header: /local/reps/Gaudi/GaudiKernel/GaudiKernel/NTupleImplementation.h,v 1.7 2006/12/10 20:29:17 leggett Exp $
00002 #ifndef GAUDIKERNEL_NTUPLEIMP_H
00003 #define GAUDIKERNEL_NTUPLEIMP_H
00004 
00005 // Framework include files
00006 #include "NTuple.h"
00007 
00008 // Forward declarations
00009 class INTupleSvc;
00010 class IConversionSvc;
00011 
00012 namespace NTuple   {
00013   // Concrete N tuple class definition
00014   class TupleImp : public Tuple  {
00015   protected:
00017     ItemContainer     m_items;
00019     bool              m_isBooked;
00021     std::string       m_title;
00023     ISelectStatement* m_pSelector;
00025     char*             m_buffer;
00027     INTupleSvc*       m_ntupleSvc;
00029     IConversionSvc*   m_cnvSvc;
00030   private:
00032     TupleImp(const TupleImp&) ;
00033 
00034   public:
00036     virtual INTupleItem* i_find(const std::string& name)  const;
00037   public:
00039     TupleImp( const std::string& title);
00041     virtual ~TupleImp();
00043     ItemContainer& items()    {
00044       return m_items;
00045     }
00047     const ItemContainer& items()    const   {
00048       return m_items;
00049     }
00051     virtual const std::string&  title()         const   {
00052       return m_title;
00053     }
00055     virtual const INTupleItem* find(const std::string& name) const    {
00056       return i_find(name);
00057     }
00059     virtual INTupleItem* find(const std::string& name)    {
00060       return i_find(name);
00061     }
00063     char* buffer()    {
00064       return m_buffer;
00065     }
00067     const char* buffer()  const  {
00068       return m_buffer;
00069     }
00071     IConversionSvc* conversionService()   const  {
00072       return m_cnvSvc;
00073     }
00075     void setConversionService( IConversionSvc* svc )    {
00076       m_cnvSvc = svc;
00077     }
00079     INTupleSvc* tupleService()   const  {
00080       return m_ntupleSvc;
00081     }
00083     void setTupleService( INTupleSvc* svc )    {
00084       m_ntupleSvc = svc;
00085     }
00087     virtual StatusCode attachSelector(ISelectStatement* sel);
00089     virtual ISelectStatement* selector();
00091     virtual void setBuffer(char* buff);
00093     virtual void reset();
00095     virtual StatusCode add(INTupleItem* item);
00097     virtual StatusCode remove(INTupleItem* item);
00099     virtual StatusCode remove(const std::string& name);
00101     virtual StatusCode write();
00103     virtual StatusCode writeRecord();
00105     virtual StatusCode read();
00107     virtual StatusCode readRecord();
00109     virtual StatusCode save();
00110 
00111   };  // end class definition: Tuple
00112 
00113 
00114   // Concrete column wise N tuple class definition
00115   class ColumnWiseTuple : public TupleImp    {
00116   public:
00118     ColumnWiseTuple(const std::string& title ) : TupleImp(title)    {
00119     }
00121     virtual ~ColumnWiseTuple()   {
00122     }
00124     virtual const CLID& clID() const   {
00125       return ColumnWiseTuple::classID();
00126     }
00128     static const CLID& classID()      {
00129       return CLID_ColumnWiseTuple;
00130     }
00131   };  // end class definition: ColumnWiseTuple
00132 
00133   // Concrete column wise N tuple class definition
00134   class RowWiseTuple : public TupleImp    {
00135   public:
00137     RowWiseTuple( const std::string& title ) : TupleImp(title)    {
00138     }
00140     virtual ~RowWiseTuple()   {
00141     }
00143     virtual const CLID& clID() const   {
00144       return RowWiseTuple::classID();
00145     }
00147     static const CLID& classID()      {
00148       return CLID_RowWiseTuple;
00149     }
00150   };  // end class definition: RowWiseTuple
00151 }   // end name space NTuple
00152 
00153 #endif  // GAUDIKERNEL_NTUPLEIMP_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:56:58 2011 for GaudiKernel by doxygen 1.4.7