00001 // ===================================================================== 00002 // $Id: TReadoutElement.hh,v 1.3 2003/07/30 16:20:11 goiwai Exp $ 00003 // $Name: CLDAQ-1-08-00 $ 00004 // 00005 // $Log: TReadoutElement.hh,v $ 00006 // Revision 1.3 2003/07/30 16:20:11 goiwai 00007 // ファイルにコミットログをつけることにしました. 00008 // 00009 // ===================================================================== 00010 #ifndef __TREADOUTELEMENT_HH 00011 #define __TREADOUTELEMENT_HH 00012 00013 #include "Tglobals.h" 00014 #include "TReadoutIdentification.hh" 00015 00016 class TModule; 00017 class TDataElement; 00018 00019 class TReadoutElement 00020 : public TReadoutIdentification 00021 { 00022 00023 private: 00024 TModule* theModule; 00025 Tint theChannelNumber; 00026 00027 public: 00028 TReadoutElement( TModule* module, const Tstring& id = TunknownID, Tint ch = -1 ); 00029 TReadoutElement( TModule* module, Tint ch, const Tstring& id = TunknownID ); 00030 TReadoutElement( const TReadoutElement& right ); 00031 ~TReadoutElement(); 00032 00033 public: 00034 const TReadoutElement& operator=( const TReadoutElement& right ); 00035 Tbool operator==( const TReadoutElement& right ) const; 00036 Tbool operator!=( const TReadoutElement& right ) const; 00037 00038 public: 00039 TDataElement Read(); 00040 TDataElement Read( Tint ch ); 00041 00042 public: 00043 TModule* GetModule() const; 00044 Tvoid SetModule( TModule* module ); 00045 Tint GetChannelNumber() const; 00046 Tvoid SetChannelNumber( Tint ch ); 00047 00048 }; 00049 00050 inline TModule* TReadoutElement::GetModule() const 00051 { 00052 return( theModule ); 00053 } 00054 00055 inline Tvoid TReadoutElement::SetModule( TModule* module ) 00056 { 00057 theModule = module; 00058 return; 00059 } 00060 00061 inline Tint TReadoutElement::GetChannelNumber() const 00062 { 00063 return( theChannelNumber ); 00064 } 00065 00066 inline Tvoid TReadoutElement::SetChannelNumber( Tint ch ) 00067 { 00068 theChannelNumber = ch; 00069 return; 00070 } 00071 00072 #endif