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