00001 // ===================================================================== 00024 // ===================================================================== 00025 #ifndef CLDAQ__TSOFTWARERUNINFORMATIONMODULE_HH 00026 #define CLDAQ__TSOFTWARERUNINFORMATIONMODULE_HH 00027 00028 #include "Tglobals.h" 00029 #include "TSoftwareModule.hh" 00030 #include "TRunInformationTable.hh" 00031 00032 class TDataSegment; 00033 class TDataElement; 00034 00035 00055 class TSoftwareRunInformationModule 00056 : public TSoftwareModule 00057 { 00058 00059 private: 00060 TRunInformationTable theRunInformationTable; 00061 00062 public: 00063 TSoftwareRunInformationModule(); 00064 TSoftwareRunInformationModule( const TRunInformationTable& table ); 00065 TSoftwareRunInformationModule( const TSoftwareRunInformationModule& right ); 00066 ~TSoftwareRunInformationModule(); 00067 00068 public: 00069 Tint Clear(); 00070 Tint Update(); 00071 Tint Initialize(); 00072 Tvoid FillData( TDataElement& element, Tint channel ); 00073 00074 public: 00075 const TSoftwareRunInformationModule& operator=( const TSoftwareRunInformationModule& right ); 00076 Tbool operator==( const TSoftwareRunInformationModule& right ) const; 00077 Tbool operator!=( const TSoftwareRunInformationModule& right ) const; 00078 00079 public: 00080 TRunInformationTable& GetRunInformationTable(); 00081 const TRunInformationTable& GetRunInformationTable() const; 00082 Tvoid SetRunInformationTable( const TRunInformationTable& table ); 00083 00084 }; 00085 00086 inline TRunInformationTable& TSoftwareRunInformationModule::GetRunInformationTable() 00087 { 00088 return theRunInformationTable; 00089 } 00090 00091 inline const TRunInformationTable& TSoftwareRunInformationModule::GetRunInformationTable() const 00092 { 00093 return theRunInformationTable; 00094 } 00095 00096 inline Tvoid TSoftwareRunInformationModule::SetRunInformationTable( const TRunInformationTable& table ) 00097 { 00098 theRunInformationTable = table; 00099 theNumberOfChannels = theRunInformationTable.GetNumberOfRows(); 00100 return; 00101 } 00102 00103 #endif