QPulserController Class Reference

List of all members.

Detailed Description

main class for pulser sequence control

Author:
sergio.didomizio@ge.infn.it


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< QPulserControllerfBaseTimer
QSlowControlClientfSlowClient
QBaseDigitalControllerfDioCtrl
unsigned long fTimeBase
unsigned short fNextGroupId
long fDelay
std::vector< QPulserGroup * > fGroups
std::vector< QPulserGroup
* >::const_iterator 
fGroupsIt


Member Function Documentation

void QPulserController::Init ( int  settingsBasket  ) 

read configuration from db and init everything

Parameters:
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


The documentation for this class was generated from the following files:
Generated on Fri Mar 6 13:40:44 2009 for CUORE Software by  doxygen 1.5.1