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 int > &channels) |
group logical channels in subgroups | |
void | InitConfig (QEleChannelConfig &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 int > > | fGroups |
vector of logical channel subgroups. Each element is in turn a list of logical channels belonging to a given subgroup | |
std::map< unsigned int, QEleChannelConfig > | fGroupStartConfigs |
std::map< unsigned int, QEleChannelConfig > | fDumpStartConfigs |
std::set< unsigned int > | fNextChannels |
std::string | fTmpConfigOutputFile |
std::string | fConfigOutputFile |
QLCConfigWriter | fFullCfgWriter |
QLCConfigReader | fCfgReader |
QLCConfigWriter | fCfgWriter |
bool | fGndMeasurement |
int | fRL |
int | fBias |
double | fExternalBias |
bool | fInvertPolarity |
bool | fAdjustOffset |
bool | fGGMeasurement |
std::map< unsigned int, unsigned int > | fEventsPerConfig |
int | fMaxEvPerConfig |
QWPCommon::Step | fStep |
int | fGain |
unsigned int | fDaqRun |
bool | fReadConfigFromFile |
std::map< unsigned int, Offset > | fOffsetsMap |
Classes | |
struct | Offset |
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.
References QWPSlowConfigHandler::Clear(), QBaseModule::Debug(), Done(), QBaseModule::Error(), fGroups, QBaseModule::GetBool(), QDbDetector::GetCurrentRunNumber(), QBaseModule::GetDouble(), QEleConverter::GetInstance(), QWPSlowConfigHandler::GetInstance(), QBaseModule::GetInt(), QBaseModule::GetIteration(), QDbDetector::GetListOfChannels(), QEleConverter::GetRealBias(), QEleConverter::GetRealGain(), QEleConverter::GetRealResistance(), QBaseModule::GetString(), GroupChannels(), QBaseModule::Info(), QLCConfigWriter::M_WP, QLCConfigReader::Open(), QBaseModule::Panic(), PopulateNextConfig(), QBaseModule::SeqAuxData(), QWPSlowConfigHandler::SetActiveChannels(), QEleConverter::SetExternalBias(), QWPSlowConfigHandler::SetSleepTime(), and QBaseModule::Warn().
void MWPSlowController::GroupChannels | ( | const std::list< unsigned int > & | channels | ) | [private] |
group logical channels in subgroups
channels | list of all logical channels to be grouped |
References fGroups, QBaseModule::GetInt(), and QBaseModule::Info().
Referenced by Init().
void MWPSlowController::InitConfig | ( | QEleChannelConfig & | 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
References QLCConfigWriter::Add(), QWPSlowConfigHandler::AddConfig(), QWPSlowConfigHandler::AddNextScheduled(), QWPSlowConfigHandler::Consolidate(), QBaseModule::Debug(), QEleChannelConfig::Dump(), QBaseModule::Error(), QLCConfigReader::Get(), QWPSlowConfigHandler::GetActiveChannels(), QEleChannelConfig::GetBiasPolarity(), QWPSlowConfigHandler::GetInstance(), QWPSlowConfigHandler::GetNextScheduled(), QWPSlowConfigHandler::GetPresentConfig(), QBaseModule::Info(), QLCConfigWriter::M_WP, QBaseModule::Panic(), QEleChannelConfig::SetBias(), QEleChannelConfig::SetBiasPolarity(), QEleChannelConfig::SetExternalBias(), QEleChannelConfig::SetGain(), QEleChannelConfig::SetInput(), QEleChannelConfig::SetLoadResistance(), QEleChannelConfig::SetOffset(), QBaseModule::Warn(), and QLCConfigWriter::Write().