00001 // ===================================================================== 00002 // $Id: TRunInformationTable.hh,v 1.1.1.1 2003/06/27 02:56:42 goiwai Exp $ 00003 // $Name: CLDAQ-1-06-00 $ 00004 // ===================================================================== 00005 #ifndef __TRUNINFORMATIONTABLE_HH 00006 #define __TRUNINFORMATIONTABLE_HH 00007 00008 #include "Tglobals.h" 00009 #include "TRunInformationList.hh" 00010 00011 class TOutputHtmlFileStream; 00012 00013 class TRunInformationTable 00014 { 00015 00016 public: 00017 enum { tNotFound = -1 }; 00018 00019 private: 00020 TRunInformationList theRunInformationList; 00021 00022 public: 00023 TRunInformationTable(); 00024 TRunInformationTable( const TRunInformationList& infolist ); 00025 TRunInformationTable( const TRunInformationTable& right ); 00026 ~TRunInformationTable(); 00027 00028 public: 00029 const TRunInformationTable& operator=( const TRunInformationTable& right ); 00030 Tbool operator==( const TRunInformationTable& right ) const; 00031 Tbool operator!=( const TRunInformationTable& right ) const; 00032 friend Tostream& operator<<( Tostream& tos, const TRunInformationTable& right ); 00033 friend TOutputHtmlFileStream& operator<<( TOutputHtmlFileStream& html, const TRunInformationTable& right ); 00034 friend TRunInformationTable operator+( const TRunInformationList& left, const TRunInformationTable& right ); 00035 friend TRunInformationTable operator+( const TRunInformation& left, const TRunInformationTable& right ); 00036 00037 public: 00038 TRunInformationTable operator+( const TRunInformationTable& right ) const; 00039 TRunInformationTable operator+( const TRunInformationList& right ) const; 00040 TRunInformationTable operator+( const TRunInformation& right ) const; 00041 TRunInformationTable& operator+=( const TRunInformationTable& right ); 00042 TRunInformationTable& operator+=( const TRunInformationList& right ); 00043 TRunInformationTable& operator+=( const TRunInformation& right ); 00044 00045 public: 00046 const TRunInformationList& GetRunInformationList() const; 00047 TRunInformationList& GetRunInformationList(); 00048 Tvoid SetRunInformationList( const TRunInformationList& infolist ); 00049 00050 public: 00051 Tint GetNumberOfRows() const; 00052 Tvoid SetRunInformation( const Tstring& item ); 00053 Tvoid SetRunInformation( const Tstring& item, const Tstring& value ); 00054 Tvoid SetRunInformation( const TRunInformation& runinfo ); 00055 Tvoid SetRunInformation(); 00056 Tvoid AddRunInformation( const Tstring& item ); 00057 Tvoid AddRunInformation( const Tstring& item, const Tstring& value ); 00058 Tvoid AddRunInformation( const TRunInformation& runinfo ); 00059 Tvoid AddRunInformation(); 00060 Tstring GetItem( const Tstring& value ) const; 00061 Tstring GetItem( Tint nrow ) const; 00062 Tstring GetValue( const Tstring& item ) const; 00063 Tstring GetValue( Tint nrow ) const; 00064 Tint FindItem( const Tstring& item ) const; 00065 Tint FindValue( const Tstring& value ) const; 00066 Tint FindRunInformation( const TRunInformation& runinfo ) const; 00067 Tbool HasItem( const Tstring& item ) const; 00068 Tbool HasRunInformation( const TRunInformation& runinfo ) const; 00069 Tvoid Remove( const Tstring& item ); 00070 Tvoid Remove( const TRunInformation& runinfo ); 00071 Tvoid Clear(); 00072 00073 }; 00074 00075 inline const TRunInformationList& TRunInformationTable::GetRunInformationList() const 00076 { 00077 return( theRunInformationList ); 00078 } 00079 00080 inline TRunInformationList& TRunInformationTable::GetRunInformationList() 00081 { 00082 return( theRunInformationList ); 00083 } 00084 00085 inline Tvoid TRunInformationTable::SetRunInformationList( const TRunInformationList& infolist ) 00086 { 00087 theRunInformationList = infolist; 00088 return; 00089 } 00090 00091 #endif