if (position == -1) {
AliError("Wrong VZERO pmt position found");
+ loader->UnloadDigits();
return -1;
}
}
AliDebug(5, Form("inputVector: 0x%x", inputVector));
-
+ loader->UnloadDigits();
return inputVector;
}
else if (this->fType == kTZERO) {
lut = new AliTRDptrgLUT();
this->fLUTArray.AddLast(lut);
// the following lines are only needed for test reasons
- lut = dynamic_cast<AliTRDptrgLUT*>(this->fLUTArray.At(0));
Int_t* initData = new Int_t[256]; // 2^8
- for (Int_t i = 0; i < 256; i++ ) {
- initData[i] = i;
+ lut = dynamic_cast<AliTRDptrgLUT*>(this->fLUTArray.At(0));
+ if (lut) {
+ for (Int_t i = 0; i < 256; i++ ) {
+ initData[i] = i;
+ }
+ lut->InitTable(8, 8, initData, kTRUE); // make copy of initData
}
- lut->InitTable(8, 8, initData, kTRUE); // make copy of initData
lut = dynamic_cast<AliTRDptrgLUT*>(this->fLUTArray.At(1));
- for (Int_t i = 255; i >= 0; i--) {
- initData[255 - i] = i; // inverse ramp
+ if (lut) {
+ for (Int_t i = 255; i >= 0; i--) {
+ initData[255 - i] = i; // inverse ramp
+ }
+ lut->InitTable(8, 8, initData, kTRUE);
}
- lut->InitTable(8, 8, initData, kTRUE);
+ delete [] initData;
}
else {
// initialize threshold
// the following lines are only needed for test reasons
lut = dynamic_cast<AliTRDptrgLUT*>(this->fLUTArray.At(0));
Int_t* initData = new Int_t[4096]; // 2^12
- for (Int_t i = 0; i < 4096; i++ ) {
- initData[i] = i;
+ if (lut) {
+ for (Int_t i = 0; i < 4096; i++ ) {
+ initData[i] = i;
+ }
+ lut->InitTable(12, 12, initData, kTRUE); // make a copy of the table
}
- lut->InitTable(12, 12, initData, kTRUE); // make a copy of the table
lut = dynamic_cast<AliTRDptrgLUT*>(this->fLUTArray.At(1));
- for (Int_t i = 4095; i >= 0; i--) {
- initData[4096 - i] = i; // inverse ramp
+ if (lut) {
+ //for (Int_t i = 4095; i >= 0; i--) {
+ for (Int_t i = 4096; i > 0; i--) {
+ initData[4096 - i] = i; // inverse ramp
+ }
+ lut->InitTable(12, 12, initData, kTRUE); // make a copy of the table
}
- lut->InitTable(12, 12, initData, kTRUE); // make a copy of the table
- delete[] initData;
+ delete [] initData;
}
return false;
}
AliDebug(4, Form("FEB: (pos=%d,id=%d,lut=%d,vector=0x%x)",
this->fPosition, this->fID, iLUT, inputVector));
- result[iLUT + 1] =
- dynamic_cast<AliTRDptrgLUT*>(this->fLUTArray[iLUT])->LookUp(inputVector);
+ AliTRDptrgLUT *lutTmp = dynamic_cast<AliTRDptrgLUT*>(this->fLUTArray[iLUT]);
+ if (lutTmp) {
+ result[iLUT + 1] = lutTmp->LookUp(inputVector);
+ }
AliDebug(4, Form("FEB result[%d] = 0x%x",(iLUT + 1),result[iLUT + 1]));
}
}