Belle II Software  release-08-01-10
RawKLM Class Reference

The Raw KLM class Class for RawCOPPER class data taken by KLM. More...

#include <RawKLM.h>

Inheritance diagram for RawKLM:
Collaboration diagram for RawKLM:

Public Types

enum  {
  POS_FORMAT_VERSION = 1 ,
  FORMAT_MASK = 0x0000FF00
}
 

Public Member Functions

 RawKLM ()
 Default constructor.
 
virtual ~RawKLM ()
 Destructor.
 
 ClassDef (RawKLM, 1)
 To derive from TObject.
 
void SetBuffer (int *bufin, int nwords, int delete_flag, int num_events, int num_nodes) OVERRIDE_CPP17
 set buffer ( delete_flag : m_buffer is freeed( = 0 )/ not freeed( = 1 ) in Destructer )
 
int GetDetectorNwords (int n, int finesse_num)
 get Detector buffer length
 
int Get1stDetectorNwords (int n)
 get Detector buffer length of slot A
 
int Get2ndDetectorNwords (int n)
 get Detector buffer length of slot B
 
int Get3rdDetectorNwords (int n)
 get Detector buffer length of slot C
 
int Get4thDetectorNwords (int n)
 get Detector buffer length of slot D
 
int * GetDetectorBuffer (int n, int finesse_num)
 get Detector buffer
 
int * Get1stDetectorBuffer (int n)
 get Detector buffer of slot A
 
int * Get2ndDetectorBuffer (int n)
 get Detector Buffer of slot B
 
int * Get3rdDetectorBuffer (int n)
 get Detector Buffer of slot C
 
int * Get4thDetectorBuffer (int n)
 get Detector Buffer of slot D
 
virtual int GetBufferPos (int n) OVERRIDE_CPP17
 get posistion of COPPER block in unit of word
 
virtual int * GetRawHdrBufPtr (int n)
 get buffer pointer of rawcopper header(Currently same as GetBufferPos)
 
virtual int * GetRawTrlBufPtr (int n)
 get buffer pointer of rawcopper trailer
 
int * GetFINESSEBuffer (int n, int finesse_num)
 get FINESSE buffer pointer
 
int * Get1stFINESSEBuffer (int n)
 get FINESSE buffer pointer for slot A
 
int * Get2ndFINESSEBuffer (int n)
 get FINESSE buffer pointer for slot B
 
int * Get3rdFINESSEBuffer (int n)
 get FINESSE buffer pointer for slot C
 
int * Get4thFINESSEBuffer (int n)
 get FINESSE buffer pointer for slot D
 
int GetExpNo (int n)
 get Experimental # from header
 
unsigned int GetExpRunSubrun (int n)
 get Experimental # from header
 
int GetRunNo (int n)
 Exp# (10bit) run# (14bit) restart # (8bit)
 
int GetSubRunNo (int n)
 get run # (14bit)
 
unsigned int GetEveNo (int n)
 get subrun #(8bit)
 
int GetDataType (int n)
 get contents of header
 
int GetTruncMask (int n)
 get contents of header
 
unsigned int GetErrorBitFlag (int n)
 get contents of header More...
 
void AddErrorBitFlag (int n, unsigned int error_bit_flag)
 Get Detected Error bitflag.
 
int GetPacketCRCError (int n)
 check CRC packet Error
 
int GetEventCRCError (int n)
 check CRC event Error
 
int GetEventCRC16Value (int n, int finesse_num)
 Get Event CRC16 value.
 
unsigned int GetNodeID (int n)
 get node-ID from data
 
virtual unsigned int GetCOPPERCounter (int n)
 get COPPER counter(not event number)
 
virtual int GetNumFINESSEBlock (int n)
 get # of FINNESEs which contains data
 
int GetOffsetFINESSE (int n, int finesse)
 get # of offset words
 
int GetOffset1stFINESSE (int n)
 get # of offset words for FINESSE slot A buffer position
 
int GetOffset2ndFINESSE (int n)
 get # of offset words for FINESSE slot B buffer position
 
int GetOffset3rdFINESSE (int n)
 get # of offset words for FINESSE slot C buffer position
 
int GetOffset4thFINESSE (int n)
 get # of offset words for FINESSE slot D buffer position
 
int GetFINESSENwords (int n, int finesse)
 get data size of FINESSE buffer
 
int Get1stFINESSENwords (int n)
 get data size of FINESSE slot A buffer
 
int Get2ndFINESSENwords (int n)
 get data size of FINESSE slot B buffer
 
int Get3rdFINESSENwords (int n)
 get data size of FINESSE slot C buffer
 
int Get4thFINESSENwords (int n)
 get data size of FINESSE slot D buffer
 
