You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
for (unsignedint wordNum = 0; wordNum < nFrames; ++wordNum) {
35
-
uint32_t raw_data = block.payload().at(wordNum);
36
-
if (wordNum < numCICADAWords) { // check the first 4 frames for CICADA bits
48
+
for (unsignedint wordNum = 0; wordNum < numCICADAWords; ++wordNum) {
49
+
unsignedshort wordLocation = processedBXs*nFramesPerEvent + wordNum; //Calculate the location of the needed CICADA word based on how many BXs we have already handled, and how many words of CICADA we have already grabbed.
50
+
//Frame 0 of a bx are the most significant integer bits
51
+
//Frame 1 of a bx are the least significant integer bits
52
+
//Frame 2 of a bx are the most significant decimal bits
53
+
//Frame 3 of a bx are the lest significant decimal bits
54
+
//Frames 4&5 are unused (by CICADA), they are reserved.
28; //The 28 shifts the extracted bits over to the start of the 32 bit result data for easier working with
57
+
(cicadaBitsPattern & raw_data) >>
58
+
28; //The 28 shifts the extracted bits over to the start of the 32 bit result data for easier working with later
40
59
}
60
+
res_->push_back(bx, processBitsToScore(cicadaBits)); //Now we insert CICADA into the proper BX, after a quick utility constructs a number from the 4 sets of bits.
0 commit comments