mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-12-31 16:41:18 +01:00
included propix receiver
This commit is contained in:
@@ -262,6 +262,9 @@ int UDPStandardImplementation::setDetectorType(detectorType det){ FILE_LOG(logD
|
||||
case GOTTHARD:
|
||||
cout << endl << "***** This is a GOTTHARD Receiver *****" << endl << endl;
|
||||
break;
|
||||
case PROPIX:
|
||||
cout << endl << "***** This is a PROPIX Receiver *****" << endl << endl;
|
||||
break;
|
||||
case MOENCH:
|
||||
cout << endl << "***** This is a MOENCH Receiver *****" << endl << endl;
|
||||
break;
|
||||
@@ -280,7 +283,7 @@ int UDPStandardImplementation::setDetectorType(detectorType det){ FILE_LOG(logD
|
||||
break;
|
||||
}
|
||||
|
||||
//moench variables
|
||||
//detector specific variables
|
||||
if(myDetectorType == GOTTHARD){
|
||||
fifosize = GOTTHARD_FIFO_SIZE;
|
||||
packetsPerFrame = GOTTHARD_PACKETS_PER_FRAME;
|
||||
@@ -291,6 +294,16 @@ int UDPStandardImplementation::setDetectorType(detectorType det){ FILE_LOG(logD
|
||||
frameIndexMask = GOTTHARD_FRAME_INDEX_MASK;
|
||||
frameIndexOffset = GOTTHARD_FRAME_INDEX_OFFSET;
|
||||
packetIndexMask = GOTTHARD_PACKET_INDEX_MASK;
|
||||
}else if(myDetectorType == PROPIX){
|
||||
fifosize = PROPIX_FIFO_SIZE;
|
||||
packetsPerFrame = PROPIX_PACKETS_PER_FRAME;
|
||||
onePacketSize = PROPIX_ONE_PACKET_SIZE;
|
||||
frameSize = PROPIX_BUFFER_SIZE;
|
||||
bufferSize = PROPIX_BUFFER_SIZE;
|
||||
maxPacketsPerFile = MAX_FRAMES_PER_FILE * PROPIX_PACKETS_PER_FRAME;
|
||||
frameIndexMask = PROPIX_FRAME_INDEX_MASK;
|
||||
frameIndexOffset = PROPIX_FRAME_INDEX_OFFSET;
|
||||
packetIndexMask = PROPIX_PACKET_INDEX_MASK;
|
||||
}else if(myDetectorType == MOENCH){
|
||||
fifosize = MOENCH_FIFO_SIZE;
|
||||
packetsPerFrame = MOENCH_PACKETS_PER_FRAME;
|
||||
@@ -827,6 +840,8 @@ void UDPStandardImplementation::setupFifoStructure(){
|
||||
fifosize = GOTTHARD_FIFO_SIZE;
|
||||
if(myDetectorType == MOENCH)
|
||||
fifosize = MOENCH_FIFO_SIZE;
|
||||
if(myDetectorType == PROPIX)
|
||||
fifosize = PROPIX_FIFO_SIZE;
|
||||
else if(myDetectorType == EIGER)
|
||||
fifosize = EIGER_FIFO_SIZE;
|
||||
|
||||
@@ -1797,6 +1812,7 @@ int UDPStandardImplementation::startListening(){
|
||||
break;
|
||||
|
||||
case GOTTHARD:
|
||||
case PROPIX:
|
||||
if(shortFrame == -1){
|
||||
lastpacketoffset = (((numJobsPerThread * packetsPerFrame - 1) * onePacketSize) + HEADER_SIZE_NUM_TOT_PACKETS);
|
||||
#ifdef VERYDEBUG
|
||||
@@ -1959,7 +1975,7 @@ int UDPStandardImplementation::startWriting(){
|
||||
tempframenum += (startFrameIndex-1); //eiger frame numbers start at 1, so need to -1
|
||||
//tempframenum = ((tempframenum / EIGER_32BIT_INITIAL_CONSTANT) + startFrameIndex)-1;//eiger 32 bit mode is a multiple of 17c. +startframeindex for scans
|
||||
|
||||
}else if ((myDetectorType == GOTTHARD) && (shortFrame == -1))
|
||||
}else if ((myDetectorType == PROPIX) || ((myDetectorType == GOTTHARD) && (shortFrame == -1)))
|
||||
tempframenum = (((((uint32_t)(*((uint32_t*)(wbuf[ithread] + HEADER_SIZE_NUM_TOT_PACKETS))))+1)& (frameIndexMask)) >> frameIndexOffset);
|
||||
else
|
||||
tempframenum = ((((uint32_t)(*((uint32_t*)(wbuf[ithread] + HEADER_SIZE_NUM_TOT_PACKETS))))& (frameIndexMask)) >> frameIndexOffset);
|
||||
@@ -2156,7 +2172,7 @@ void UDPStandardImplementation::startFrameIndices(int ithread){
|
||||
startFrameIndex = htonl(*(unsigned int*)((eiger_image_header *)((char*)(buffer[ithread] + HEADER_SIZE_NUM_TOT_PACKETS)))->fnum);
|
||||
}
|
||||
//gotthard has +1 for frame number and not a short frame
|
||||
else if ((myDetectorType == GOTTHARD) && (shortFrame == -1))
|
||||
else if ((myDetectorType == PROPIX) || ((myDetectorType == GOTTHARD) && (shortFrame == -1)))
|
||||
startFrameIndex = (((((uint32_t)(*((uint32_t*)(buffer[ithread] + HEADER_SIZE_NUM_TOT_PACKETS))))+1)
|
||||
& (frameIndexMask)) >> frameIndexOffset);
|
||||
else
|
||||
@@ -2437,7 +2453,7 @@ void UDPStandardImplementation::writeToFile_withoutCompression(char* buf,int num
|
||||
|
||||
//for progress and packet loss calculation(new files)
|
||||
if(myDetectorType == EIGER);
|
||||
else if ((myDetectorType == GOTTHARD) && (shortFrame == -1))
|
||||
else if ((myDetectorType == PROPIX)||((myDetectorType == GOTTHARD) && (shortFrame == -1)))
|
||||
tempframenum = (((((uint32_t)(*((uint32_t*)(buf + HEADER_SIZE_NUM_TOT_PACKETS))))+1)& (frameIndexMask)) >> frameIndexOffset);
|
||||
else
|
||||
tempframenum = ((((uint32_t)(*((uint32_t*)(buf + HEADER_SIZE_NUM_TOT_PACKETS))))& (frameIndexMask)) >> frameIndexOffset);
|
||||
@@ -2474,7 +2490,7 @@ void UDPStandardImplementation::writeToFile_withoutCompression(char* buf,int num
|
||||
//for packet loss
|
||||
lastpacket = (((packetsToSave - 1) * onePacketSize) + offset);
|
||||
if(myDetectorType == EIGER);
|
||||
else if ((myDetectorType == GOTTHARD) && (shortFrame == -1))
|
||||
else if ((myDetectorType == PROPIX)||((myDetectorType == GOTTHARD) && (shortFrame == -1)))
|
||||
tempframenum = (((((uint32_t)(*((uint32_t*)(buf + lastpacket))))+1)& (frameIndexMask)) >> frameIndexOffset);
|
||||
else
|
||||
tempframenum = ((((uint32_t)(*((uint32_t*)(buf + lastpacket))))& (frameIndexMask)) >> frameIndexOffset);
|
||||
|
||||
Reference in New Issue
Block a user