48 decodeFragment(inputData, m_field);
69 const ubit16 theHeader[s_headerNum] = {s_headerVal, *(inputData + 1), *(inputData + 2)};
70 m_cmid = *(inputData + 1);
71 m_fel1id = *(inputData + 2);
72 m_word = set16Bits(s_headerNum, s_headerPos, theHeader);
78 const ubit16 theSubHeader[s_subHeaderNum] = {s_subHeaderVal, 1};
79 m_word = set16Bits(s_subHeaderNum, s_subHeaderPos, theSubHeader);
84 m_bcid = *(inputData);
85 m_time = *(inputData + 1);
86 m_ijk = *(inputData + 2);
88 m_channel = *(inputData + 3);
91 m_overlap =
temp >> 2;
92 m_threshold =
temp & 3;
94 ubit16 theCMABody[s_CMABodyNum];
95 for (
ubit16 i = 0;
i < s_CMABodyNum;
i++) { theCMABody[
i] = *(inputData +
i); }
96 m_word = set16Bits(s_CMABodyNum, s_CMABodyPos, theCMABody);
103 const ubit16 theFooter[s_footerNum] = {s_footerVal, m_status, m_crc};
104 m_word = set16Bits(s_footerNum, s_footerPos, theFooter);
134 m_bcid = get16Bits(inputWord, s_CMABodyPos[1], s_CMABodyLen[1]);
135 m_time = get16Bits(inputWord, s_CMABodyPos[2], s_CMABodyLen[2]);
136 m_ijk = get16Bits(inputWord, s_CMABodyPos[3], s_CMABodyLen[3]);
138 m_channel = get16Bits(inputWord, s_CMABodyPos[4], s_CMABodyLen[4]);
139 m_strip = global_channel();
141 temp = get16Bits(inputWord, s_CMABodyPos[4], s_CMABodyLen[4]);
142 m_overlap =
temp >> 2;
143 m_threshold =
temp & 3;
145 }
else if (isHeader()) {
147 m_cmid = get16Bits(inputWord, s_headerPos[1], s_headerLen[1]);
148 m_fel1id = get16Bits(inputWord, s_headerPos[2], s_headerLen[2]);
149 }
else if (isSubHeader()) {
151 m_febcid = get16Bits(inputWord, s_subHeaderPos[1], s_subHeaderLen[1]);
152 }
else if (isFooter()) {
154 m_status = get16Bits(inputWord, s_footerPos[1], s_footerLen[1]);
155 m_crc = get16Bits(inputWord, s_footerPos[2], s_footerLen[2]);
168 ubit16 theHeader[s_headerNum] = {s_headerVal};
169 if ((m_word & s_last4bitsON) == set16Bits(1, s_headerPos, theHeader))
status =
true;
175 ubit16 theSubHeader[s_subHeaderNum] = {s_subHeaderVal};
176 if ((m_word & s_last4bitsON) == set16Bits(1, s_subHeaderPos, theSubHeader))
status =
true;
182 ubit16 theCMABody[s_CMABodyNum] = {s_CMABodyVal};
183 if ((m_word & s_last2bitsON) == set16Bits(1, s_CMABodyPos, theCMABody))
status =
true;
189 ubit16 theFooter[s_footerNum] = {s_footerVal};
194 if ((m_word & s_last2bitsON) == set16Bits(1, s_footerPos, theFooter))
status =
true;
205 if (m_ijk == 0 || m_ijk == 1)