]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PMD/AliPMDRawStream.cxx
PMD DA informations : satya
[u/mrichter/AliRoot.git] / PMD / AliPMDRawStream.cxx
index f7ccbb63b1ed5bfacfb5902a0154e5bc5960c399..a3430d4e3e3988ec28c4bd1ed7c3c3beb71db421 100644 (file)
@@ -107,19 +107,17 @@ Int_t AliPMDRawStream::DdlData(TObjArray *pmdddlcont)
   Int_t dataSize = fRawReader->GetDataSize();
   Int_t totaldataword = dataSize/4;
 
-
   if (dataSize <= 0) return -1;
 
   UInt_t data = 0;
 
  // PMD raw data does not contain CDH
 
-  fRawReader->RequireHeader(kFALSE);
+  if (!fRawReader->ReadNextData(fData))
+    {
+      return kFALSE;
+    }
 
-  if (!fRawReader->ReadNextData(fData)) {
-    fRawReader->RequireHeader(kTRUE);
-    return kFALSE;
-  }
 
   fPosition = 0;
 
@@ -188,9 +186,9 @@ Int_t AliPMDRawStream::DdlData(TObjArray *pmdddlcont)
   Int_t irow = -1;
   Int_t icol = -1;
 
-  Int_t blHeaderWord[8];
-  Int_t dspHeaderWord[10];
-  Int_t pbusHeaderWord[4];
+  Int_t blHeaderWord[8]={0};
+  Int_t dspHeaderWord[10]={0};
+  Int_t pbusHeaderWord[4]={0};
 
   Int_t blRawDataLength  = 0;
   Int_t dspRawDataLength = 0;
@@ -203,7 +201,6 @@ Int_t AliPMDRawStream::DdlData(TObjArray *pmdddlcont)
       for (Int_t i = 0; i < kblHLen; i++)
        {
            iwordddl++;
-
            blHeaderWord[i] = (Int_t) GetNextWord();
        }
 
@@ -261,7 +258,6 @@ Int_t AliPMDRawStream::DdlData(TObjArray *pmdddlcont)
                  Int_t ich  = (data >> 12) & 0x003F;
                  Int_t imcm = (data >> 18) & 0x07FF;
                  Int_t ibit = (data >> 31) & 0x0001;
-
                  if (imcm == 0)
                    {
                      AliWarning(Form("FEE address WRONG:: Module %d Patch Bus %d MCM %d",imodule,pbusid,imcm));
@@ -319,6 +315,8 @@ Int_t AliPMDRawStream::DdlData(TObjArray *pmdddlcont)
 
            } // patch bus loop
 
+//SKP added break next line (Reqd. if only one patch Bus)
+         if (iwordddl == totaldataword) break;
 
          if (dspHeader.GetPaddingWord() == 1)
          {
@@ -333,10 +331,12 @@ Int_t AliPMDRawStream::DdlData(TObjArray *pmdddlcont)
 
 
        } // end of DSP
+//SKP added break next line (Reqd. if only one patch Bus)
+         if (iwordddl == totaldataword) break;
 
     } // end of BLOCK
-  
 return iddl;
+ return iddl;
 }
 //_____________________________________________________________________________
 void AliPMDRawStream::GetRowCol(Int_t imodule, Int_t pbusid,