Main Page   Namespace List   Alphabetical List   Compound List   File List   Compound Members   File Members  

ObjyTuple.h

Go to the documentation of this file.
00001 #ifndef ANAPHE_AIDA_OBJYSTORE_OBJYTUPLE_H
00002 #define ANAPHE_AIDA_OBJYSTORE_OBJYTUPLE_H
00003 
00004 #include <map>
00005 #include <vector>
00006 #include <string>
00007 
00008 class HepExplorable;
00009 class HepExplorableGenericTags;
00010 template< class T > class HepExplorableAttribute;
00011 
00012 namespace AIDA {
00013   namespace Dev {
00014     class ITupleHeader;
00015     class IDevTupleFactory;
00016   }
00017 }
00018 
00019 namespace Anaphe {
00020   namespace AIDA_ObjectivityStore {
00021 
00022 class ObjyTuple
00023 {
00024 public:
00025   ObjyTuple( HepExplorable& explorable );
00026   ~ObjyTuple();
00027 
00028   bool writeDescription( const AIDA::Dev::ITupleHeader& header );
00029   bool readDescription( AIDA::Dev::ITupleHeader& header,
00030                         AIDA::Dev::IDevTupleFactory& factory );
00031 
00032   bool bindVariable( int variableIndex );
00033   bool clearBindings();
00034   bool writeTupleRow( int rowNumber );
00035   bool readTupleRow( int rowNumber );
00036   bool reset();
00037   void* variableAddress( int variableIndex );
00038   const void* variableAddress( int variableIndex ) const;
00039 
00040 private:
00041   HepExplorable&                                           m_explorable;
00042   HepExplorableGenericTags*                                m_tagCollection;
00043   int                                                      m_currentRowNumber;
00044   std::vector<void*>                                       m_variableAddresses;
00045   std::vector<std::string>                                 m_variableNames;
00046   std::map<unsigned int, HepExplorableAttribute<double>* > m_doubleVariables;
00047   std::map<unsigned int, HepExplorableAttribute<float>* >  m_floatVariables;
00048   std::map<unsigned int, HepExplorableAttribute<long>* >   m_longVariables;
00049   std::map<unsigned int, HepExplorableAttribute<short>* >  m_shortVariables;
00050   std::map<unsigned int, HepExplorableAttribute<char>* >   m_charVariables;
00051 };
00052 
00053   }
00054 }
00055 
00056 #endif
00057 

Generated on Tue Nov 19 12:32:34 2002 for AIDA_ObjectivityStore by doxygen1.2.16