Belle II Software
release-08-01-10
|
The Raw COPPER class This class stores data received by COPPER via belle2linkt Data from all detectors except PXD are stored in this class. More...
#include <RawCOPPERFormat.h>
Public Types | |
enum | { POS_NWORDS = 0 , POS_NODE_ID = 6 } |
enum | { POS_FTSW_ID_OLD = 5 , TEMP_POS_NWORDS_HEADER = 1 , OLD_FTSW_NWORDS_HEADER = 6 } |
Public Member Functions | |
virtual | ~RawCOPPERFormat () |
Constructor using existing pointer to raw data buffer. More... | |
virtual int | GetDetectorNwords (int n, int finesse_num)=0 |
set buffer ( delete_flag : m_buffer is freeed( = 0 )/ not freeed( = 1 ) in Destructer ) More... | |
virtual int | Get1stDetectorNwords (int n)=0 |
get Detector buffer length of slot A | |
virtual int | Get2ndDetectorNwords (int n)=0 |
get Detector buffer length of slot B | |
virtual int | Get3rdDetectorNwords (int n)=0 |
get Detector buffer length of slot C | |
virtual int | Get4thDetectorNwords (int n)=0 |
get Detector buffer length of slot D | |
virtual int * | GetDetectorBuffer (int n, int finesse_num) |
get Detector buffer | |
virtual int * | Get1stDetectorBuffer (int n)=0 |
get Detector buffer of slot A | |
virtual int * | Get2ndDetectorBuffer (int n)=0 |
get Detector Buffer of slot B | |
virtual int * | Get3rdDetectorBuffer (int n)=0 |
get Detector Buffer of slot C | |
virtual int * | Get4thDetectorBuffer (int n)=0 |
get Detector Buffer of slot D | |
virtual int * | GetRawHdrBufPtr (int n) |
get buffer pointer of rawcopper header(Currently same as GetBufferPos) | |
virtual int * | GetRawTrlBufPtr (int n)=0 |
get buffer pointer of rawcopper trailer | |
virtual int * | GetFINESSEBuffer (int n, int finesse_num) |
get FINESSE buffer pointer | |
virtual int * | Get1stFINESSEBuffer (int n) |
get FINESSE buffer pointer for slot A | |
virtual int * | Get2ndFINESSEBuffer (int n) |
get FINESSE buffer pointer for slot B | |
virtual int * | Get3rdFINESSEBuffer (int n) |
get FINESSE buffer pointer for slot C | |
virtual int * | Get4thFINESSEBuffer (int n) |
get FINESSE buffer pointer for slot D | |
virtual int | GetExpNo (int n)=0 |
get Experimental # from header | |
virtual unsigned int | GetExpRunSubrun (int n)=0 |
get Experimental # from header | |
virtual int | GetRunNo (int n)=0 |
Exp# (10bit) run# (14bit) restart # (8bit) | |
virtual int | GetSubRunNo (int n)=0 |
get run # (14bit) | |
virtual unsigned int | GetEveNo (int n)=0 |
get subrun #(8bit) | |
virtual int | GetDataType (int n)=0 |
get contents of header | |
virtual int | GetTruncMask (int n)=0 |
get contents of header | |
virtual unsigned int | GetErrorBitFlag (int n)=0 |
get contents of header More... | |
virtual void | AddErrorBitFlag (int n, unsigned int error_bit_flag)=0 |
Add Detected Error bitflag. | |
virtual int | GetPacketCRCError (int n) |
check CRC packet Error | |
virtual int | GetEventCRCError (int n) |
check CRC event Error | |
virtual int | GetEventCRC16Value (int n, int finesse_num) |
Get Event CRC16 value. | |
virtual unsigned int | GetNodeID (int n)=0 |
get node-ID from data | |
virtual unsigned int | GetCOPPERCounter (int n)=0 |
get COPPER counter(not event number) | |
virtual int | GetNumFINESSEBlock (int n)=0 |
get # of FINNESEs which contains data | |
virtual int | GetOffsetFINESSE (int n, int finesse) |
get # of offset words | |
virtual int | GetOffset1stFINESSE (int n)=0 |
get # of offset words for FINESSE slot A buffer position | |
virtual int | GetOffset2ndFINESSE (int n) |
get # of offset words for FINESSE slot B buffer position | |
virtual int | GetOffset3rdFINESSE (int n) |
get # of offset words for FINESSE slot C buffer position | |
virtual int | GetOffset4thFINESSE (int n) |
get # of offset words for FINESSE slot D buffer position | |
virtual int | GetFINESSENwords (int n, int finesse)=0 |
get data size of FINESSE buffer | |
virtual int | Get1stFINESSENwords (int n)=0 |
get data size of FINESSE slot A buffer | |
virtual int | Get2ndFINESSENwords (int n)=0 |
get data size of FINESSE slot B buffer | |
virtual int | Get3rdFINESSENwords (int n)=0 |
get data size of FINESSE slot C buffer | |
virtual int | Get4thFINESSENwords (int n)=0 |
get data size of FINESSE slot D buffer | |
virtual int * | GetExpRunSubrunBuf (int n)=0 |
get b2l block from "FEE b2link header" More... | |
virtual unsigned int | GetB2LFEE32bitEventNumber (int n)=0 |
get b2l block from "FEE b2link header" | |
virtual unsigned int | GetMagicDriverHeader (int n)=0 |
get magic word of COPPER driver header | |
virtual unsigned int | GetMagicFPGAHeader (int n)=0 |
get magic word of COPPER FPGA header | |
virtual unsigned int | GetMagicFPGATrailer (int n)=0 |
get magic word of COPPER FPGA trailer | |
virtual unsigned int | GetMagicDriverTrailer (int n)=0 |
get magic word of COPPER driver trailer | |
virtual unsigned int | GetTrailerChksum (int n)=0 |
Get checksum in RawTrailer. | |
virtual bool | CheckCOPPERMagic (int n)=0 |
Check if COPPER Magic words are correct. | |
virtual unsigned int | GetTTCtimeTRGType (int n)=0 |
Check if COPPER Magic words are correct. | |
virtual unsigned int | GetTTUtime (int n)=0 |
Check if COPPER Magic words are correct. | |
virtual unsigned int | FillTopBlockRawHeader (unsigned int m_node_id, unsigned int prev_eve32, unsigned int prev_exprunsubrun_no, unsigned int *cur_exprunsubrun_no)=0 |
should be called by DeSerializerCOPPER.cc and fill contents in RawHeader | |
virtual unsigned int | GetDriverChkSum (int n)=0 |
read COPPER driver's checksum value | |
virtual unsigned int | CalcDriverChkSum (int n)=0 |
calc COPPER driver's checksum value | |
virtual void | CheckData (int n, unsigned int prev_evenum, unsigned int *cur_evenum, unsigned int prev_copper_ctr, unsigned int *cur_copper_ctr, unsigned int prev_exprunsubrun_no, unsigned int *cur_exprunsubrun_no)=0 |
check data contents | |
virtual void | CheckUtimeCtimeTRGType (int n)=0 |
check data contents | |
virtual int | GetTTCtime (int n)=0 |
Get ctime. | |
virtual int | GetTRGType (int n)=0 |
Get trgtype. | |
virtual void | GetTTTimeVal (int n, struct timeval *tv)=0 |
Get timeval. | |
virtual unsigned int | CalcXORChecksum (int *buf, int nwords) |
calc XOR checksum | |
virtual int * | PackDetectorBuf (int *packed_buf_nwords, int *detector_buf_1st, int nwords_1st, int *detector_buf_2nd, int nwords_2nd, int *detector_buf_3rd, int nwords_3rd, int *detector_buf_4th, int nwords_4th, RawCOPPERPackerInfo rawcprpacker_info)=0 |
Pack data (format ver. = -1 -> Select the latest format version) | |
virtual int * | PackDetectorBuf (int *packed_buf_nwords, int *const(&detector_buf_ch)[MAX_PCIE40_CH], int const(&nwords_ch)[MAX_PCIE40_CH], RawCOPPERPackerInfo rawcpr_info) |
Pack data for PCIe40 data-format. | |
virtual int | GetMaxNumOfCh (int n)=0 |
Get the max number of channels in a readout board. | |
virtual void | CompareHeaderValue (int n, const unsigned int(&input_val)[MAX_PCIE40_CH], std::vector< std::vector< unsigned int > > &result) |
Compare value from different channels and make a statistics table. | |
virtual void | GetNodeName (int n, char *node_name, int bufsize) |
Get hostname of a node from the RawCOPPER header. | |
virtual void | GetNodeName (char *node_name, unsigned int node_id, int bufsize) |
Get hostname of a node from an argument. | |
virtual bool | CheckOnlineRemovedDataBit (int n, int finesse_num) |
Check if COPPER Magic words are correct. | |
virtual void | SetBuffer (int *bufin, int nwords, int delete_flag, int num_events, int num_nodes) |
set buffer ( delete_flag : m_buffer is freeed( = 0 )/ not freeed( = 1 ) in Destructer ) | |
virtual int | TotalBufNwords () |
Get total length of m_buffer. | |
virtual int | GetBufferPos (int n) |
get position of data block in word | |
virtual int * | GetBuffer (int n) |
get nth buffer pointer | |
virtual int * | GetWholeBuffer () |
get pointer to buffer(m_buffer) | |
virtual int | GetNumEntries () |
get # of data blocks = (# of nodes)*(# of events) | |
virtual int | GetNumNodes () |
get # of data sources(e.g. # of COPPER boards) in m_buffer | |
virtual int | GetNumEvents () |
get # of events in m_buffer | |
virtual int | GetPreAllocFlag () |
get malloc_flag | |
virtual int | GetBlockNwords (int n) |
get size of a data block | |
virtual int | CheckFTSWID (int n) |
get FTSW ID to check whether this data block is FTSW data or not | |
virtual int | CheckTLUID (int n) |
get FTSW ID to check whether this data block is FTSW data or not | |
virtual void | CopyBlock (int n, int *buf_to) |
Copy one datablock to buffer. | |
virtual void | PrintData (int *buf, int nwords) |
print data | |
Protected Attributes | |
int | m_nwords |
number of words of buffer | |
int | m_num_nodes |
number of nodes in this object | |
int | m_num_events |
number of events in this object | |
int * | m_buffer |
Buffer. | |
int | m_use_prealloc_buf |
not recorded More... | |
The Raw COPPER class This class stores data received by COPPER via belle2linkt Data from all detectors except PXD are stored in this class.
Definition at line 54 of file RawCOPPERFormat.h.
|
inlinevirtual |
Constructor using existing pointer to raw data buffer.
Destructor
Definition at line 62 of file RawCOPPERFormat.h.
|
pure virtual |
set buffer ( delete_flag : m_buffer is freeed( = 0 )/ not freeed( = 1 ) in Destructer )
get Detector buffer length
Implemented in RawCOPPERFormat_v0, PreRawCOPPERFormat_v2, PreRawCOPPERFormat_v1, PreRawCOPPERFormat_latest, PostRawCOPPERFormat_v2, PostRawCOPPERFormat_v1, and PostRawCOPPERFormat_latest.
|
pure virtual |
get contents of header
Get Detected Error bitflag
Implemented in RawCOPPERFormat_v2, RawCOPPERFormat_v1, RawCOPPERFormat_v0, and RawCOPPERFormat_latest.
|
pure virtual |
get b2l block from "FEE b2link header"
get b2l block from "FEE b2link header"
Implemented in RawCOPPERFormat_v0, PreRawCOPPERFormat_v2, PreRawCOPPERFormat_v1, PreRawCOPPERFormat_latest, PostRawCOPPERFormat_v2, PostRawCOPPERFormat_v1, and PostRawCOPPERFormat_latest.
|
protectedinherited |
not recorded
flag for deleting m_buffer in destructer( 0:delete, 1: not delete) When using pre-allocated buffer, the buffer should be reused and not deleted in the destructer
Definition at line 102 of file RawDataBlockFormat.h.