 |
Belle II Software
release-05-02-19
|
9 #ifndef POSTRAWCOPPERFORMAT_V1_H
10 #define POSTRAWCOPPERFORMAT_V1_H
16 #include <rawdata/dataobjects/RawCOPPERFormat_v1.h>
17 #include <rawdata/CRCCalculator.h>
116 unsigned int prev_exprunsubrun_no,
unsigned int* cur_exprunsubrun_no) OVERRIDE_CPP17;
126 unsigned int prev_evenum,
unsigned int* cur_evenum,
127 unsigned int prev_copper_ctr,
unsigned int* cur_copper_ctr,
128 unsigned int prev_exprunsubrun_no,
unsigned int* cur_exprunsubrun_no) OVERRIDE_CPP17;
141 int* detector_buf_1st,
int nwords_1st,
142 int* detector_buf_2nd,
int nwords_2nd,
143 int* detector_buf_3rd,
int nwords_3rd,
144 int* detector_buf_4th,
int nwords_4th,
153 SIZE_COPPER_DRIVER_HEADER = 0,
154 SIZE_COPPER_DRIVER_TRAILER = 0
159 SIZE_COPPER_HEADER = 0
164 SIZE_COPPER_TRAILER = 0
169 POS_B2LHSLB_MAGIC = 0,
170 SIZE_B2LHSLB_HEADER = 1
177 SIZE_B2LFEE_HEADER = 1
182 POS_B2LFEE_CRC16 = 0,
183 SIZE_B2LFEE_TRAILER = 1
190 SIZE_B2LHSLB_TRAILER = 0
209 #ifdef USE_B2LFEE_FORMAT_BOTH_VER1_AND_2
210 CheckB2LFEEHeaderVersion(n);
221 #ifdef USE_B2LFEE_FORMAT_BOTH_VER1_AND_2
222 CheckB2LFEEHeaderVersion(n);
233 #ifdef USE_B2LFEE_FORMAT_BOTH_VER1_AND_2
234 CheckB2LFEEHeaderVersion(n);
245 #ifdef USE_B2LFEE_FORMAT_BOTH_VER1_AND_2
246 CheckB2LFEEHeaderVersion(n);
269 -
tmp_trailer.RAWTRAILER_NWORDS - SIZE_COPPER_DRIVER_TRAILER;
277 sprintf(err_buf,
"This data format does not have COPPER counter.(block %d) Exiting...\n %s %s %d\n",
278 n, __FILE__, __PRETTY_FUNCTION__, __LINE__);
279 std::string err_str = err_buf;
throw (err_str);
286 sprintf(err_buf,
"This function is not supported. (block %d) Exiting...\n %s %s %d\n",
287 n, __FILE__, __PRETTY_FUNCTION__, __LINE__);
288 std::string err_str = err_buf;
throw (err_str);
295 sprintf(err_buf,
"This function is not supported. (block %d) Exiting...\n %s %s %d\n",
296 n, __FILE__, __PRETTY_FUNCTION__, __LINE__);
297 std::string err_str = err_buf;
throw (err_str);
308 return (
unsigned int)(
m_buffer[ pos_nwords ]);
314 return (
unsigned int)(
m_buffer[ pos_nwords ]);
321 return (
unsigned int)(
m_buffer[ pos_nwords ]);
struct to contain header information used by RawCOPPERFormat::Packer()
virtual int GetOffset3rdFINESSE(int n)
get # of offset words for FINESSE slot C buffer position
unsigned int GetMagicFPGATrailer(int n) OVERRIDE_CPP17
get magic word of COPPER FPGA trailer
int GetOffset1stFINESSE(int n) OVERRIDE_CPP17
get # of offset words for FINESSE slot A buffer position
int Get1stFINESSENwords(int n) OVERRIDE_CPP17
get data size of FINESSE slot A buffer
void CheckUtimeCtimeTRGType(int n) OVERRIDE_CPP17
check data contents
virtual int GetOffset2ndFINESSE(int n)
get # of offset words for FINESSE slot B buffer position
unsigned int CalcDriverChkSum(int n) OVERRIDE_CPP17
calc COPPER driver's checksum value
int * Get2ndDetectorBuffer(int n) OVERRIDE_CPP17
get Detector Buffer of slot B
virtual int * GetExpRunSubrunBuf(int n) OVERRIDE_CPP17
get b2l block from "FEE b2link header"
unsigned int GetDriverChkSum(int n) OVERRIDE_CPP17
read COPPER driver's checksum value
int GetTrlNwords()
Set magic word.
int GetFINESSENwords(int n, int finesse) OVERRIDE_CPP17
get data size of FINESSE buffer
virtual unsigned int GetB2LFEE32bitEventNumber(int n) OVERRIDE_CPP17
get b2l block from "FEE b2link header"
virtual ~PostRawCOPPERFormat_v1()
Constructor using existing pointer to raw data buffer.
unsigned int FillTopBlockRawHeader(unsigned int m_node_id, unsigned int prev_eve32, unsigned int prev_exprunsubrun_no, unsigned int *cur_exprunsubrun_no) OVERRIDE_CPP17
should be called by DeSerializerCOPPER.cc and fill contents in RawHeader
unsigned int GetMagicDriverHeader(int n) OVERRIDE_CPP17
get magic word of COPPER driver header
int GetDetectorNwords(int n, int finesse_num) OVERRIDE_CPP17
get Detector buffer length
virtual int GetOffset4thFINESSE(int n)
get # of offset words for FINESSE slot D buffer position
unsigned int GetMagicFPGAHeader(int n) OVERRIDE_CPP17
get magic word of COPPER FPGA header
unsigned int GetTrailerChksum(int n) OVERRIDE_CPP17
Get checksum in RawTrailer.
Abstract base class for different kinds of events.
int * Get3rdDetectorBuffer(int n) OVERRIDE_CPP17
get Detector Buffer of slot C
int Get4thFINESSENwords(int n) OVERRIDE_CPP17
get data size of FINESSE slot D buffer
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) OVERRIDE_CPP17
check data contents
int CheckB2LHSLBMagicWords(int *finesse_buf, int finesse_nwords)
check magic words
bool CheckCOPPERMagic(int n) OVERRIDE_CPP17
Check if COPPER Magic words are correct.
unsigned int GetMagicDriverTrailer(int n) OVERRIDE_CPP17
get magic word of COPPER driver trailer
int Get3rdFINESSENwords(int n) OVERRIDE_CPP17
get data size of FINESSE slot C buffer
The Raw COPPER class ver.1 ( the latest version since May, 2014 ) This class stores data received by ...
int Get2ndFINESSENwords(int n) OVERRIDE_CPP17
get data size of FINESSE slot B buffer
int * Get4thDetectorBuffer(int n) OVERRIDE_CPP17
get Detector Buffer of slot D
unsigned int GetCOPPERCounter(int n) OVERRIDE_CPP17
get posistion of COPPER block in unit of word
PostRawCOPPERFormat_v1()
Default constructor.
int * Get1stDetectorBuffer(int n) OVERRIDE_CPP17
get Detector buffer of slot A
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) OVERRIDE_CPP17
Pack data (format ver. = -1 -> Select the latest format version)
int CheckCRC16(int n, int finesse_num)
check magic words