virtual int * GetExpRunSubrunBuf (int n)
 get b2l block from "FEE b2link header" More...
 
virtual unsigned int GetB2LFEE32bitEventNumber (int n)
 get b2l block from "FEE b2link header"
 
unsigned int GetMagicDriverHeader (int n)
 get magic word of COPPER driver header
 
unsigned int GetMagicFPGAHeader (int n)
 get magic word of COPPER FPGA header
 
unsigned int GetMagicFPGATrailer (int n)
 get magic word of COPPER FPGA trailer
 
unsigned int GetMagicDriverTrailer (int n)
 get magic word of COPPER driver trailer
 
unsigned int GetTrailerChksum (int n)
 Get checksum in RawTrailer.
 
bool CheckCOPPERMagic (int n)
 Check if COPPER Magic words are correct.
 
unsigned int GetTTCtimeTRGType (int n)
 Check if COPPER Magic words are correct.
 
unsigned int GetTTUtime (int n)
 Check if COPPER Magic words are correct.
 
unsigned int FillTopBlockRawHeader (unsigned int m_node_id, unsigned int prev_eve32, unsigned int prev_exprunsubrun_no, unsigned int *cur_exprunsubrun_no)
 should be called by DeSerializerCOPPER.cc and fill contents in RawHeader
 
unsigned int GetDriverChkSum (int n)
 read COPPER driver's checksum value
 
unsigned int CalcDriverChkSum (int n)
 calc COPPER driver's checksum value
 
unsigned int CalcXORChecksum (int *buf, int nwords)
 calc XOR checksum
 
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)
 check data contents
 
void CheckUtimeCtimeTRGType (int n)
 check data contents
 
int GetTTCtime (int n)
 Get ctime.
 
int GetTRGType (int n)
 Get trgtype.
 
void GetTTTimeVal (int n, struct timeval *tv)
 Get timeval.
 
void SetVersion ()
 read data, detect and set the version number of the data format
 
void SetVersion (std::string class_name)
 Get timeval.
 
void CheckVersionSetBuffer ()
 Check the version number of data format.
 
void ShowBuffer ()
 show m_buffer
 
void PackDetectorBuf (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)
 Packer for RawCOPPER class Pack data (format ver. More...
 
void PackDetectorBuf (int *const(&detector_buf_ch)[MAX_PCIE40_CH], int const(&nwords_ch)[MAX_PCIE40_CH], RawCOPPERPackerInfo rawcprpacker_info)
 Pack data for PCIe40 data-format.
 
void PackDetectorBuf4DummyData (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)
 Pack dummy data (format ver. = -1 -> Select the latest format version)
 
int GetMaxNumOfCh (int n)
 Get the max number of channels in a readout board.
 
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.
 
bool CheckOnlineRemovedDataBit (int n, int finesse_num)
 check if this channel's data has been removed on a readout PC for CDC online "masking"
 
std::string getInfoHTML () const
 Return a short summary of this object's contents in HTML format.
 
virtual int TotalBufNwords ()
 Get total length of m_buffer.
 
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
 

Public Attributes

RawCOPPERFormatm_access
 class to access
 
int m_version
 do not record More...
 
RawDataBlockFormatm_access_dblk
 class to access
 

Protected Member Functions

 ClassDefOverride (RawCOPPER, 3)
 do not record More...
 
 ClassDef (RawDataBlock, 3)
 not record More...
 

Protected Attributes

int m_nwords
 do not record More...
 
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
 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
 

Detailed Description

The Raw KLM class Class for RawCOPPER class data taken by KLM.

Currently, this class is almost same as RawCOPPER class.

Definition at line 27 of file RawKLM.h.

Member Function Documentation

◆ ClassDef()

ClassDef ( RawDataBlock  ,
 
)
protectedinherited

not record

To drive from TObject

◆ ClassDefOverride()

ClassDefOverride ( RawCOPPER  ,
 
)
protectedinherited

do not record

ver.2 Change FEE format as presented at B2GM in Nov.2013 ( Nov.20, 2013) ver.3 Change FEE format as presented at B2GM in Nov.2013 ( May 1, 2014) ver.4 Do not record m_access pointer ( Dec 19, 2014)

◆ PackDetectorBuf()

void PackDetectorBuf ( 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 
)
inherited

Packer for RawCOPPER class Pack data (format ver.

= -1 -> Select the latest format version)

Definition at line 183 of file RawCOPPER.cc.

Member Data Documentation

◆ m_nwords

int m_nwords
protectedinherited

do not record

number of words of buffer

Definition at line 145 of file RawDataBlock.h.

◆ m_version

int m_version
inherited

do not record

Version of the format

Definition at line 336 of file RawCOPPER.h.


The documentation for this class was generated from the following files: