00001 // ===================================================================== 00024 // ===================================================================== 00025 #ifndef CLDAQ__TREADOUTSEGMENT_HH 00026 #define CLDAQ__TREADOUTSEGMENT_HH 00027 00028 #include "Tglobals.h" 00029 #include "TReadoutIdentification.hh" 00030 #include "TReadoutElementList.hh" 00031 00032 class TModule; 00033 class TDataSegment; 00034 00035 00055 class TReadoutSegment 00056 : public TReadoutIdentification, public TReadoutElementList 00057 { 00058 00059 private: 00060 TModule* theModule; 00061 00062 public: 00063 TReadoutSegment( const Tstring& id = TunknownID ); 00064 TReadoutSegment( TModule* module, const Tstring& id = TunknownID ); 00065 TReadoutSegment( TModule* module, Tint ch, const Tstring& id = TunknownID ); 00066 TReadoutSegment( TModule* module, const TstringList& elementid, const Tstring& id = TunknownID ); 00067 TReadoutSegment( TModule* module, const Tstring elementid[], const Tstring& id = TunknownID ); 00068 TReadoutSegment( const TReadoutSegment& right ); 00069 ~TReadoutSegment(); 00070 00071 public: 00072 const TReadoutSegment& operator=( const TReadoutSegment& right ); 00073 Tbool operator==( const TReadoutSegment& right ) const; 00074 Tbool operator!=( const TReadoutSegment& right ) const; 00075 00076 public: 00077 TDataSegment Read(); 00078 00079 public: 00080 TModule* GetModule() const; 00081 Tvoid SetModule( TModule* module ); 00082 00083 }; 00084 00085 inline TModule* TReadoutSegment::GetModule() const 00086 { 00087 return theModule; 00088 } 00089 00090 inline Tvoid TReadoutSegment::SetModule( TModule* module ) 00091 { 00092 theModule = module; 00093 return; 00094 } 00095 00096 #endif