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