Class Index | Cross Index | Namespace Index |
Data Acquisition Reader
Contained in: FrameCPP::Version_3_4_5
Derived from:
FrameCPP::Version_3_4_5::FrameReaderBase
Derived by:
none
#include "../../../../../lib/framecpp/src/Version3_4_5/daqreader.hh"
public function member index: |
|||
inline | DaqReader | (std::istream& in, bool autoReset = false); | Constructor |
virtual | ~DaqReader | (); | |
inline INT_4U | adcDataVectorPtr | (int offset); | Given the offset find the ADC data vector ptr. |
DaqFrame* | readFrame | (); | Read a reference DaqFrame and build an update map along the way. |
ObjectHeader | readNextObjectHeader | (); | Overrides object header reader in the superclass. |
Exceptions:
Exception | Description |
read_failure | |
read_failure |
Destructor
Exceptions:
Exception | Description |
None. |
Return value:
Frame*
Exceptions:
Exception | Description |
bad_alloc | Memory allocation failed. |
read_failure | Read failure. |
Exceptions:
Exception | Description |
read_failure |
Multimap is constructed to allow a lookup of all the instances of a particular class. The mapping works like this: classId -> instanceId. Now, if you need to find all the instance of, say, ADC class, you go and iterate over IMI for ID_ADCDATA, then for every instance Id found yo can get the offset from the instanceOffsetMap, using OMI.
Mapping works like this: (classId << 16 | instanceId) -> offset. classId identifies a type of structure, instanceId is ++ for every newly output structure of class classId. `offset' is a number of bytes to the start of the structure. (classId, instanceID) pairs are found in the frame image and are specified in the documentation as PTR_STRUCT. The pair serves as a pointer. Map allows a quick lookup of the offset to the start of a structure knowing the instance and class IDs.