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