QBoloCheckLoadCurve.hh
Go to the documentation of this file.00001
00002 #ifndef _Q_BOLO_CHECK_LOAD_CURVE_HH_
00003 #define _Q_BOLO_CHECK_LOAD_CURVE_HH_
00004
00005 #include "QBaseLoadCurve.hh"
00006
00007 #include <map>
00008 #include <list>
00009 #include <utility>
00010 #include <Rtypes.h>
00011
00012 class QLCBoloCheckMeasurement;
00013
00023 class QBoloCheckLoadCurve: public QBaseLoadCurve
00024 {
00025 public:
00027 QBoloCheckLoadCurve(unsigned int lg);
00028
00030 virtual ~QBoloCheckLoadCurve();
00031
00033 virtual void Dump(std::ostream& os) const;
00034
00035 protected:
00044 virtual QLCBaseMeasurement*
00045 FillMeasurement(const Cuore::QEvent* ev,
00046 const QEleChannelConfig* config) const;
00047
00056 virtual void ClassifyMeasurement(const QLCBaseMeasurement* meas);
00057
00066 virtual void ProcessCurveChild();
00067
00074 virtual void SetOutputConfig();
00075
00077 virtual void SetIsActive() { fIsActive = (fIsWorking > 0)?true:false; }
00078
00079 private:
00080
00089 std::map<std::pair<Double_t, Bool_t>,
00090 std::pair<std::list<const QLCBoloCheckMeasurement*>,
00091 std::list<const QLCBoloCheckMeasurement*> > > fClassifiedMeasurements;
00092
00098 class QBoloCheckPoint
00099 {
00100 public:
00102 QBoloCheckPoint():
00103 fIBolPa(0.),
00104 fErrIBolPa(0.),
00105 fVBolMv(0.),
00106 fErrVBolMv(0.),
00107 fRBolMOhm(0.),
00108 fErrRBolMOhm(0.)
00109 {}
00110
00111 Double_t fIBolPa;
00112 Double_t fErrIBolPa;
00113 Double_t fVBolMv;
00114 Double_t fErrVBolMv;
00115 Double_t fRBolMOhm;
00116 Double_t fErrRBolMOhm;
00117 };
00118
00123 std::map<std::pair<Double_t, Bool_t>, QBoloCheckPoint> fDumpInfos;
00124
00133 int fIsWorking;
00134
00136 std::list<std::pair<Double_t, Double_t> > fResistancesMOhm;
00137 Double_t fAvgResistanceMOhm;
00138 Double_t fErrAvgResistanceMOhm;
00140 };
00141 #endif