#ifndef __USBPIXDCS_H_ #define __USBPIXDCS_H_ #include #include #include #include "PixDcs.h" class USBPixDCS; using namespace std; namespace PixLib { class DBInquire; class Config; class USBPixController; class USBPixDcsChan : public PixDcsChan{ friend class USBPixDcs; public: USBPixDcsChan(PixDcs *parent, DBInquire *dbInquire); USBPixDcsChan(USBPixDcsChan &chan_in); ~USBPixDcsChan(); double ReadParam(std::string); void SetParam(std::string,double); void SetParam(string varType); std::string ReadState(std::string); void SetState(std::string); private: void configInit(); //! Init configuration structure int m_channelDescr; float m_nomVolts; bool m_chanIsOn; }; class USBPixDcs : public PixDcs { friend class USBPixDcsChan; public: // Constructor USBPixDcs(DBInquire *dbInquire, void *interface); // Destructor ~USBPixDcs(); std::string ReadState(std::string); void SetState(std::string); void initHW(); bool sendCommand(std::string &, bool){return false;}; // not implemented, so always return false USBPixDCS *getHwPtr(){return m_USBADC;}; USBPixController *getCtrl(){return m_USBPC;}; protected: USBPixDCS *m_USBADC; private: void configInit(); //! Init configuration structure USBPixController *m_USBPC; bool m_problemInit; }; } #endif