PowerSupply.hh
Go to the documentation of this file.00001
00010 #ifndef _POWER_SUPPLY_HH_
00011 #define _POWER_SUPPLY_HH_
00012
00013
00014
00015 #include <string>
00016 #include <map>
00017
00018 #include "BaseInstrument.hh"
00019
00020 class PowerSupply: public BaseInstrument
00021 {
00022 public:
00023
00031 PowerSupply(const std::string name, const std::string vendor, size_t n_channel);
00032
00036 virtual ~PowerSupply();
00037
00038
00042 inline const size_t GetNumberOfChannel() const {return f_numb;}
00043
00044
00054 virtual bool SetVoltage(double voltage, size_t channel)=0;
00055
00065 virtual bool GetVoltage(double& voltage, size_t channel)=0;
00066
00067
00077 virtual bool SetCurrent(double current, size_t channel)=0;
00078
00088 virtual bool GetCurrent(double& current, size_t channel)=0;
00089
00099 virtual bool GetOutputVoltage(double& voltage, size_t channel)=0;
00100
00110 virtual bool GetOutputCurrent(double& current, size_t channel)=0;
00111
00112
00123 virtual bool SetOutputEnable(bool enable, size_t channel)=0;
00124
00125
00136 virtual bool GetOutputEnable(bool& enable, size_t channel)=0;
00137
00146 inline bool EnableOutput(size_t channel) {return SetOutputEnable(true,channel);}
00147
00156 inline bool DisableOutput(size_t channel) {return SetOutputEnable(false,channel);}
00157
00158
00159
00160 protected:
00161
00162
00163
00164 private:
00165
00166 const size_t f_numb;
00168 };
00169
00170 #endif // _POWER_SUPPLY_HH_
00171