]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/TPCLib/AliHLTTPCDigitReaderRaw.cxx
robustness
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCDigitReaderRaw.cxx
index 16f0cd027668989c95a440383d0a133939202fcc..fe661f597d183e3d97f8ed92a24107fdc7790085 100644 (file)
@@ -309,12 +309,14 @@ int AliHLTTPCDigitReaderRaw::GetTime()
 
 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;
 }
@@ -602,13 +604,8 @@ Bool_t AliHLTTPCDigitReaderRaw::ApplyMapping()
            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];