]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOFRawStream.cxx
Coverity fixes
[u/mrichter/AliRoot.git] / TOF / AliTOFRawStream.cxx
index ffc0313ed231308a28c2507851919c709781d696..d98d039547cd5547ea5577dd901c1d67912e3c8d 100644 (file)
@@ -127,6 +127,14 @@ Revision 0.01  2005/07/22 A. De Caro
 #include "AliRawDataHeader.h"
 
 #include "AliTOFDecoderV2.h"
+#include "AliTOFTDCHit.h"
+#include "AliTOFDecoderSummaryData.h"
+#include "AliTOFDRMSummaryData.h"
+#include "AliTOFLTMSummaryData.h"
+#include "AliTOFTRMSummaryData.h"
+#include "AliTOFChainSummaryData.h"
+#include "AliTOFTDCHitBuffer.h"
+#include "AliTOFTDCErrorBuffer.h"
 
 ClassImp(AliTOFRawStream)
 
@@ -500,8 +508,10 @@ AliTOFRawStream::~AliTOFRawStream()
   delete fDecoder;
   delete fDecoderV2;
   
-  fTOFrawData->Clear();
-  delete fTOFrawData;
+  if (fTOFrawData) {
+    fTOFrawData->Clear("C");
+    delete fTOFrawData;
+  }
 
   //delete fCableLengthMap;
 
@@ -622,6 +632,11 @@ Bool_t AliTOFRawStream::Next()
   }
 
   fDDL  = fRawReader->GetDDLID();
+  if (fDDL==-1) {
+    fRawReader->AddMajorErrorLog(kDDLdataReading);
+    AliWarning("Error when load DDL. Go to next DDL");
+    return kFALSE;
+  }
 
   fWordType = GetField(data,WORD_TYPE_MASK,WORD_TYPE_POSITION);
 
@@ -1436,7 +1451,15 @@ Bool_t AliTOFRawStream::Decode(Int_t verbose = 0) {
 
     //get equipment infos
     currentEquipment = fRawReader->GetEquipmentId();
+
     currentDDL = fRawReader->GetDDLID();
+    if (currentDDL==-1) {
+      fRawReader->AddMajorErrorLog(kDDLdataReading);
+      if (verbose)
+       AliWarning("Error when load DDL. Go to next DDL");
+      continue;
+    }
+
     currentCDH = fRawReader->GetDataHeader();
     const Int_t kDataSize = fRawReader->GetDataSize();
     const Int_t kDataWords = kDataSize / 4;
@@ -1497,7 +1520,7 @@ Bool_t AliTOFRawStream::DecodeV2(Int_t verbose = 0) {
 
   Int_t currentEquipment;
   Int_t currentDDL;
-  const AliRawDataHeader *currentCDH;
+  //const AliRawDataHeader *currentCDH;
 
   //pointers
   UChar_t *data = 0x0;
@@ -1508,7 +1531,7 @@ Bool_t AliTOFRawStream::DecodeV2(Int_t verbose = 0) {
   //get equipment infos
   currentEquipment = fRawReader->GetEquipmentId();
   currentDDL = fRawReader->GetDDLID();
-  currentCDH = fRawReader->GetDataHeader();
+  //currentCDH = fRawReader->GetDataHeader();
   const Int_t kDataSize = fRawReader->GetDataSize();
   const Int_t kDataWords = kDataSize / 4;
   data = new UChar_t[kDataSize];
@@ -2529,10 +2552,10 @@ void AliTOFRawStream::Raw2SDigits(AliRawReader* rawReader, TClonesArray * const
        else ftxt << "   " << digit[3] << endl;
       }
       */
-      AliDebug(2, Form(" Raw data reading %2d -> %2d %1d %2d %1d %2d (%d, %d, %d)",
+      AliDebug(2, Form(" Raw data reading %2d -> %2d %1d %2d %1d %2d (%d, %d)",
                       last,
                       detectorIndex[0], detectorIndex[1], detectorIndex[2], detectorIndex[4], detectorIndex[3],
-                      digit[0], digit[1], digit[3]));
+                      digit[0], digit[1]));
 
       tofRawDatum = 0;
     } // while loop
@@ -2553,11 +2576,11 @@ void AliTOFRawStream::Raw2SDigits(AliRawReader* rawReader, TClonesArray * const
 }
 
 void AliTOFRawStream::VolumeID2LTM(Int_t detind[],
-                                  Int_t iDDL,
-                                  Int_t iTRM,
-                                  Int_t iChain,
-                                  Int_t iTDC,
-                                  Int_t iChannel) const {
+                                  Int_t &iDDL,
+                                  Int_t &iTRM,
+                                  Int_t &iChain,
+                                  Int_t &iTDC,
+                                  Int_t &iChannel) const {
   //
   // To convert the TOF trigger macropad ID (i.e. detind)
   // into TOF OR signals equipment ID (i.e. iDDL, iTRM, iChain, iTDC, iChannel)