00001 // ===================================================================== 00024 // ===================================================================== 00025 #ifndef CLDAQ__TREADOUTBOOK_HH 00026 #define CLDAQ__TREADOUTBOOK_HH 00027 00028 #include "Tglobals.h" 00029 #include "TReadoutIndex.hh" 00030 00031 class TReadoutList; 00032 class TDataRecord; 00033 00034 00054 class TReadoutBook 00055 { 00056 00057 private: 00058 TReadoutIndex theReadoutIndex; 00059 00060 public: 00061 TReadoutBook(); 00062 ~TReadoutBook(); 00063 00064 public: 00065 const TReadoutIndex& GetReadoutIndex() const; 00066 TReadoutIndex& GetReadoutIndex(); 00067 Tvoid SetReadoutIndex( const TReadoutIndex& index ); 00068 00069 public: 00070 Tint AddReadoutList( TReadoutList* readoutlist ); 00071 Tint RemoveReadoutList( Tint index ); 00072 Tint RemoveReadoutList( const Tstring& id ); 00073 Tvoid ClearReadoutBook(); 00074 TReadoutList* FindReadoutList( const Tstring& id ); 00075 TReadoutList* GetReadoutList( Tint index ); 00076 TReadoutList* GetReadoutList( const Tstring& id ); 00077 TDataRecord Read( const Tstring& id ); 00078 00079 }; 00080 00081 inline const TReadoutIndex& TReadoutBook::GetReadoutIndex() const 00082 { 00083 return theReadoutIndex; 00084 } 00085 00086 inline TReadoutIndex& TReadoutBook::GetReadoutIndex() 00087 { 00088 return theReadoutIndex; 00089 } 00090 00091 inline Tvoid TReadoutBook::SetReadoutIndex( const TReadoutIndex& index ) 00092 { 00093 theReadoutIndex = index; 00094 return; 00095 } 00096 00097 #endif