Skip to content
Snippets Groups Projects
Commit a7cc81f4 authored by Ajit Kumar's avatar Ajit Kumar
Browse files

decode frame time, other small changes

parent c301913e
No related branches found
No related tags found
No related merge requests found
......@@ -63,9 +63,9 @@ namespace cbm::algo::mvd
for (; n < len; n++) {
data = arr[n];
// L_(info) << " data word " << std::hex << data << " n " << n << " len " << len;
if (data == 0xFCAAFCAA) continue;
ProcessData(data, msTime, std::get<0>(result), std::get<1>(result), std::get<2>(result), eq_idx);
// L_(info) << " data word " << std::hex << data << " n " << n << " len " << len;
// printf("%x\n", data);
}
......@@ -102,19 +102,35 @@ namespace cbm::algo::mvd
headersnow++;
if (headersnow == 1) {
frameNumber = data & 0xFF;
frameNumber += (data & 0xFF0000) >> 8;
// frameNumber = data & 0xFF;
// frameNumber += (data & 0xFF0000) >> 8;
frameTime = data & 0xFF;
frameTime += (data & 0xFF0000) >> 8;
// frameNumber |= (data & 0xFF0000) >> 8;
// L_(info) << " headersnow 1 " << frameNumber;
// L_(info) << " data word: " << std::hex << data << std::dec << " headersnow 1 " << frameTime;
}
else if (headersnow == 2) {
frameNumber += (data & 0xFF) << 16;
frameNumber += (data & 0xFF0000) << 8;
// frameNumber += (data & 0xFF) << 16;
// frameNumber += (data & 0xFF0000) << 8;
frameTime += (data & 0xFF) << 16;
frameTime += (data & 0xFF0000) << 8;
// frameNumber |= (data & 0xFF) << 16;
// frameNumber |= (data & 0xFF0000) << 8;
// L_(info) << " headersnow 2 " << frameNumber;
// printf("%u\n",frameNumber);
// L_(info) << " data word: " << std::hex << data << std::dec << " headersnow 2 " << frameTime;
}
else if (headersnow == 3) { // frameTime
frameTime += data & 0xFF;
frameTime += (data & 0xFF0000) >> 8;
// L_(info) << " data word: " << std::hex << data << std::dec << " headersnow 3 " << frameTime;
}
else if (headersnow == 4) { // frameTime
frameTime += (data & 0xFF) << 16;
frameTime += (data & 0xFF0000) << 8;
// L_(info) << " data word: " << std::hex << data << std::dec << " headersnow 4 " << frameTime;
}
}
......@@ -131,6 +147,7 @@ namespace cbm::algo::mvd
int tmp = data & 0xFF;
if (tmp > 63) return;
region = tmp;
// L_(info) << " Region " << std::hex << region;
//Hit data - decode pixel address and save
}
......@@ -185,14 +202,14 @@ namespace cbm::algo::mvd
}
}
if(row==-1 && column==-1) return;
L_(info) << " eq_idx " << eq_idx << " row: " << row << " column: "<< column << " frameNumber " << frameNumber << " ms time "<< messageTime;
// L_(info) << " eq_idx " << eq_idx << " row: " << row << " column: "<< column << " frameNumber " << frameNumber << " ms time "<< messageTime;
// if (row < 0 || column < 0) std::cout << " row " << row << " column " << column;
if( (504 << row << 0) && (1024 << column << 0) )
{
// L_(info) << " row and column value exceeds range " << " with row: " << row << " and column: "<< column;
// std::cout << " row " << row << " column " << column << std::endl;
}
if(row<0 || column<-1) L_(info) << " row " << row << " column " << column;
// if( (504 << row << 0) && (1024 << column << 0) )
// {
// // L_(info) << " row and column value exceeds range " << " with row: " << row << " and column: "<< column;
// // std::cout << " row " << row << " column " << column << std::endl;
// }
if(row<0 && column<0) L_(info) << " row " << row << " column " << column;
int32_t station = 0;
int32_t channelX;
......@@ -210,7 +227,7 @@ namespace cbm::algo::mvd
// --- Create output digi
// digiVec.emplace_back(eq_idx, channelX, channelY, charge, pixelSizeX, pixelSizeY, messageTime, frame);
digiVec.emplace_back(eq_idx, column, row, charge, pixelSizeX, pixelSizeY, messageTime, frameNumber);
digiVec.emplace_back(eq_idx, column, row, charge, pixelSizeX, pixelSizeY, frameTime, frameNumber);
// CbmMvdRawDigi(int32_t station, int32_t channelX, int32_t channelY, float charge, float pixelSizeX, float pixelSizeY, uint64_t time = 0.0, int32_t frame = 0)
......
......@@ -144,6 +144,7 @@ namespace cbm::algo::mvd
static constexpr uint64_t fTimeStamp = 0;
mutable unsigned int frameNumber = 0;
mutable uint64_t frameTime = 0;
mutable unsigned int region = 0;
mutable unsigned int headersnow = 0;
......
......@@ -89,12 +89,12 @@ int32_t CbmMvdRawDigi::GetAdcCharge(int32_t adcDynamic, int32_t adcOffset, int32
return adcCharge;
}
/** Get station number from detector ID **/
int32_t CbmMvdRawDigi::GetStationNr(int32_t detID)
{
fStation = ((detID & (~31)) >> 5);
return fStation;
}
// /** Get station number from detector ID **/
// int32_t CbmMvdRawDigi::GetStationNr(int32_t detID)
// {
// fStation = ((detID & (~31)) >> 5);
// return fStation;
// }
/** Create unique detector ID from station number **/
int32_t CbmMvdRawDigi::GetDetectorId(int32_t iStation)
......
......@@ -67,8 +67,9 @@ public:
double GetPixelSizeY() { return fPixelSizeY; };
int32_t GetAdcCharge(int32_t adcDynamic, int32_t adcOffset, int32_t adcBits);
int32_t GetFlag() { return fDigiFlag; };
int32_t GetStationNr(int32_t detID);
int32_t GetStationNr(){return fStation;};
int32_t GetDetectorId(int32_t stationNo);
// int32_t GetDetectorId(){return fStation;};
int32_t SystemId(int32_t detID);
int32_t GetAddress() const; /** Unique channel address **/
uint64_t GetTime() const; /** Absolute time [ns] **/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment