QLCCurvePoint.hh
00001
00009 #ifndef __QLC_CURVE_POINT_HH_
00010 #define __QLC_CURVE_POINT_HH_
00011
00012 #include "QCuore.hh"
00013
00014 #include <set>
00015 #include <ostream>
00016
00017 class QLCMeasurement;
00018
00019 class QLCCurvePoint {
00020 public:
00021
00023 QLCCurvePoint();
00024
00026 virtual ~QLCCurvePoint();
00027
00035 void SetTotalBias(const double bias)
00036 { fTotalBias = bias; }
00037
00038
00046 float GetTotalBias() const { return fTotalBias; }
00047
00049 void AddPosPolarityMeas(const QLCMeasurement* const meas);
00050
00052 void AddNegPolarityMeas(const QLCMeasurement* const meas);
00053
00055 void AddHeaterMeas(const QLCMeasurement* const meas);
00056
00058 void SetVoltage(float voltage) { fVoltage = voltage; }
00059
00061 void SetVoltageErr(float err) { fVoltageErr = err; }
00062
00064 void SetCurrent(float current) { fCurrent = current; }
00065
00067 void SetPulseHeight(const float height) { fPulseHeight = height; }
00068
00069 void SetPulseHeightErr(const float err) { fPulseHeightErr = err; }
00070
00072 const std::set<const QLCMeasurement*>& GetPosPolarityMeasurements() const
00073 { return fPosPolarityMeasurements; }
00074
00076 const std::set<const QLCMeasurement*>& GetNegPolarityMeasurements() const
00077 { return fNegPolarityMeasurements; }
00078
00080 const std::set<const QLCMeasurement*>& GetHeaterMeasurements() const
00081 { return fHeaterMeasurements; }
00082
00084 float GetVoltage() const { return fVoltage; }
00085
00087 float GetCurrent() const { return fCurrent; }
00088
00090 float GetPulseHeight() const { return fPulseHeight; }
00091
00092 bool IsDone() const { return fIsDone; }
00093 void SetDone() { fIsDone = true; }
00094
00096 void Dump(std::ostream& file) const;
00097
00098 private:
00099 float fVoltage;
00100 float fVoltageErr;
00101 float fCurrent;
00102 float fCurrentErr;
00103 float fPulseHeight;
00104 float fPulseHeightErr;
00106 double fTotalBias;
00108 bool fIsDone;
00111 std::set<const QLCMeasurement*> fPosPolarityMeasurements;
00112
00114 std::set<const QLCMeasurement*> fNegPolarityMeasurements;
00115
00117 std::set<const QLCMeasurement*> fHeaterMeasurements;
00118
00119 };
00120
00121 #endif // __QLC_CURVE_POINT_HH_