Inheritance diagram for MLCSlowController:

The purpose of this module is to handle parallelization in the load curves procedure.
module LCSlowController
verbosity = info
enable = true
InitBias = 1.543
InitGain = 448
InitResistance = 54
GroupSize = 10
SleepAfterChange = 10
BiasStep = 0.1
StepMode = log
endmod
Public Member Functions | |
| MLCSlowController (QSequence *s) | |
| constructor | |
| virtual | ~MLCSlowController () |
| destructor | |
| void | Init () |
| Init method. | |
| QEvent * | Do (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 | |
enum MLCSlowController::QLCStepMode [private] |
| 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
| channels | list of all logical channels to be grouped |
| void MLCSlowController::InitConfig | ( | QLCSlowConfig & | conf, | |
| const bool | polarity | |||
| ) | [private] |
init QLCMeasConfig object with default front end settings values
| 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
| bool MLCSlowController::IncrementExternalBias | ( | int | step = 0 |
) | [private] |
increment or decrement external bias
| 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. |
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()
1.5.1