1 |
#include "Digitizer.h" |
#include "Digitizer.h" |
2 |
|
|
3 |
void Digitizer::DigitizeRunHeader(){ |
void Digitizer::DigitizeRunHeader(){ |
4 |
const Int_t lenRH = fRunHeaderbuffer*2; |
const Int_t lenRH = fRunHeaderbuffer; // 37 not 54 |
5 |
UChar_t buffRH[lenRH]; |
UChar_t buffRH[lenRH]; |
6 |
UShort_t buffPSCU[8]; |
UShort_t buffPSCU[8]; |
7 |
UChar_t *p; |
UChar_t *p; |
8 |
p=buffRH; |
p=buffRH; |
9 |
|
|
10 |
// header: 16 bytes |
// header: 16 bytes |
11 |
DigitizePSCU(fRunHeaderbuffer*2,0x20,buffPSCU); |
// DigitizePSCU(fRunHeaderbuffer*2,0x20,buffPSCU); |
12 |
|
DigitizePSCU(0x25,0x20,buffPSCU); |
13 |
memcpy(p,buffPSCU,16*sizeof(UChar_t)); |
memcpy(p,buffPSCU,16*sizeof(UChar_t)); |
14 |
p+=16; |
p+=16; |
15 |
|
|
80 |
*(p++) = 0; |
*(p++) = 0; |
81 |
|
|
82 |
// crc (uint16) |
// crc (uint16) |
83 |
UShort_t crcRH = (UShort_t)CM_Compute_CRC16((UINT16)0, (BYTE*)&buffRH, (UINT32)(fRunHeaderbuffer*2-2)); |
UShort_t crcRH = (UShort_t)CM_Compute_CRC16((UINT16)0, (BYTE*)&buffRH, (UINT32)(fRunHeaderbuffer-1)); |
84 |
*(p++) = (UChar_t)(crcRH << 8); |
*(p++) = (UChar_t)(crcRH << 8); |
85 |
*p = (UChar_t)crcRH; |
*p = (UChar_t)crcRH; |
86 |
|
|
87 |
memcpy(fDataRunHeader,buffRH,fRunHeaderbuffer*sizeof(UShort_t)); |
memcpy(fDataRunHeader,buffRH,fRunHeaderbuffer*sizeof(UChar_t)); |
88 |
}; |
}; |
89 |
|
|
90 |
void Digitizer::DigitizeRunTrailer(){ |
void Digitizer::DigitizeRunTrailer(){ |
91 |
UChar_t buffRT[fRunTrailerbuffer*2]; |
UChar_t buffRT[fRunTrailerbuffer]; |
92 |
UShort_t buffPSCU[8]; |
UShort_t buffPSCU[8]; |
93 |
UChar_t *p; |
UChar_t *p; |
94 |
p=buffRT; |
p=buffRT; |
95 |
|
|
96 |
// header: 16 bytes |
// header: 16 bytes |
97 |
DigitizePSCU(fRunHeaderbuffer*2,0x21,buffPSCU); |
// DigitizePSCU(fRunHeaderbuffer*2,0x21,buffPSCU); |
98 |
|
DigitizePSCU(0x19,0x21,buffPSCU); |
99 |
memcpy(p,buffPSCU,16*sizeof(UChar_t)); |
memcpy(p,buffPSCU,16*sizeof(UChar_t)); |
100 |
p+=16; |
p+=16; |
101 |
|
|
134 |
*(p++) = 0; |
*(p++) = 0; |
135 |
|
|
136 |
// crc (uint16) |
// crc (uint16) |
137 |
UShort_t crcRT = (UShort_t)CM_Compute_CRC16((UINT16)0, (BYTE*)(buffRT), (UINT32)(fRunTrailerbuffer*2-2)); |
UShort_t crcRT = (UShort_t)CM_Compute_CRC16((UINT16)0, (BYTE*)(buffRT), (UINT32)(fRunTrailerbuffer-1)); |
138 |
*(p++) = (UChar_t)(crcRT << 8); |
*(p++) = (UChar_t)(crcRT << 8); |
139 |
*p = (UChar_t)crcRT; |
*p = (UChar_t)crcRT; |
140 |
|
|
141 |
memcpy(fDataRunTrailer,buffRT,fRunTrailerbuffer*sizeof(UShort_t)); |
memcpy(fDataRunTrailer,buffRT,fRunTrailerbuffer*sizeof(UChar_t)); |
142 |
}; |
}; |
143 |
|
|
144 |
void Digitizer::AddPadding(){ |
void Digitizer::AddPadding(){ |