//Hit data - decode pixel address and save
} else {
+ DecodePixel(data >> 16, column, row);
+ hitcount++;
+ Columns->Fill(column);
+ Matrix->Fill(column, row);
+ MatrixCurrent->Fill(column, row);
+ RegionCounts->Fill(column/16);
- unsigned int dataWord = data >> 16;
- int code = dataWord & 0b111;
+ int code = (data >> 16) & 0b111;
- while (code >= 0) {
+ if ( code & 0b1) {
+ int codeTmp = 1;
+ DecodePixel(((data >> 16) + (codeTmp << 6)), column, row);
+ hitcount++;
+ Columns->Fill(column);
+ Matrix->Fill(column, row);
+ MatrixCurrent->Fill(column, row);
+ RegionCounts->Fill(column/16);
+
+ }
- DecodePixel(dataWord, column, row);
+ if ( code & 0b10 ) {
+ int codeTmp = 2;
+ DecodePixel(((data >> 16) + (codeTmp << 6)), column, row);
hitcount++;
Columns->Fill(column);
Matrix->Fill(column, row);
MatrixCurrent->Fill(column, row);
RegionCounts->Fill(column/16);
- code >> 1;
- if (code == 0) {code = -1;}
- dataWord = dataWord += 8;
+ }
+ if ( code & 0b100 ) {
+ int codeTmp = 3;
+ DecodePixel(((data >> 16) + (codeTmp << 6)), column, row);
+ hitcount++;
+ Columns->Fill(column);
+ Matrix->Fill(column, row);
+ MatrixCurrent->Fill(column, row);
+ RegionCounts->Fill(column/16);
+
}
-
+
}
//Second Hit data - decode pixel address and save
if ((data & 0x0000FF00) != 0x0000FC00) {
+ DecodePixel(data & 0xFFFF, column, row);
+ hitcount++;
+ Columns->Fill(column);
+ Matrix->Fill(column, row);
+ MatrixCurrent->Fill(column, row);
+ RegionCounts->Fill(column/16);
- unsigned int dataWord = data & 0xFFFF;
- int code = dataWord & 0b111;
+ int code = data & 0b111;
- while (code >= 0) {
+ if ( code & 0b1) {
+ int codeTmp = 1;
+ DecodePixel(((data & 0xFFFF) + (codeTmp << 6)), column, row);
+ hitcount++;
+ Columns->Fill(column);
+ Matrix->Fill(column, row);
+ MatrixCurrent->Fill(column, row);
+ RegionCounts->Fill(column/16);
+
+ }
- DecodePixel(dataWord, column, row);
+ if ( code & 0b10) {
+ int codeTmp = 2;
+ DecodePixel(((data & 0xFFFF) + (codeTmp << 6)), column, row);
hitcount++;
Columns->Fill(column);
Matrix->Fill(column, row);
MatrixCurrent->Fill(column, row);
RegionCounts->Fill(column/16);
- code >> 1;
- if (code == 0) {code = -1;}
- dataWord = dataWord += 8;
+ }
+ if ( code & 0b100) {
+ int codeTmp = 3;
+ DecodePixel(((data & 0xFFFF) + (codeTmp << 6)), column, row);
+ hitcount++;
+ Columns->Fill(column);
+ Matrix->Fill(column, row);
+ MatrixCurrent->Fill(column, row);
+ RegionCounts->Fill(column/16);
+
}
}
}