00001 //File: VmeModule.h 00002 00003 #ifndef SCTPIXELROD_VMEMODULE_H 00004 #define SCTPIXELROD_VMEMODULE_H 00005 00007 00015 #include "../VmeInterface/VmeInterface.h" 00016 #include "processor.h" 00017 00018 namespace SctPixelRod { 00019 00020 class VmeModule { 00021 public: 00022 // Constructor 00023 VmeModule( UINT32 baseAddress, UINT32 mapSize, VmeInterface & ourInterface) : 00024 m_ourInterface(ourInterface) { 00025 m_baseAddress=baseAddress; 00026 m_mapSize=mapSize; 00027 } 00028 00029 // Destructor 00030 virtual ~VmeModule() {}; 00031 00032 // Copy constructor 00033 VmeModule( const VmeModule & rhs); 00034 00035 // Assignment operator 00036 VmeModule & operator=(const VmeModule &); 00037 00039 void setBaseAddress( UINT32 baseAddress) { 00040 m_baseAddress = baseAddress; 00041 }; 00042 00044 UINT32 getBaseAddress() const { return m_baseAddress; }; 00045 00047 void setVmeInterface(VmeInterface & ourInterface) { m_ourInterface = ourInterface; }; 00048 00050 VmeInterface & getVmeInterface() const { return m_ourInterface; }; 00051 00053 void setMapSize(UINT32 mapSize) { m_mapSize = mapSize;}; 00054 00056 UINT32 getMapSize() const {return m_mapSize;}; 00057 00059 virtual void initialize() = 0; 00060 00062 virtual void reset() = 0; 00063 00065 virtual void status() = 0; 00066 00067 protected: 00068 00070 UINT32 m_baseAddress; 00071 00073 UINT32 m_mapSize; 00074 00076 VmeInterface & m_ourInterface; 00077 00078 }; // End of VmeModule declaration 00079 00080 }; // End namespace SctPixelRod 00081 #endif // SCTPIXELROD_VMEMODULE_H