Public Member Functions | |
virtual | ~QDaqServer () |
dtor | |
const QDaqState | GetState () const |
get current daq state | |
int | GetCurrentRun () const |
get current run number | |
bool | SetTriggerFlag (const unsigned int crateId, const bool flag) |
bool | StartProcesses (int settingsBasket, int run, int shifterSet) |
bool | Pause () |
bool | Resume () |
bool | Stop (int shifterSet) |
void | ResetError () |
bool | HasError () const |
const QError & | GetError () const |
Static Public Member Functions | |
static QDaqServer & | GetInstance () |
singleton getter | |
Private Member Functions | |
QDaqServer () | |
private constructor | |
bool | StartRun () |
send start signal to readers, senders and receivers | |
bool | Abort () |
kill all non server processes that are known to be running | |
void | SetState (const QDaqState &s) |
set daq state | |
bool | StartMuonReader (const std::string &address) |
start muon reader process | |
bool | StartPulserController (const std::string &address) |
start muon pulser controller process | |
bool | StartReader (int crateId, const std::string &address, int extClock) |
start DataReader process | |
bool | StartSender (int crateId, const std::string &address) |
start DataSender process | |
bool | StartReceiver (int crateId) |
start DataReceiver process | |
bool | StartBuilder () |
start Builder process | |
bool | StartProcess (const std::string &process, const std::string &address, const std::string &options, ProcessStatus_t status) |
start a process on a certain host | |
bool | KillProcess (const std::string &process, const std::string &host, const std::string &signal) |
bool | KillProcess (const std::string &process, const std::string &host, const std::string &signal, const std::string &killOpts) |
ProcessStatus_t | AskStatus (const std::string &process) |
bool | CheckStatus (const std::string &process, ProcessStatus_t status, float timeout) |
check real process status again supplied status code | |
bool | Unregistered (const std::string &process, float timeout) |
wait for a process to unregister from message logger server | |
ProcessStatus_t | GetStatusCode (const std::string &message) |
convert message server answer to corresponding status code | |
void | Clear () |
const char * | GetDateString () const |
Private Attributes | |
QDaqState | fDaqState |
int | fSettingsBasket |
int | fRun |
std::string | fDaqUser |
std::string | fPathBin |
std::string | fPathLog |
std::string | fReceiverAddr |
std::string | fPulserAddr |
std::string | fLoggerAddr |
std::string | fLoggerPort |
std::string | fDianaCfg |
std::string | fEnvFile |
int | ReceiverBasePort |
bool | fUseMuonReader |
bool | fUsePulser |
bool | fUseBuilder |
bool | fReleaseReceiver |
bool | fSaveChannels |
int | fSimulaHardware |
const float | fTimeOut |
bool | fBuilderIsRunning |
bool | fPulserControllerIsRunning |
bool | fMuonReaderIsRunning |
QError | fError |
std::map< std::string, std::string > | fReaders |
std::map< std::string, std::string > | fSenders |
std::vector< std::string > | fReceivers |
bool QDaqServer::StartRun | ( | ) | [private] |
send start signal to readers, senders and receivers
bool QDaqServer::Abort | ( | ) | [private] |
kill all non server processes that are known to be running
bool QDaqServer::StartMuonReader | ( | const std::string & | address | ) | [private] |
start muon reader process
address | network address of the computer on which the muon reader is to be started |
bool QDaqServer::StartPulserController | ( | const std::string & | address | ) | [private] |
start muon pulser controller process
address | network address of the computer on which the pulser controller is to be started |
bool QDaqServer::StartReader | ( | int | crateId, | |
const std::string & | address, | |||
int | extClock | |||
) | [private] |
start DataReader process
crateId | id of the crate connected to the reader to be started | |
addres | network address of the computer hosting the reader | |
extClock | whether or not to use external clock for data acquisition |
bool QDaqServer::StartSender | ( | int | crateId, | |
const std::string & | address | |||
) | [private] |
start DataSender process
crateId | id of the reader associated to the sender to be started | |
addres | network address of the computer hosting the sender |
bool QDaqServer::StartReceiver | ( | int | crateId | ) | [private] |
start DataReceiver process
crateId | id of the sender associated to the receiver to be started |
bool QDaqServer::StartBuilder | ( | ) | [private] |
start Builder process
bool QDaqServer::StartProcess | ( | const std::string & | process, | |
const std::string & | address, | |||
const std::string & | options, | |||
ProcessStatus_t | status | |||
) | [private] |
start a process on a certain host
process | name of the process to be started | |
address | network address of the host where the process will be started | |
options | string containing command line options that will be passed to the process | |
status | expected status that the newly started process will have |
bool QDaqServer::CheckStatus | ( | const std::string & | process, | |
ProcessStatus_t | status, | |||
float | timeout | |||
) | [private] |
check real process status again supplied status code
process | process for which status is checked | |
status | status code against which real process status is compared | |
timeout | time to wait before giving up and returning false |
bool QDaqServer::Unregistered | ( | const std::string & | process, | |
float | timeout | |||
) | [private] |
wait for a process to unregister from message logger server
process | process to be checked | |
timeout | time to wait before giving up and returning false |
ProcessStatus_t QDaqServer::GetStatusCode | ( | const std::string & | message | ) | [private] |
convert message server answer to corresponding status code
message | answer to be converted |
QDaqState QDaqServer::fDaqState [private] |
current daq status
int QDaqServer::fSettingsBasket [private] |
settings basket identifier
int QDaqServer::fRun [private] |
run number
std::string QDaqServer::fDaqUser [private] |
username for ssh connections
std::string QDaqServer::fPathBin [private] |
path to binaries
std::string QDaqServer::fPathLog [private] |
path to log files
std::string QDaqServer::fReceiverAddr [private] |
DataReceiver host name
std::string QDaqServer::fPulserAddr [private] |
PulserController host name
std::string QDaqServer::fLoggerAddr [private] |
message server address
std::string QDaqServer::fLoggerPort [private] |
message server port
std::string QDaqServer::fDianaCfg [private] |
Builder config file name
std::string QDaqServer::fEnvFile [private] |
file containing environment variables
int QDaqServer::ReceiverBasePort [private] |
base value for receiver listen port
bool QDaqServer::fUseMuonReader [private] |
whether or not muon reader is in use
bool QDaqServer::fUsePulser [private] |
whether or not pulser controller is in use
bool QDaqServer::fUseBuilder [private] |
whether or not event builder is in use
bool QDaqServer::fReleaseReceiver [private] |
whether or not to release data in receiver
bool QDaqServer::fSaveChannels [private] |
whether or not to save continuous data stream
int QDaqServer::fSimulaHardware [private] |
whether or not to simulate hardware for DAQ
const float QDaqServer::fTimeOut [private] |
timeout for CheckStatus() method
bool QDaqServer::fBuilderIsRunning [private] |
true if Builder is running
bool QDaqServer::fPulserControllerIsRunning [private] |
true if PulserController is running
bool QDaqServer::fMuonReaderIsRunning [private] |
true if MuonReader is running
QError QDaqServer::fError [private] |
stores error informations in case of failure
std::map<std::string,std::string> QDaqServer::fReaders [private] |
map of running reader processes and corresponding network host
std::map<std::string,std::string> QDaqServer::fSenders [private] |
map of running sender processes and corresponding network host
std::vector<std::string> QDaqServer::fReceivers [private] |
vector of running receiver processes