00001 // ===================================================================== 00028 // ===================================================================== 00029 #ifndef CLDAQ__TVMEMODULE_HH 00030 #define CLDAQ__TVMEMODULE_HH 00031 00032 #include "Tglobals.h" 00033 #include "TModule.hh" 00034 00035 00055 class TVmeModule 00056 : public TModule 00057 { 00058 00059 protected: 00060 Tsize_t theMappedSize; 00061 TvmeTransfer_t theTransferMode; 00062 Tint theFileDescriptor; 00063 Tcaddr_t theBaseAddress; 00064 Toff_t theOffsetAddress; 00065 00066 public: 00067 TVmeModule( Tint nch, Toff_t offset, Tint mapsize, TvmeTransfer_t mode ); 00068 TVmeModule( const TVmeModule& right ); 00069 00070 protected: 00071 virtual ~TVmeModule(); 00072 00073 public: 00074 virtual const TVmeModule& operator=( const TVmeModule& right ); 00075 virtual Tbool operator==( const TVmeModule& right ) const; 00076 virtual Tbool operator!=( const TVmeModule& right ) const; 00077 00078 public: 00079 Tsize_t GetMappedSize() const; 00080 TvmeTransfer_t GetTransferMode() const; 00081 Tint GetFileDescriptor() const; 00082 Tcaddr_t GetBaseAddress() const; 00083 Toff_t GetOffsetAddress() const; 00084 Tvoid SetMappedSize( Tsize_t mapsize ); 00085 Tvoid SetTransferMode( TvmeTransfer_t mode ); 00086 Tvoid SetFileDescriptor( Tint fd ); 00087 Tvoid SetBaseAddress( Tcaddr_t address ); 00088 Tvoid SetOffsetAddress( Toff_t offset ); 00089 00090 protected: 00091 Tvoid showBit( TUshort data, const Tstring comment = "" ) const; 00092 Tvoid setBit( TUshort* ptr, Tint nbit, Tbit bit ); 00093 Tbit getBit( TUshort* ptr, Tint nbit ) const; 00094 00095 #ifdef __CLDAQ_ROOT_DLL 00096 ClassDef(TVmeModule,0) 00097 #endif 00098 00099 }; 00100 00101 inline Tsize_t TVmeModule::GetMappedSize() const 00102 { 00103 return theMappedSize; 00104 } 00105 00106 inline TvmeTransfer_t TVmeModule::GetTransferMode() const 00107 { 00108 return theTransferMode; 00109 } 00110 00111 inline Tint TVmeModule::GetFileDescriptor() const 00112 { 00113 return theFileDescriptor; 00114 } 00115 00116 inline Tcaddr_t TVmeModule::GetBaseAddress() const 00117 { 00118 return theBaseAddress; 00119 } 00120 00121 inline Toff_t TVmeModule::GetOffsetAddress() const 00122 { 00123 return theOffsetAddress; 00124 } 00125 00126 inline Tvoid TVmeModule::SetMappedSize( Tsize_t mapsize ) 00127 { 00128 theMappedSize = mapsize; 00129 return; 00130 } 00131 00132 inline Tvoid TVmeModule::SetTransferMode( TvmeTransfer_t mode ) 00133 { 00134 theTransferMode = mode; 00135 return; 00136 } 00137 00138 inline Tvoid TVmeModule::SetFileDescriptor( Tint fd ) 00139 { 00140 theFileDescriptor = fd; 00141 return; 00142 } 00143 00144 inline Tvoid TVmeModule::SetBaseAddress( Tcaddr_t address ) 00145 { 00146 theBaseAddress = address; 00147 return; 00148 } 00149 00150 inline Tvoid TVmeModule::SetOffsetAddress( Toff_t offset ) 00151 { 00152 theOffsetAddress = offset; 00153 return; 00154 } 00155 00156 #endif