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()