|
DABC (Data Acquisition Backbone Core)
2.9.9
|
The saftlib timing message input implementation for DABC. More...
#include <saftdabc/Input.h>
Public Member Functions | |
| void | EventHandler (guint64 event, guint64 param, guint64 deadline, guint64 executed, guint16 flags=0xF) |
| This is the signalhandler that treats condition events from saftlib. More... | |
| Input (const saftdabc::DeviceRef &owner) | |
| void | OverflowHandler (guint64 count) |
| This is a signalhandler that treats overflow counter events. More... | |
| virtual unsigned | Read_Complete (dabc::Buffer &buf) |
| Complete reading of the buffer from source,. More... | |
| virtual bool | Read_Init (const dabc::WorkerRef &wrk, const dabc::Command &cmd) |
| Initialize data input, using port and command. More... | |
| virtual unsigned | Read_Size () |
| Defines required buffer size for next operation. More... | |
| virtual unsigned | Read_Start (dabc::Buffer &buf) |
| Prepare buffer for reading (if required) More... | |
| virtual double | Read_Timeout () |
| Provide timeout value. More... | |
| void | SetTransportRef (dabc::InputTransport *trans) |
| virtual | ~Input () |
Public Member Functions inherited from dabc::DataInput | |
| virtual bool | Read_Stat (dabc::Command cmd) |
| Provide timeout value. More... | |
| Buffer | ReadBuffer () |
| Reads complete buffer. More... | |
| virtual | ~DataInput () |
Protected Member Functions | |
| void | ClearEventQueue () |
| clear input queue of timing events More... | |
| bool | Close () |
| void | ResetDescriptors () |
| bool | SetupConditions () |
| set up saftlib conditions from the configuration. More... | |
| unsigned | Write_Hadaq (dabc::Buffer &buf) |
| Fill output buffer with hadaq formatted data. More... | |
| unsigned | Write_Mbs (dabc::Buffer &buf) |
| Fill output buffer with mbs formatted data. More... | |
| unsigned | Write_Raw (dabc::Buffer &buf) |
| Fill output buffer with raw timing events. More... | |
Protected Member Functions inherited from dabc::DataInput | |
| virtual WorkerAddon * | Read_GetAddon () |
| Returns addon, provided by data input If specified, supposed that I/O object is double-deriver from DataInput and Addon. More... | |
Protected Attributes | |
| DeviceRef | fDevice |
| use dabc reference instead of direct pointer here. More... | |
| EventFormats_t | fEventFormat |
| long | fEventNumber |
| Event number. More... | |
| std::vector< std::string > | fInput_Names |
| contains names of all hardware inputs to be latched More... | |
| bool | fSingleEvents |
| single events for each mbs container More... | |
| std::vector< uint64_t > | fSnoop_Flags |
| std::vector< uint64_t > | fSnoop_Ids |
| contains event ids of all events to be snooped More... | |
| std::vector< uint64_t > | fSnoop_Masks |
| contains masks of all events to be snooped More... | |
| std::vector< uint64_t > | fSnoop_Offsets |
| unsigned | fSubeventId |
| full mbs id number for saft subevent More... | |
| double | fTimeout |
| timeout (in seconds) for readout polling. More... | |
| dabc::Reference | fTransport |
| worker that is running this data input. More... | |
| bool | fUseCallbackMode |
| switch to work with time out polling or transport call back mode More... | |
| bool | fVerbose |
| verbose mode for timing events More... | |
Private Attributes | |
| uint64_t | fLastOverflowCount |
| previous overflow counter of all configured inputs More... | |
| uint64_t | fOverflowCount |
| current overflow counter of all configured inputs More... | |
| dabc::Mutex | fQueueMutex |
| Mutex to protect timingeventqueue. More... | |
| std::queue< saftdabc::Timing_Event > | fTimingEventQueue |
| this contains single queue for all snooped WR events. More... | |
| bool | fWaitingForCallback |
| flag to avoid invoking transport callback before transport done More... | |
The saftlib timing message input implementation for DABC.
Inputs to snoop/latch timestamps can be configured. When a signal occurs, timing message is captured and will be transported in mbs or hadaq subevent container. Alternatively, WR events may be captured by event id and mask
| saftdabc::Input::Input | ( | const saftdabc::DeviceRef & | owner | ) |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
virtual |
Initialize data input, using port and command.
This is generic virtual method to initialize input, using configurations from Port and (or) from the Command
| [in] | wrk | reference on input port |
| [in] | cmd | reference on command object |
Reimplemented from dabc::DataInput.
| void saftdabc::Input::SetTransportRef | ( | dabc::InputTransport * | trans | ) |
|
virtual |
Defines required buffer size for next operation.
Reimplemented from dabc::DataInput.
|
virtual |
Prepare buffer for reading (if required)
Reimplemented from dabc::DataInput.
|
virtual |
Complete reading of the buffer from source,.
Reimplemented from dabc::DataInput.
|
inlinevirtual |
Provide timeout value.
When Read_Size or Read_Complete operations returns di_RepeatTimeout argument, specified timeout will be used before next operation will be done
Reimplemented from dabc::DataInput.
| void saftdabc::Input::EventHandler | ( | guint64 | event, |
| guint64 | param, | ||
| guint64 | deadline, | ||
| guint64 | executed, | ||
| guint16 | flags = 0xF |
||
| ) |
| void saftdabc::Input::OverflowHandler | ( | guint64 | count | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |