00001 // ===================================================================== 00002 // $Id: TReadoutSegment.hh,v 1.2 2003/07/05 23:53:49 goiwai Exp $ 00003 // $Name: CLDAQ-1-06-00 $ 00004 // ===================================================================== 00005 #ifndef __TREADOUTSEGMENT_HH 00006 #define __TREADOUTSEGMENT_HH 00007 00008 #include "Tglobals.h" 00009 #include "TReadoutIdentification.hh" 00010 #include "TReadoutElementList.hh" 00011 00012 class TModule; 00013 class TDataSegment; 00014 00015 class TReadoutSegment 00016 : public TReadoutIdentification, public TReadoutElementList 00017 { 00018 00019 private: 00020 TModule* theModule; 00021 00022 public: 00023 TReadoutSegment( const Tstring& id = TunknownID ); 00024 TReadoutSegment( TModule* module, const Tstring& id = TunknownID ); 00025 TReadoutSegment( TModule* module, Tint ch, const Tstring& id = TunknownID ); 00026 TReadoutSegment( TModule* module, const TstringList& elementid, const Tstring& id = TunknownID ); 00027 TReadoutSegment( TModule* module, const Tstring elementid[], const Tstring& id = TunknownID ); 00028 TReadoutSegment( const TReadoutSegment& right ); 00029 ~TReadoutSegment(); 00030 00031 public: 00032 const TReadoutSegment& operator=( const TReadoutSegment& right ); 00033 Tbool operator==( const TReadoutSegment& right ) const; 00034 Tbool operator!=( const TReadoutSegment& right ) const; 00035 00036 public: 00037 TDataSegment Read(); 00038 00039 public: 00040 TModule* GetModule() const; 00041 Tvoid SetModule( TModule* module ); 00042 00043 }; 00044 00045 inline TModule* TReadoutSegment::GetModule() const 00046 { 00047 return( theModule ); 00048 } 00049 00050 inline Tvoid TReadoutSegment::SetModule( TModule* module ) 00051 { 00052 theModule = module; 00053 return; 00054 } 00055 00056 #endif