MLCSlowController Class Reference
[Modules]

Inheritance diagram for MLCSlowController:

QModule QBaseModule List of all members.

Detailed Description

to be done

Author:
sergio.didomizio@ge.infn.it
The purpose of this module is to handle parallelization in the load curves procedure.


Public Member Functions

 MLCSlowController (QSequence *s)
 constructor
virtual ~MLCSlowController ()
 destructor
void Init ()
 Init method.
QEventDo (QEvent *ev)
 return immediately if there are still measurements to be performed with current electronics configuration, or prepare new configuration if there are no channels that are still waiting for a measurement with current one
void Done ()
 Done method.

Private Types

enum  QLCStepMode { QLC_STEP_LINEAR, QLC_STEP_LOG }

Private Member Functions

void GroupChannels (const std::list< unsigned short > &channels)
 group logical channels in subgroups
void InitConfig (QLCSlowConfig &conf, const bool polarity)
 init QLCMeasConfig object with default front end settings values
void GetInitParameters ()
 get parameters for first measurement from config file (or elsewhere). See config example for the list of init parameters
virtual bool PopulateNextConfig ()
 determine electronics configuration for next set of measurements and apply to hardware
bool IncrementExternalBias (int step=0)
 increment or decrement external bias
float GetExtBiasStepSize () const
 get step size (in Volts) for external bias incrementation
void SetExtBiasStepSize (const float size)
 set step size (in Volts) for external bias incrementation

Private Attributes

std::vector< std::list< unsigned
short > > 
fGroups
 vector of logical channel subgroups. Each element is in turn a list of logical channels belonging to a given subgroup
short fDefaultBias
short fDefaultGain
bool fDefaultResistance
float fExtBiasStepSize
float fDefaultExternalBias
bool fAdjustOffsetAtStartup
QLCStepMode fStepMode
 step mode, defaults to QLC_STEP_LOG


Member Enumeration Documentation

enum MLCSlowController::QLCStepMode [private]

possible modes for external bias voltage incrementation

Enumerator:
QLC_STEP_LINEAR  bias voltage is incremented by the same amount at each step
QLC_STEP_LOG  the smaller the bias voltage, the smaller the incrementation step size


Member Function Documentation

void MLCSlowController::Init (  )  [virtual]

Init method.

This method reads init values from cfg, create channel groups to be processed at each iteration of the load curves sequence and initialize the QLCSlowConfigHandler singleton.

Implements QModule.

void MLCSlowController::GroupChannels ( const std::list< unsigned short > &  channels  )  [private]

group logical channels in subgroups

Parameters:
channels list of all logical channels to be grouped
channels are grouped in ascending order and with the group size specified in the cfg file

void MLCSlowController::InitConfig ( QLCSlowConfig conf,
const bool  polarity 
) [private]

init QLCMeasConfig object with default front end settings values

Parameters:
conf QLCMeasConfig object to be initialized (passed by reference)
polarity bias polarity to be set in new configuration

bool MLCSlowController::PopulateNextConfig (  )  [private, virtual]

determine electronics configuration for next set of measurements and apply to hardware

Returns:
false unless all curves are done and the measurement can be stopped

bool MLCSlowController::IncrementExternalBias ( int  step = 0  )  [private]

increment or decrement external bias

Parameters:
step number of step for incrementation, defaults to 0 (automatic). Step size is set by calling SetExtBiasStepSize(). Positive values will increase external bias, while negative values will decrement it. In case of 0 number of steps is determined automatically based on the value of the variable fStepMode.
Returns:
true on success, false on failure


Member Data Documentation

short MLCSlowController::fDefaultBias [private]

bias voltage used for 1st measurement

short MLCSlowController::fDefaultGain [private]

gain used for 1st measurement

bool MLCSlowController::fDefaultResistance [private]

load resistance used for 1st measurement

float MLCSlowController::fExtBiasStepSize [private]

external bias incrementation step size in V

bool MLCSlowController::fAdjustOffsetAtStartup [private]

if true the offset is adjusted at the startup to the value hardcoded in QLCSlowConfigHandler::ApplyConfig()


The documentation for this class was generated from the following files:
Generated on Fri Mar 6 13:40:41 2009 for CUORE Software by  doxygen 1.5.1