bug fix for ClassData for numCh < MAXNCHANNEL
This commit is contained in:
parent
c0e6d7ae9a
commit
2ee71637cc
23
ClassData.h
23
ClassData.h
|
@ -179,6 +179,10 @@ inline Data::~Data(){
|
||||||
|
|
||||||
inline void Data::AllocateDataSize(uShort dataSize){
|
inline void Data::AllocateDataSize(uShort dataSize){
|
||||||
|
|
||||||
|
if( dataSize < 1) {
|
||||||
|
printf("dataSize cannot < 1, set dataSize = 1.\n");
|
||||||
|
dataSize = 1;
|
||||||
|
}
|
||||||
printf("Data::%s, size: %u\n", __func__, dataSize);
|
printf("Data::%s, size: %u\n", __func__, dataSize);
|
||||||
|
|
||||||
this->dataSize = dataSize;
|
this->dataSize = dataSize;
|
||||||
|
@ -276,6 +280,15 @@ inline void Data::ClearData(){
|
||||||
for( int ch = 0 ; ch < MaxNChannels; ch++){
|
for( int ch = 0 ; ch < MaxNChannels; ch++){
|
||||||
LoopIndex[ch] = 0;
|
LoopIndex[ch] = 0;
|
||||||
DataIndex[ch] = -1;
|
DataIndex[ch] = -1;
|
||||||
|
NumEventsDecoded[ch] = 0;
|
||||||
|
NumNonPileUpDecoded[ch] = 0;
|
||||||
|
|
||||||
|
TotNumNonPileUpEvents[ch] = 0 ;
|
||||||
|
|
||||||
|
calIndexes[ch][0] = -1;
|
||||||
|
calIndexes[ch][1] = -1;
|
||||||
|
|
||||||
|
if( ch >= numInputCh) break;
|
||||||
for( int j = 0; j < dataSize; j++){
|
for( int j = 0; j < dataSize; j++){
|
||||||
Timestamp[ch][j] = 0;
|
Timestamp[ch][j] = 0;
|
||||||
fineTime[ch][j] = 0;
|
fineTime[ch][j] = 0;
|
||||||
|
@ -289,13 +302,6 @@ inline void Data::ClearData(){
|
||||||
DigiWaveform4[ch][j].clear();
|
DigiWaveform4[ch][j].clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
NumEventsDecoded[ch] = 0;
|
|
||||||
NumNonPileUpDecoded[ch] = 0;
|
|
||||||
|
|
||||||
TotNumNonPileUpEvents[ch] = 0 ;
|
|
||||||
|
|
||||||
calIndexes[ch][0] = -1;
|
|
||||||
calIndexes[ch][1] = -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tempWaveform1.clear();
|
tempWaveform1.clear();
|
||||||
|
@ -304,6 +310,7 @@ inline void Data::ClearData(){
|
||||||
tempDigiWaveform2.clear();
|
tempDigiWaveform2.clear();
|
||||||
tempDigiWaveform3.clear();
|
tempDigiWaveform3.clear();
|
||||||
tempDigiWaveform4.clear();
|
tempDigiWaveform4.clear();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void Data::ClearBuffer(){
|
inline void Data::ClearBuffer(){
|
||||||
|
@ -462,7 +469,7 @@ inline void Data::PrintChData(unsigned short ch, unsigned int maxRowDisplay) con
|
||||||
|
|
||||||
if( DataIndex[ch] < 0 ) printf("no data in ch-%d\n", ch);
|
if( DataIndex[ch] < 0 ) printf("no data in ch-%d\n", ch);
|
||||||
printf("------------ ch : %d, DataIndex : %d, loop : %d\n", ch, DataIndex[ch], LoopIndex[ch]);
|
printf("------------ ch : %d, DataIndex : %d, loop : %d\n", ch, DataIndex[ch], LoopIndex[ch]);
|
||||||
for( int ev = 0; ev <= (LoopIndex[ch] > 0 ? dataSize : DataIndex[ch]) ; ev++){
|
for( int ev = 0; ev < (LoopIndex[ch] > 0 ? dataSize : DataIndex[ch]) ; ev++){
|
||||||
if( DPPType == DPPType::DPP_PHA_CODE || DPPType == DPPType::DPP_QDC_CODE ) printf("%4d, %5u, %15llu, %5u \n", ev, Energy[ch][ev], Timestamp[ch][ev], fineTime[ch][ev]);
|
if( DPPType == DPPType::DPP_PHA_CODE || DPPType == DPPType::DPP_QDC_CODE ) printf("%4d, %5u, %15llu, %5u \n", ev, Energy[ch][ev], Timestamp[ch][ev], fineTime[ch][ev]);
|
||||||
if( DPPType == DPPType::DPP_PSD_CODE ) printf("%4d, %5u, %5u, %15llu, %5u \n", ev, Energy[ch][ev], Energy2[ch][ev], Timestamp[ch][ev], fineTime[ch][ev]);
|
if( DPPType == DPPType::DPP_PSD_CODE ) printf("%4d, %5u, %5u, %15llu, %5u \n", ev, Energy[ch][ev], Energy2[ch][ev], Timestamp[ch][ev], fineTime[ch][ev]);
|
||||||
if( maxRowDisplay > 0 && (unsigned int) ev > maxRowDisplay ) break;
|
if( maxRowDisplay > 0 && (unsigned int) ev > maxRowDisplay ) break;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user