QLCCurvePoint.hh
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 int id);
00048
00050 void AddNegPolarityId(const unsigned int id);
00051
00053 void AddHeaterId(const unsigned int 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 int>& GetPosPolarityIds() const
00071 { return fPosPolarityIds; }
00072
00074 const std::vector<unsigned int>& GetNegPolarityIds() const
00075 { return fNegPolarityIds; }
00076
00078 const std::vector<unsigned int>& 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 int> fPosPolarityIds;
00110
00112 std::vector<unsigned int> fNegPolarityIds;
00113
00115 std::vector<unsigned int> fHeaterIds;
00116
00117 };
00118
00119 #endif // __QLC_CURVE_POINT_HH_