]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOFRawStream.cxx
Use different names for cut object tlist in case f prompt and secondary Ds (Gian...
[u/mrichter/AliRoot.git] / TOF / AliTOFRawStream.cxx
index 37be5961b0c7c2fc706653ce7244dcb8caaeaa02..43f36b781dab8f0648ef58222cdd88dc19ea15d1 100644 (file)
@@ -504,12 +504,13 @@ AliTOFRawStream::~AliTOFRawStream()
   // destructor
 
   fPackedDigits = 0;
-
   delete fDecoder;
   delete fDecoderV2;
   
-  fTOFrawData->Clear();
-  delete fTOFrawData;
+  if (fTOFrawData) {
+    fTOFrawData->Clear("C");
+    delete fTOFrawData;
+  }
 
   //delete fCableLengthMap;
 
@@ -630,6 +631,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);
 
@@ -1438,10 +1444,6 @@ Bool_t AliTOFRawStream::Decode(Int_t verbose = 0) {
   //loop and read DDL headers 
   while(fRawReader->ReadHeader()){
 
-    //memory leak prevention (actually data should be always 0x0 here)
-    if (data != 0x0)
-      delete [] data;
-
     //get equipment infos
     currentEquipment = fRawReader->GetEquipmentId();
 
@@ -1774,6 +1776,7 @@ AliTOFRawStream::LoadRawDataBuffersV2(Int_t indexDDL, Int_t verbose)
     /* skip if bad TRM event counter detected */
     if (trmsd->GetEventCounter() != drmsd->GetLocalEventCounter()) continue;
     /* skip if bad TRM CRC detected */
+    AliDebug(2,Form("~~~~~~ %02d %02d --- TRM CRC: as written in raw data =%d and as computed =%d ~~~~~~",indexDDL,itrm,trmsd->GetEventCRC(), trmsd->GetDecoderCRC()));
     if (trmsd->GetEventCRC() != trmsd->GetDecoderCRC()) continue;
 
     /* loop over chains */