int AliHLTTPCDigitReaderRaw::GetAltroChannelRawData(void* &pTgt, AliHLTUInt16_t &hwAddress)
{
- int iResult;
+ int iResult=0;
if (fBuffer==NULL) return -ENODATA;
- if (fAltroBlockPositionBytes-fAltroBlockLengthBytes>GetCommonDataHeaderSize()) {
- pTgt=fBuffer+(fAltroBlockPositionBytes-fAltroBlockLengthBytes+1);
+ if (fAltroBlockPositionBytes-fAltroBlockLengthBytes>=GetCommonDataHeaderSize()) {
+ pTgt=fBuffer+(fAltroBlockPositionBytes-fAltroBlockLengthBytes);
iResult=fAltroBlockLengthBytes;
hwAddress=fAltroBlockHWAddress;
+ } else {
+ iResult=-ERANGE;
}
return iResult;
}
fPad = fgMapping0[(unsigned)fAltroBlockHWAddress][1];
break;
case 1:
- fRow = AliHLTTPCDigitReaderRaw::fgMapping1[(unsigned)fAltroBlockHWAddress][0];
- fPad = AliHLTTPCDigitReaderRaw::fgMapping1[(unsigned)fAltroBlockHWAddress][1];
-#if 0
- printf ("pad %d # row %d (hwa: %u / 0x%08X\n", fgMapping1[(unsigned)fAltroBlockHWAddress][0],fgMapping1[(unsigned)fAltroBlockHWAddress][1], (unsigned)fAltroBlockHWAddress, (unsigned)fAltroBlockHWAddress);
- printf ("pad %d # row %d (hwa: %u / 0x%08X\n", fgMapping1[(unsigned)fAltroBlockHWAddress-1][0],fgMapping1[(unsigned)fAltroBlockHWAddress-1][1], (unsigned)fAltroBlockHWAddress-1, (unsigned)fAltroBlockHWAddress-1);
- printf ("pad %d # row %d (hwa: %u / 0x%08X\n", fgMapping1[(unsigned)fAltroBlockHWAddress+1][0],fgMapping1[(unsigned)fAltroBlockHWAddress+1][1], (unsigned)fAltroBlockHWAddress+1, (unsigned)fAltroBlockHWAddress+1);
-#endif
+ fRow = fgMapping1[(unsigned)fAltroBlockHWAddress][0];
+ fPad = fgMapping1[(unsigned)fAltroBlockHWAddress][1];
break;
case 2:
fRow = fgMapping2[(unsigned)fAltroBlockHWAddress][0];