00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef QELE_PPORT_INTERFACE_HH
00015 #define QELE_PPORT_INTERFACE_HH
00016
00017
00018
00019 #include <string>
00020
00021
00022 #include "QCuore.hh"
00023 #include "QError.hh"
00024 #include "QEleBaseInterface.hh"
00025 #include "QPPortInterface.hh"
00026
00027 class QElePPortInterface: public QEleBaseInterface
00028 {
00029 public:
00030
00031
00032
00033 QElePPortInterface(unsigned long PPortAddress);
00034
00035
00036 virtual ~QElePPortInterface();
00037
00038
00039
00040 virtual void Open();
00041
00042
00043 virtual void Close();
00044
00045
00046 const bool IsOpen() const {return fIsOpen;}
00047
00048
00049
00050 virtual void WriteFrontEnd(const QEleLib::QEleAddress &Add, size_t Reg, char Data);
00051 virtual void ReadFrontEnd (const QEleLib::QEleAddress &Add, size_t Reg, char& Data);
00052
00053
00054 virtual void WriteBessel(const QEleLib::QEleAddress &Add, char Data);
00055 virtual void ReadBessel (const QEleLib::QEleAddress &Add, char& Data);
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065 virtual void WritePulserAttenuation(const QEleLib::QEleAddress &Add, char Attenuation);
00066 virtual void ReadPulserAttenuation (const QEleLib::QEleAddress &Add, char& Attenuation);
00067 virtual void WritePulserStatus(const QEleLib::QEleAddress &Add, char Time, char LowDAC, char Status);
00068 virtual void ReadPulserStatus (const QEleLib::QEleAddress &Add, char& Time, char& LowDAC, char& Status);
00069
00070
00071
00072 virtual const bool IsError() const {return fIsError;}
00073 virtual const std::string& GetErrorString()const {return fErrorString;}
00074 virtual const QError_ GetQErrorCode() const {return fQErrorCode;}
00075
00076
00077
00078 inline const unsigned long GetPPortAddress() const {return fPPortAddress;}
00079
00080
00081 protected:
00082
00083
00084 private:
00085
00086
00087 bool fIsOpen;
00088
00089
00090 bool fIsError;
00091 std::string fErrorString;
00092 QError_ fQErrorCode;
00093
00094
00095 unsigned long fPPortAddress;
00096
00097
00098 void ErrorReset();
00099
00100
00101 bool DecodeError(int Code);
00102
00103 };
00104
00105 #endif // QELE_PPORT_INTERFACE_HH
00106