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_

Generated on Tue Nov 16 10:49:57 2010 for CUORE Software by  doxygen 1.5.6