myself some weeks ago, but for some strange reason did not cause any
crashes until now. The problem was checking for ADC saturation, which uses
AliL3Transform::GetADCSat(), but this is sometimes set to 1024 and this
of course is a problem since we are only reserving 10 bits per ADC when
writing to binary files. I actually spend 2 hours figuring out this
FUCKING bug.
}
while(digit<row_pt->fNDigit && row_pt->fDigitData[digit].fPad == pad){
UShort_t charge = row_pt->fDigitData[digit].fCharge;
}
while(digit<row_pt->fNDigit && row_pt->fDigitData[digit].fPad == pad){
UShort_t charge = row_pt->fDigitData[digit].fCharge;
- if(charge>=AliL3Transform::GetADCSat()){
- charge=AliL3Transform::GetADCSat();
+ if(charge>=1023){
+ charge=1023;
}
Write(comp,index,subindex,charge);
if(digit+1<row_pt->fNDigit&&row_pt->fDigitData[digit+1].fPad == pad){
}
Write(comp,index,subindex,charge);
if(digit+1<row_pt->fNDigit&&row_pt->fDigitData[digit+1].fPad == pad){
Write(comp,index,subindex,0);
Write(comp,index,subindex,0);
}
Write(comp,index,subindex,0);
Write(comp,index,subindex,0);
}
Int_t size = sizeof(AliL3DigitData) * row_pt->fNDigit+
sizeof(AliL3DigitRowData);
Byte_t *byte_pt =(Byte_t *) row_pt;
Int_t size = sizeof(AliL3DigitData) * row_pt->fNDigit+
sizeof(AliL3DigitRowData);
Byte_t *byte_pt =(Byte_t *) row_pt;