Inheritance diagram for MWPSlowController:
The purpose of this module is to handle parallelization in the load curves procedure.
driver WPSlowController verbosity = info enable = true InitBias = 1.543 InitGain = 448 InitResistance = 54 GroupSize = 10 SleepAfterChange = 10 BiasStep = 0.1 StepMode = log endmod
Public Member Functions | |
MWPSlowController (QSequence *s) | |
constructor | |
virtual | ~MWPSlowController () |
destructor | |
Action | Init () |
Init method. | |
Action | 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 | |
Action | Done () |
Done method. | |
Private Member Functions | |
void | GroupChannels (const std::list< unsigned short > &channels) |
group logical channels in subgroups | |
void | InitConfig (QLCSlowConfig &conf) |
init QLCMeasConfig object with default front end settings values | |
QWPCommon::Step | PopulateNextConfig (const QWPCommon::Step step) |
determine electronics configuration for next set of measurements and apply to hardware | |
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 | |
std::map< unsigned short, QLCSlowConfig > | fGroupStartConfigs |
std::map< unsigned short, QLCSlowConfig > | fDumpStartConfigs |
std::set< unsigned short > | fNextChannels |
std::string | fTmpConfigOutputFile |
std::string | fConfigOutputFile |
QLCConfigWriter | fFullCfgWriter |
QLCConfigReader | fCfgReader |
bool | fGndMeasurement |
int | fRL |
int | fBias |
double | fExternalBias |
bool | fInvertPolarity |
bool | fAdjustOffset |
QWPCommon::Step | fStep |
short | fGain |
unsigned int | fDaqRun |
bool | fReadConfigFromFile |
QDriver::Action MWPSlowController::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 QDriver.
void MWPSlowController::GroupChannels | ( | const std::list< unsigned short > & | channels | ) | [private] |
group logical channels in subgroups
channels | list of all logical channels to be grouped |
void MWPSlowController::InitConfig | ( | QLCSlowConfig & | conf | ) | [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 |
QWPCommon::Step MWPSlowController::PopulateNextConfig | ( | const QWPCommon::Step | step | ) | [private] |
determine electronics configuration for next set of measurements and apply to hardware