00001 // ===================================================================== 00028 // ===================================================================== 00029 #ifndef CLDAQ__TREADOUTBOOK_HH 00030 #define CLDAQ__TREADOUTBOOK_HH 00031 00032 #include "Tglobals.h" 00033 #include "TReadoutIndex.hh" 00034 00035 class TReadoutList; 00036 class TDataRecord; 00037 00038 00058 class TReadoutBook 00059 { 00060 00061 private: 00062 TReadoutIndex theReadoutIndex; 00063 00064 public: 00065 TReadoutBook(); 00066 ~TReadoutBook(); 00067 00068 public: 00069 const TReadoutIndex& GetReadoutIndex() const; 00070 TReadoutIndex& GetReadoutIndex(); 00071 Tvoid SetReadoutIndex( const TReadoutIndex& index ); 00072 00073 public: 00074 Tint AddReadoutList( TReadoutList* readoutlist ); 00075 Tint RemoveReadoutList( Tint index ); 00076 Tint RemoveReadoutList( const Tstring& id ); 00077 Tvoid ClearReadoutBook(); 00078 TReadoutList* FindReadoutList( const Tstring& id ); 00079 TReadoutList* GetReadoutList( Tint index ); 00080 TReadoutList* GetReadoutList( const Tstring& id ); 00081 TDataRecord Read( const Tstring& id ); 00082 00083 #ifdef __CLDAQ_ROOT_DLL 00084 ClassDef(TReadoutBook,0) 00085 #endif 00086 00087 }; 00088 00089 inline const TReadoutIndex& TReadoutBook::GetReadoutIndex() const 00090 { 00091 return theReadoutIndex; 00092 } 00093 00094 inline TReadoutIndex& TReadoutBook::GetReadoutIndex() 00095 { 00096 return theReadoutIndex; 00097 } 00098 00099 inline Tvoid TReadoutBook::SetReadoutIndex( const TReadoutIndex& index ) 00100 { 00101 theReadoutIndex = index; 00102 return; 00103 } 00104 00105 #endif