#include <ReadoutApplication.h>
Public Member Functions | |
ReadoutApplication () | |
virtual | ~ReadoutApplication () |
virtual bool | IsModulesRunning () |
bool | DoRawReadout () const |
bool | DoSuperCombiner () const |
int | NumRocs () const |
std::string | RocAddr (int index=0) const |
int | NumSusibo () const |
int | SusiboAddr (int index=0) const |
int | NumSlaves () const |
std::string | SlaveAddr (int index=0) const |
int | NumMbs () const |
std::string | MbsAddr (int index=0) const |
int | NumTRBs () const |
std::string | TRBAddr (int index=0) const |
std::string | DataServerKind () const |
std::string | OutputFileName () const |
std::string | EpicsStreamNode () const |
std::string | EpicsTransportNode () const |
virtual bool | CreateAppModules () |
virtual bool | AfterAppModulesStopped () |
virtual bool | BeforeAppModulesDestroyed () |
virtual int | SMCommandTimeout () const |
virtual int | ExecuteCommand (dabc::Command cmd) |
bool | CreateRawOpticInput (const std::string &portname, const std::string &rocaddr, bool isfirstoptic, int numoptics) |
bool | CreateRawUdpInput (const std::string &portname, const std::string &rocaddr, int rocindx) |
Static Public Member Functions | |
static bool | CreateRocCombiner (const char *modulename, bool bnetmode, const char *inppoolname, const char *outpoolname, unsigned buffersize, int numoutputs, bool skiperrordata, roc::BoardsVector &brds) |
Protected Types | |
enum | ECalibrationState { calNONE, calOFF, calON } |
Protected Member Functions | |
bool | SwitchCalibrationMode (bool on) |
bool | ConnectSlave (int nslave, int ninp) |
virtual void | ProcessParameterEvent (const dabc::ParameterEvent &evnt) |
virtual double | ProcessTimeout (double last_diff) |
bool | StartFile (const std::string &filename) |
bool | StopFile () |
int | NumOpticRocs () |
int | NumUdpRocs () |
Protected Attributes | |
roc::BoardsVector | fRocBrds |
bool | fRawReadout |
bool | fSuperCombiner |
bool | fDoMeasureADC |
bool | fCheckSlavesConn |
int | fFirstSlavePort |
bool | fMasterNode |
std::string | fServerOutPort |
std::string | fFileOutPort |
ECalibrationState | fCalibrState |
Definition at line 33 of file ReadoutApplication.h.
enum roc::ReadoutApplication::ECalibrationState [protected] |
List of boards for put/get operations
Definition at line 113 of file ReadoutApplication.h.
roc::ReadoutApplication::ReadoutApplication | ( | ) |
Definition at line 44 of file ReadoutApplication.cxx.
References fCheckSlavesConn, fDoMeasureADC, fFileOutPort, fFirstSlavePort, fMasterNode, fRawReadout, fServerOutPort, fSuperCombiner, NumMbs(), NumRocs(), NumSlaves(), NumSusibo(), NumTRBs(), roc::xmlCalibrationLength, roc::xmlCalibrationPeriod, roc::xmlEpicsStreamNode, roc::xmlEpicsTransportNode, roc::xmlGet4ResetLimit, roc::xmlGet4ResetPeriod, roc::xmlIgnoreMissingEpoch, roc::xmlMbsAddr, roc::xmlMeasureADC, roc::xmlNumMbs, roc::xmlNumRocs, roc::xmlNumSlaves, roc::xmlNumSusibo, roc::xmlNumTRBs, roc::xmlRawFile, roc::xmlRawReadout, roc::xmlRocFebs, roc::xmlRocIp, roc::xmlSlaveAddr, roc::xmlSpillAux, roc::xmlSpillRoc, roc::xmlSusiboAddr, roc::xmlSyncNumber, roc::xmlSyncScaleDown, roc::xmlSyncSubeventId, roc::xmlTRBAddr, and roc::xmlUseDLM.
roc::ReadoutApplication::~ReadoutApplication | ( | ) | [virtual] |
Definition at line 152 of file ReadoutApplication.cxx.
bool roc::ReadoutApplication::AfterAppModulesStopped | ( | ) | [virtual] |
Definition at line 950 of file ReadoutApplication.cxx.
References calON, fCalibrState, and SwitchCalibrationMode().
bool roc::ReadoutApplication::BeforeAppModulesDestroyed | ( | ) | [virtual] |
Definition at line 957 of file ReadoutApplication.cxx.
References fRocBrds, and roc::BoardsVector::returnBoards().
bool roc::ReadoutApplication::ConnectSlave | ( | int | nslave, | |
int | ninp | |||
) | [protected] |
Definition at line 891 of file ReadoutApplication.cxx.
References DoRawReadout(), nameSuperComb, SlaveAddr(), and roc::xmlSyncSubeventId.
Referenced by CreateAppModules(), and ProcessTimeout().
bool roc::ReadoutApplication::CreateAppModules | ( | ) | [virtual] |
Definition at line 477 of file ReadoutApplication.cxx.
References roc::BoardsVector::addRoc(), ConnectSlave(), CreateRawOpticInput(), CreateRawUdpInput(), CreateRocCombiner(), DataServerKind(), DoRawReadout(), DoSuperCombiner(), EpicsStreamNode(), EpicsTransportNode(), fCalibrState, fDoMeasureADC, fFileOutPort, fFirstSlavePort, fRawReadout, fRocBrds, fServerOutPort, fSuperCombiner, roc::Board::IsOpticAddress(), MbsAddr(), nameRocComb, nameSuperComb, nameSusiboComb, nameTRBComb, nameTRBTrans, roc::BoardsVector::numAdc(), NumMbs(), NumOpticRocs(), NumRocs(), NumSlaves(), NumSusibo(), NumTRBs(), NumUdpRocs(), OutputFileName(), roc::BoardsVector::returnBoards(), RocAddr(), StartFile(), SusiboAddr(), TRBAddr(), roc::xmlMeasureADC, roc::xmlRawReadout, roc::xmlRocFebs, roc::xmlRocPool, and roc::xmlSyncSubeventId.
bool roc::ReadoutApplication::CreateRawOpticInput | ( | const std::string & | portname, | |
const std::string & | rocaddr, | |||
bool | isfirstoptic, | |||
int | numoptics | |||
) |
Definition at line 213 of file ReadoutApplication.cxx.
References roc::typeAbbDevice, and roc::xmlBoardAddr.
Referenced by CreateAppModules().
bool roc::ReadoutApplication::CreateRawUdpInput | ( | const std::string & | portname, | |
const std::string & | rocaddr, | |||
int | rocindx | |||
) |
Definition at line 265 of file ReadoutApplication.cxx.
References base::roleDAQ, base::roleToString(), roc::typeUdpDevice, roc::xmlBoardAddr, and roc::xmlRole.
Referenced by CreateAppModules().
bool roc::ReadoutApplication::CreateRocCombiner | ( | const char * | modulename, | |
bool | bnetmode, | |||
const char * | inppoolname, | |||
const char * | outpoolname, | |||
unsigned | buffersize, | |||
int | numoutputs, | |||
bool | skiperrordata, | |||
roc::BoardsVector & | brds | |||
) | [static] |
Definition at line 298 of file ReadoutApplication.cxx.
References roc::BoardsVector::addDLMDev(), roc::CmdGetBoardPtr::Board(), base::Board::getMsgFormat(), base::Board::getTransportKind(), roc::Board::IsOpticAddress(), roc::Board::rocNumber(), base::roleDAQ, base::roleToString(), roc::BoardsVector::setBoard(), roc::typeAbbDevice, roc::typeUdpDevice, roc::xmlBnetMode, roc::xmlBoardAddr, roc::xmlRole, and roc::xmlSkipErrorData.
Referenced by CreateAppModules(), and bnet::RocWorkerApplication::CreateCombiner().
std::string roc::ReadoutApplication::DataServerKind | ( | ) | const |
Kind of MBS server in text format (Stream, Transport)
Definition at line 157 of file ReadoutApplication.cxx.
Referenced by CreateAppModules().
bool roc::ReadoutApplication::DoRawReadout | ( | ) | const [inline] |
Return true if raw-readout will be performed
Definition at line 42 of file ReadoutApplication.h.
References fRawReadout.
Referenced by ConnectSlave(), CreateAppModules(), and IsModulesRunning().
bool roc::ReadoutApplication::DoSuperCombiner | ( | ) | const [inline] |
Return true if super combiner runs on the current node
Definition at line 45 of file ReadoutApplication.h.
References fSuperCombiner.
Referenced by CreateAppModules(), and IsModulesRunning().
std::string roc::ReadoutApplication::EpicsStreamNode | ( | ) | const [inline] |
Definition at line 82 of file ReadoutApplication.h.
References roc::xmlEpicsStreamNode.
Referenced by CreateAppModules().
std::string roc::ReadoutApplication::EpicsTransportNode | ( | ) | const [inline] |
Definition at line 84 of file ReadoutApplication.h.
References roc::xmlEpicsTransportNode.
Referenced by CreateAppModules().
int roc::ReadoutApplication::ExecuteCommand | ( | dabc::Command | cmd | ) | [virtual] |
Definition at line 985 of file ReadoutApplication.cxx.
References roc::CmdCalibration::FlagName(), fRocBrds, roc::BoardsVector::produceSystemMessage(), roc::BoardsVector::ResetAllGet4(), StartFile(), StopFile(), and SwitchCalibrationMode().
bool roc::ReadoutApplication::IsModulesRunning | ( | ) | [virtual] |
Definition at line 964 of file ReadoutApplication.cxx.
References DoRawReadout(), DoSuperCombiner(), nameRocComb, nameSuperComb, nameSusiboComb, nameTRBComb, nameTRBTrans, NumRocs(), NumSusibo(), and NumTRBs().
std::string roc::ReadoutApplication::MbsAddr | ( | int | index = 0 |
) | const |
Address of addition MBS server of index
Definition at line 188 of file ReadoutApplication.cxx.
References NumMbs(), and roc::xmlMbsAddr.
Referenced by CreateAppModules().
int roc::ReadoutApplication::NumMbs | ( | ) | const [inline] |
Number of MBS servers to readout
Definition at line 66 of file ReadoutApplication.h.
References roc::xmlNumMbs.
Referenced by CreateAppModules(), MbsAddr(), and ReadoutApplication().
int roc::ReadoutApplication::NumOpticRocs | ( | ) | [protected] |
Definition at line 195 of file ReadoutApplication.cxx.
References roc::Board::IsOpticAddress(), NumRocs(), and RocAddr().
Referenced by CreateAppModules().
int roc::ReadoutApplication::NumRocs | ( | ) | const [inline] |
Number of ROCs connected to ReadoutModule
Definition at line 48 of file ReadoutApplication.h.
References roc::xmlNumRocs.
Referenced by CreateAppModules(), IsModulesRunning(), NumOpticRocs(), NumUdpRocs(), ReadoutApplication(), and RocAddr().
int roc::ReadoutApplication::NumSlaves | ( | ) | const [inline] |
Number of slave DABC application, used for readout
Definition at line 60 of file ReadoutApplication.h.
References roc::xmlNumSlaves.
Referenced by CreateAppModules(), ProcessTimeout(), ReadoutApplication(), and SlaveAddr().
int roc::ReadoutApplication::NumSusibo | ( | ) | const [inline] |
Number of SPADIC chip to readout
Definition at line 54 of file ReadoutApplication.h.
References roc::xmlNumSusibo.
Referenced by CreateAppModules(), IsModulesRunning(), ReadoutApplication(), and SusiboAddr().
int roc::ReadoutApplication::NumTRBs | ( | ) | const [inline] |
Number of TRB board readout
Definition at line 72 of file ReadoutApplication.h.
References roc::xmlNumTRBs.
Referenced by CreateAppModules(), IsModulesRunning(), ReadoutApplication(), and TRBAddr().
int roc::ReadoutApplication::NumUdpRocs | ( | ) | [protected] |
Definition at line 204 of file ReadoutApplication.cxx.
References roc::Board::IsOpticAddress(), NumRocs(), and RocAddr().
Referenced by CreateAppModules().
std::string roc::ReadoutApplication::OutputFileName | ( | ) | const [inline] |
Definition at line 80 of file ReadoutApplication.h.
References roc::xmlRawFile.
Referenced by CreateAppModules().
void roc::ReadoutApplication::ProcessParameterEvent | ( | const dabc::ParameterEvent & | evnt | ) | [protected, virtual] |
Definition at line 1111 of file ReadoutApplication.cxx.
References fCheckSlavesConn.
double roc::ReadoutApplication::ProcessTimeout | ( | double | last_diff | ) | [protected, virtual] |
Definition at line 1124 of file ReadoutApplication.cxx.
References ConnectSlave(), fCheckSlavesConn, fFirstSlavePort, nameSuperComb, and NumSlaves().
std::string roc::ReadoutApplication::RocAddr | ( | int | index = 0 |
) | const |
Address for ROC of index
Definition at line 162 of file ReadoutApplication.cxx.
References NumRocs(), and roc::xmlRocIp.
Referenced by CreateAppModules(), NumOpticRocs(), and NumUdpRocs().
std::string roc::ReadoutApplication::SlaveAddr | ( | int | index = 0 |
) | const |
Address for slave dabc application of index
Definition at line 181 of file ReadoutApplication.cxx.
References NumSlaves(), and roc::xmlSlaveAddr.
Referenced by ConnectSlave().
virtual int roc::ReadoutApplication::SMCommandTimeout | ( | ) | const [inline, virtual] |
Definition at line 92 of file ReadoutApplication.h.
bool roc::ReadoutApplication::StartFile | ( | const std::string & | filename | ) | [protected] |
Definition at line 852 of file ReadoutApplication.cxx.
References fFileOutPort, and fMasterNode.
Referenced by CreateAppModules(), and ExecuteCommand().
bool roc::ReadoutApplication::StopFile | ( | ) | [protected] |
Definition at line 875 of file ReadoutApplication.cxx.
References fFileOutPort, and nameSuperComb.
Referenced by ExecuteCommand().
int roc::ReadoutApplication::SusiboAddr | ( | int | index = 0 |
) | const |
Address for SPADIC chip of index
Definition at line 174 of file ReadoutApplication.cxx.
References NumSusibo(), and roc::xmlSusiboAddr.
Referenced by CreateAppModules().
bool roc::ReadoutApplication::SwitchCalibrationMode | ( | bool | on | ) | [protected] |
Definition at line 1066 of file ReadoutApplication.cxx.
References roc::BoardsVector::autoped_switch(), calOFF, calON, fCalibrState, fDoMeasureADC, fRocBrds, nameRocComb, and roc::BoardsVector::readoutExtraMessages().
Referenced by AfterAppModulesStopped(), and ExecuteCommand().
std::string roc::ReadoutApplication::TRBAddr | ( | int | index = 0 |
) | const |
Address for TRB of index
Definition at line 168 of file ReadoutApplication.cxx.
References NumTRBs(), and roc::xmlTRBAddr.
Referenced by CreateAppModules().
port name where file output should be connected
Definition at line 124 of file ReadoutApplication.h.
Referenced by AfterAppModulesStopped(), CreateAppModules(), and SwitchCalibrationMode().
bool roc::ReadoutApplication::fCheckSlavesConn [protected] |
if true, measures all values on all febsd
Definition at line 118 of file ReadoutApplication.h.
Referenced by ProcessParameterEvent(), ProcessTimeout(), and ReadoutApplication().
bool roc::ReadoutApplication::fDoMeasureADC [protected] |
true if super combiner is necessary
Definition at line 117 of file ReadoutApplication.h.
Referenced by CreateAppModules(), ReadoutApplication(), and SwitchCalibrationMode().
std::string roc::ReadoutApplication::fFileOutPort [protected] |
port name where server transport should be connected
Definition at line 122 of file ReadoutApplication.h.
Referenced by CreateAppModules(), ReadoutApplication(), StartFile(), and StopFile().
int roc::ReadoutApplication::fFirstSlavePort [protected] |
Set to true, when checking for slave connection should be done
Definition at line 119 of file ReadoutApplication.h.
Referenced by CreateAppModules(), ProcessTimeout(), and ReadoutApplication().
bool roc::ReadoutApplication::fMasterNode [protected] |
First port for the slaves connections
Definition at line 120 of file ReadoutApplication.h.
Referenced by ReadoutApplication(), and StartFile().
bool roc::ReadoutApplication::fRawReadout [protected] |
Definition at line 115 of file ReadoutApplication.h.
Referenced by CreateAppModules(), DoRawReadout(), and ReadoutApplication().
roc::BoardsVector roc::ReadoutApplication::fRocBrds [protected] |
Definition at line 111 of file ReadoutApplication.h.
Referenced by BeforeAppModulesDestroyed(), CreateAppModules(), ExecuteCommand(), and SwitchCalibrationMode().
std::string roc::ReadoutApplication::fServerOutPort [protected] |
Identifies master node where number of additional commands are implemented
Definition at line 121 of file ReadoutApplication.h.
Referenced by CreateAppModules(), and ReadoutApplication().
bool roc::ReadoutApplication::fSuperCombiner [protected] |
true when raw readout is performed
Definition at line 116 of file ReadoutApplication.h.
Referenced by CreateAppModules(), DoSuperCombiner(), and ReadoutApplication().