00001 #ifndef MEMORYTUPLEDATA_H 00002 #define MEMORYTUPLEDATA_H 00003 00004 #include <map> 00005 #include <string> 00006 #include <vector> 00007 00008 namespace AIDA { 00009 namespace Dev { 00010 class ITupleVariableDescription; 00011 } 00012 } 00013 00014 00015 namespace Anaphe { 00016 namespace AIDA_MemoryStore { 00017 00018 class MemoryTupleData 00019 { 00020 public: 00021 MemoryTupleData(); 00022 ~MemoryTupleData(); 00023 00024 const std::string& title() const { return m_title; } 00025 void title( const std::string t ) { m_title = t; } 00026 00027 const std::vector< AIDA::Dev::ITupleVariableDescription * >& variables() const { return m_variables; } 00028 std::vector< AIDA::Dev::ITupleVariableDescription * >& variables() { return m_variables; } 00029 00030 const std::map< int, std::vector< double > >& doubleVariableData() const { return m_doubleVariableData; } 00031 std::map< int, std::vector< double > >& doubleVariableData() { return m_doubleVariableData; } 00032 00033 const std::map< int, std::vector< float > >& floatVariableData() const { return m_floatVariableData; } 00034 std::map< int, std::vector< float > >& floatVariableData() { return m_floatVariableData; } 00035 00036 const std::map< int, std::vector< long > >& longVariableData() const { return m_longVariableData; } 00037 std::map< int, std::vector< long > >& longVariableData() { return m_longVariableData; } 00038 00039 const std::map< int, std::vector< int > >& intVariableData() const { return m_intVariableData; } 00040 std::map< int, std::vector< int > >& intVariableData() { return m_intVariableData; } 00041 00042 const std::map< int, std::vector< short > >& shortVariableData() const { return m_shortVariableData; } 00043 std::map< int, std::vector< short > >& shortVariableData() { return m_shortVariableData; } 00044 00045 const std::map< int, std::vector< char > >& charVariableData() const { return m_charVariableData; } 00046 std::map< int, std::vector< char > >& charVariableData() { return m_charVariableData; } 00047 00048 const std::map< int, std::vector< bool > >& boolVariableData() const { return m_boolVariableData; } 00049 std::map< int, std::vector< bool > >& boolVariableData() { return m_boolVariableData; } 00050 00051 const std::map< int, std::vector< std::string > >& stringVariableData() const { return m_stringVariableData; } 00052 std::map< int, std::vector< std::string > >& stringVariableData() { return m_stringVariableData; } 00053 00054 const std::map< int, std::vector< MemoryTupleData* > >& tupleVariableData() const { return m_tupleVariableData; } 00055 std::map< int, std::vector< MemoryTupleData* > >& tupleVariableData() { return m_tupleVariableData; } 00056 00057 private: 00058 std::string m_title; 00059 std::vector< AIDA::Dev::ITupleVariableDescription * > m_variables; 00060 std::map< int, std::vector< double > > m_doubleVariableData; 00061 std::map< int, std::vector< float > > m_floatVariableData; 00062 std::map< int, std::vector< long > > m_longVariableData; 00063 std::map< int, std::vector< int > > m_intVariableData; 00064 std::map< int, std::vector< short > > m_shortVariableData; 00065 std::map< int, std::vector< char > > m_charVariableData; 00066 std::map< int, std::vector< bool > > m_boolVariableData; 00067 std::map< int, std::vector< std::string > > m_stringVariableData; 00068 std::map< int, std::vector< MemoryTupleData* > > m_tupleVariableData; 00069 }; 00070 00071 } 00072 } 00073 00074 #endif