00001 // ===================================================================== 00024 // ===================================================================== 00025 #ifndef CLDAQ__TREADOUTELEMENT_HH 00026 #define CLDAQ__TREADOUTELEMENT_HH 00027 00028 #include "Tglobals.h" 00029 #include "TReadoutIdentification.hh" 00030 00031 class TModule; 00032 class TDataElement; 00033 00034 00054 class TReadoutElement 00055 : public TReadoutIdentification 00056 { 00057 00058 private: 00059 TModule* theModule; 00060 Tint theChannelNumber; 00061 00062 public: 00063 TReadoutElement( TModule* module, const Tstring& id = TunknownID, Tint ch = -1 ); 00064 TReadoutElement( TModule* module, Tint ch, const Tstring& id = TunknownID ); 00065 TReadoutElement( const TReadoutElement& right ); 00066 ~TReadoutElement(); 00067 00068 public: 00069 const TReadoutElement& operator=( const TReadoutElement& right ); 00070 Tbool operator==( const TReadoutElement& right ) const; 00071 Tbool operator!=( const TReadoutElement& right ) const; 00072 00073 public: 00074 TDataElement Read(); 00075 TDataElement Read( Tint ch ); 00076 00077 public: 00078 TModule* GetModule() const; 00079 Tvoid SetModule( TModule* module ); 00080 Tint GetChannelNumber() const; 00081 Tvoid SetChannelNumber( Tint ch ); 00082 00083 }; 00084 00085 inline TModule* TReadoutElement::GetModule() const 00086 { 00087 return theModule; 00088 } 00089 00090 inline Tvoid TReadoutElement::SetModule( TModule* module ) 00091 { 00092 theModule = module; 00093 return; 00094 } 00095 00096 inline Tint TReadoutElement::GetChannelNumber() const 00097 { 00098 return theChannelNumber; 00099 } 00100 00101 inline Tvoid TReadoutElement::SetChannelNumber( Tint ch ) 00102 { 00103 theChannelNumber = ch; 00104 return; 00105 } 00106 00107 #endif