QEleCheckLoadCurve Class Reference

Inheritance diagram for QEleCheckLoadCurve:

QOnlineMessenger

List of all members.


Detailed Description

version of load curve for electronics check procedure

Author:
Sergio Di Domizio This class is used in conjunction with MLCEleCheckController to determine whether an electronics channel is working. A channel is considered to be working if, when the input is closed on a resistance with a fixed value, the output is proportional to the amplitude of a test signal.
This is determined by performing a linear fit on couples of (test signal, output) values, and checking whether the slope of the fit is significantly different from zero.
See the documentation of ProcessCurveChild() method for further details.

Public Member Functions

 QEleCheckLoadCurve (unsigned int lg)
 ctor
virtual ~QEleCheckLoadCurve ()
 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)
 measurements are classified based on test signal parameters
virtual void ProcessCurveChild ()
virtual void SetOutputConfig ()
virtual void SetIsActive ()

Private Attributes

std::map< int, std::list
< const QLCEleCheckMeasurement * > > 
fClassifiedMeasurements
int fIsWorking
TGraphErrors * fGraph

Member Function Documentation

QLCBaseMeasurement * QEleCheckLoadCurve::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 QLCEleCheckMeasurement::SetBaselineMv(), and QLCEleCheckMeasurement::SetBaselineRmsMv().

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

measurements are classified based on test signal parameters

The parameters are test_signal_pos-test_signal_neg and test_signal_pol (or something like that...)

References fClassifiedMeasurements, QEleChannelConfig::GetTestSignalNeg(), and QEleChannelConfig::GetTestSignalPos().

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

fit the measurements with a straight line.

  • x = test_signal_pos-test_signal_neg
  • y = sum_i {BaselineMv[i]/sigma[i]^2}/sum_i{1/sigma[i]^2}
  • sigma_i = BaselineRMS

The index i runs over all the measurements performed with a given value of x.

The channel is assumed to work if the fit has a non null slope (within the error).

References fClassifiedMeasurements, fGraph, fIsWorking, QOnlineMessenger::OLInfo(), and QOnlineMessenger::OLWarn().

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

Output configuration corresponds to the input ones but for the input signal configuration (all input configuration are expected to be the same but for the value of the test signals). If the channel was found to be working, the input signal is set to "bolometer", otherwise it is left to "test signal".

References fClassifiedMeasurements, and fIsWorking.

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

this is determined based on the outcome of ProcessCurveChild()

References fIsWorking.


Member Data Documentation

std::map<int, std::list<const QLCEleCheckMeasurement*> > QEleCheckLoadCurve::fClassifiedMeasurements [private]

key: test_sig_pos-test_sig_neg, value: corresponding measurements

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

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

  • -1: not enough information to perform the fit (not working)
  • 0: the fit was successful but the channel is not working
  • 1: the channel is working

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

TGraphErrors* QEleCheckLoadCurve::fGraph [private]

used to store informations in the final data processing phase

Referenced by Dump(), ProcessCurveChild(), and ~QEleCheckLoadCurve().


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

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