QBoloCheckLoadCurve Class Reference

Inheritance diagram for QBoloCheckLoadCurve:

QOnlineMessenger

List of all members.


Detailed Description

version of load curve for bolometers check procedure

Author:
Sergio Di Domizio This class is used in conjunction with MLCBoloCheckController to determine whether a bolometer is alive (i.e. whteher or not its resistance is within a certain range of values).

Public Member Functions

 QBoloCheckLoadCurve (unsigned int lg)
 ctor
virtual ~QBoloCheckLoadCurve ()
 dtor
virtual void Dump (std::ostream &os) const
 dump curve to ostream

Protected Member Functions

virtual QLCBaseMeasurementFillMeasurement (const Cuore::QEvent *ev, const QEleChannelConfig *config) const
 read from ev physical quantities evaluated by diana modules and store them in the returned object
virtual void ClassifyMeasurement (const QLCBaseMeasurement *meas)
virtual void ProcessCurveChild ()
virtual void SetOutputConfig ()
virtual void SetIsActive ()

Private Attributes

std::map< std::pair< Double_t,
Bool_t >, std::pair< std::list
< const
QLCBoloCheckMeasurement * >
, std::list< const
QLCBoloCheckMeasurement * > > > 
fClassifiedMeasurements
std::map< std::pair< Double_t,
Bool_t >, QBoloCheckPoint
fDumpInfos
int fIsWorking
std::list< std::pair< Double_t,
Double_t > > 
fResistancesMOhm
Double_t fAvgResistanceMOhm
Double_t fErrAvgResistanceMOhm

Classes

class  QBoloCheckPoint
 stores informations needed by Dump() method -- for internal use More...

Member Function Documentation

QLCBaseMeasurement * QBoloCheckLoadCurve::FillMeasurement ( const Cuore::QEvent *  ev,
const QEleChannelConfig config 
) const [protected, virtual]

read from ev physical quantities evaluated by diana modules and store them in the returned object

Parameters:
config const ptr to QEleChannelConfig object
Returns:
pointer to new created QLCBaseMeasurement object, or NULL if the passed event is not relevant for the current load curves procedure

References QLCBoloCheckMeasurement::SetBaselineMv(), and QLCBoloCheckMeasurement::SetBaselineRmsMv().

void QBoloCheckLoadCurve::ClassifyMeasurement ( const QLCBaseMeasurement meas  )  [protected, virtual]

measurements are classified based on:

  • nominal bias value
  • bias polarity
  • load resistance A pair of (bias voltage, load resistance) values identify a curve point, which is further splitted in positive and negative polarity measurements.

References fClassifiedMeasurements, QEleChannelConfig::GetBiasPolarity(), QEleChannelConfig::GetExternalBias(), and QEleChannelConfig::GetLoadResistance().

void QBoloCheckLoadCurve::ProcessCurveChild (  )  [protected, virtual]

A pair of (vBol, iBol) values (and the corresponding errors) is extracted for each pair of (vBias, rLoad) values.
The value of the bolometer resistance is evaluated as the weighted average of the resistance values extracted from each point.
The bolometer is assumed to be working if the resistance is in the range 1 MOhm - 10 GOhm.

References QDbDetector::DN_HALLC, QDbDetector::DN_HALLC_CUORE, fAvgResistanceMOhm, fClassifiedMeasurements, fDumpInfos, fErrAvgResistanceMOhm, QBoloCheckLoadCurve::QBoloCheckPoint::fErrIBolPa, QBoloCheckLoadCurve::QBoloCheckPoint::fErrRBolMOhm, QBoloCheckLoadCurve::QBoloCheckPoint::fErrVBolMv, QBoloCheckLoadCurve::QBoloCheckPoint::fIBolPa, fIsWorking, QBoloCheckLoadCurve::QBoloCheckPoint::fRBolMOhm, fResistancesMOhm, QBoloCheckLoadCurve::QBoloCheckPoint::fVBolMv, QOnlineMessenger::OLError(), QOnlineMessenger::OLInfo(), QOnlineMessenger::OLWarn(), and THIS_DETECTOR.

void QBoloCheckLoadCurve::SetOutputConfig (  )  [protected, virtual]

  • input mode, which is set to "gnd" for non working bolometers
  • for working bolometers, load resistance is set to a value that is appropriate for the measured value of rBol. Also, based on rBol, the internal bias value could be set to a reasonable value (tbd).

References fClassifiedMeasurements, and fIsWorking.

virtual void QBoloCheckLoadCurve::SetIsActive (  )  [inline, protected, virtual]

this is determined based on the outcome of ProcessCurveChild()

References fIsWorking.


Member Data Documentation

std::map<std::pair<Double_t, Bool_t>, std::pair<std::list<const QLCBoloCheckMeasurement*>, std::list<const QLCBoloCheckMeasurement*> > > QBoloCheckLoadCurve::fClassifiedMeasurements [private]

Map used to classify measurements.
The key of the map is a pair of (bias voltage, load resistance) values.
The value is a pair of list of measurements: the first (second) element in this pair is the list of measurements with positive (negative) bias polarity.

Referenced by ClassifyMeasurement(), Dump(), ProcessCurveChild(), and SetOutputConfig().

std::map<std::pair<Double_t, Bool_t>, QBoloCheckPoint> QBoloCheckLoadCurve::fDumpInfos [private]

Map used to classify informations to be dumped. The key is the same as in fClassifiedMeasurements

Referenced by Dump(), and ProcessCurveChild().

Set by the ProcessChild() method. This variable tells whether the bolometer associated to this curve is working.
It can have three values:

  • -1: not enough information to make the evaluation (not working)
  • 0: the evaluation was successful but the bolometer is not working
  • 1: the bolometer is working

Referenced by ProcessCurveChild(), SetIsActive(), and SetOutputConfig().

std::list<std::pair<Double_t, Double_t> > QBoloCheckLoadCurve::fResistancesMOhm [private]

pairs of (rBol, errRbol) values, in MOhm

Referenced by ProcessCurveChild().

average resistance in MOhm

Referenced by Dump(), and ProcessCurveChild().

error on average resistance in MOhm

Referenced by Dump(), and ProcessCurveChild().


The documentation for this class was generated from the following files:

Generated on Tue Nov 16 10:50:04 2010 for CUORE Software by  doxygen 1.5.6