Public Member Functions | |
QPulserController () | |
ctor | |
virtual | ~QPulserController () |
dtor | |
void | Init (int settingsBasket) |
read configuration from db and init everything | |
int | Run () |
just start timer and go on waiting for timeout | |
void | Fire () |
fire pulser and send digital word to DAQ (This is the function that talk to DIO board) | |
void | PrepareNext () |
reset all IO board bits to zero | |
void | HandleTimeOut () |
this function is called at each timeout | |
void | StartDelayTimers () |
start group-based delay timers | |
Private Member Functions | |
void | BuildGroups (int settingsBasket) |
build pulser groups | |
void | BuildDelayIndexes (const std::map< unsigned short, QPulserChannel * > &pChans) |
build delay indexes | |
void | ApplySlowConfig (const unsigned short &pulseId, const QPulserConfig_t *config) |
void | PrepareDigital (const unsigned short &pulseId, const QPulserConfig_t *config) |
void | ConnectDelayTimers () |
connect group-based delay timers to HandleDelay() method | |
Private Attributes | |
QTimer< QPulserController > | fBaseTimer |
QSlowControlClient * | fSlowClient |
QBaseDigitalController * | fDioCtrl |
unsigned long | fTimeBase |
unsigned short | fNextGroupId |
long | fDelay |
std::vector< QPulserGroup * > | fGroups |
std::vector< QPulserGroup * >::const_iterator | fGroupsIt |
void QPulserController::Init | ( | int | settingsBasket | ) |
read configuration from db and init everything
settingsBasket | settings basket to be loaded (0 means standard run) |
void QPulserController::PrepareNext | ( | ) |
reset all IO board bits to zero
prepare pulser registers for next shot