QEleBaseInterface.hh
00001
00010 #ifndef QELE_BASE_INTERFACE_HH
00011 #define QELE_BASE_INTERFACE_HH
00012
00013
00014
00015 #include <string>
00016
00017
00018 #include "QCuore.hh"
00019 #include "QError.hh"
00020
00021
00022 #include "QEleChannel.hh"
00023
00024
00025 class QEleBaseInterface
00026 {
00027 public:
00028
00029
00030
00031 QEleBaseInterface(QSlowTypes::QSlowEleInterface_t type);
00032
00033
00034 virtual ~QEleBaseInterface() {}
00035
00036
00037 virtual void Open()=0;
00038
00039
00040 virtual void Close()=0;
00041
00042
00043 virtual const bool IsOpen()const=0;
00044
00045
00046 virtual void WriteFrontEnd(const QEleLib::QEleAddress& Add, unsigned int Reg, char Data)=0;
00047 virtual void ReadFrontEnd (const QEleLib::QEleAddress& Add, unsigned int Reg, char& Data)=0;
00048
00049
00050 virtual void WriteBessel(const QEleLib::QEleAddress &Add, char Data)=0;
00051 virtual void ReadBessel (const QEleLib::QEleAddress &Add, char& Data)=0;
00052
00053
00054 virtual void WritePulserAttenuation(const QEleLib::QEleAddress &Add, char Attenuation)=0;
00055 virtual void ReadPulserAttenuation (const QEleLib::QEleAddress &Add, char& Attenuation)=0;
00056 virtual void WritePulserStatus(const QEleLib::QEleAddress &Add, char Time, char LowDAC, char Status)=0;
00057 virtual void ReadPulserStatus (const QEleLib::QEleAddress &Add, char& Time, char& LowDAC, char& Status)=0;
00058
00059
00060 virtual const bool IsError() const=0;
00061 virtual const std::string& GetErrorString() const=0;
00062 virtual const QError_ GetQErrorCode() const=0;
00063
00064
00065 inline const QSlowTypes::QSlowEleInterface_t GetType() const {return fType;}
00066
00067 protected:
00068
00069
00070 private:
00071
00072 QSlowTypes::QSlowEleInterface_t fType;
00073
00074
00075 };
00076
00077 #endif // QELE_BASE_INTERFACE_HH
00078