00001 00009 #ifndef __QLC_CURVE_POINT_HH_ 00010 #define __QLC_CURVE_POINT_HH_ 00011 00012 #include "QCuore.hh" 00013 00014 #include <vector> 00015 #include <ostream> 00016 00017 class QLCCurvePoint { 00018 public: 00019 00021 QLCCurvePoint(); 00022 00024 virtual ~QLCCurvePoint(); 00025 00033 void SetTotalBias(const double bias) 00034 { fTotalBias = bias; } 00035 00036 00044 float GetTotalBias() const { return fTotalBias; } 00045 00047 void AddPosPolarityId(const unsigned short id); 00048 00050 void AddNegPolarityId(const unsigned short id); 00051 00053 void AddHeaterId(const unsigned short id); 00054 00056 void SetVoltage(float voltage) { fVoltage = voltage; } 00057 00059 void SetVoltageErr(float err) { fVoltageErr = err; } 00060 00062 void SetCurrent(float current) { fCurrent = current; } 00063 00065 void SetPulseHeight(const float height) { fPulseHeight = height; } 00066 00067 void SetPulseHeightErr(const float err) { fPulseHeightErr = err; } 00068 00070 const std::vector<unsigned short>& GetPosPolarityIds() const 00071 { return fPosPolarityIds; } 00072 00074 const std::vector<unsigned short>& GetNegPolarityIds() const 00075 { return fNegPolarityIds; } 00076 00078 const std::vector<unsigned short>& GetHeaterIds() const 00079 { return fHeaterIds; } 00080 00082 float GetVoltage() const { return fVoltage; } 00083 00085 float GetCurrent() const { return fCurrent; } 00086 00088 float GetPulseHeight() const { return fPulseHeight; } 00089 00090 bool IsDone() const { return fIsDone; } 00091 void SetDone() { fIsDone = true; } 00092 00094 void Dump(std::ostream& file) const; 00095 00096 private: 00097 float fVoltage; 00098 float fVoltageErr; 00099 float fCurrent; 00100 float fCurrentErr; 00101 float fPulseHeight; 00102 float fPulseHeightErr; 00104 double fTotalBias; 00106 bool fIsDone; 00109 std::vector<unsigned short> fPosPolarityIds; 00110 00112 std::vector<unsigned short> fNegPolarityIds; 00113 00115 std::vector<unsigned short> fHeaterIds; 00116 00117 }; 00118 00119 #endif // __QLC_CURVE_POINT_HH_