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