]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ZDC/AliZDCRawStream.cxx
typo corrected
[u/mrichter/AliRoot.git] / ZDC / AliZDCRawStream.cxx
index 87243c2348f7edaf0aeea3da927cd68aa19ed164..ba0c166650409aacf9dc7acd2ea921b0918e7021 100644 (file)
@@ -268,15 +268,16 @@ void AliZDCRawStream::ReadCDHHeader()
 {
   // Reading CDH 
   const AliRawDataHeader* header = fRawReader->GetDataHeader();
-  if(!header) {
+  const AliRawDataHeaderV3* headerV3 = fRawReader->GetDataHeaderV3();
+  if(!header && !headerV3) {
       AliError(" No CDH in raw data streaming");
       fRawReader->AddMajorErrorLog(kCDHError);
       return;
   }
-  else{
+
     //printf("\t AliZDCRawStream::ReadCDHHeader -> Data Size = %x\n",fRawReader->GetDataSize());
 
-    UChar_t message = header->GetAttributes();
+  UChar_t message = header ? header->GetAttributes() : headerV3->GetAttributes();
     //printf("\t AliZDCRawStream::ReadCDHHeader -> Attributes %x\n",message);
     
     if((message & 0xf0) == 0x0){ // PHYSICS RUN
@@ -315,9 +316,8 @@ void AliZDCRawStream::ReadCDHHeader()
        //AliInfo("\t ZDC readout card used: ZRC");
     }
 
-    if(header->GetL1TriggerMessage() & 0x1){ // Calibration bit set in CDH
-      fIsCalib = kTRUE;
-    }
+    fIsCalib = (header ? header->GetL1TriggerMessage() : headerV3->GetL1TriggerMessage()) & 0x1;
+
     //printf("\t AliZDCRawStream::ReadCDHHeader -> L1TriggerMessage %x\n",header->GetL1TriggerMessage());
     //printf("\t AliZDCRawStream::ReadCDHHeader -> Calibration bit = %d\n",fIsCalib);    
     
@@ -367,7 +367,6 @@ void AliZDCRawStream::ReadCDHHeader()
       fRawReader->AddMajorErrorLog(kDARCError);
     }
     */
-  }
   
 }
 
@@ -698,7 +697,8 @@ Bool_t AliZDCRawStream::Next()
     else fADCModule = (Int_t) ((fBuffer & 0xf8000000)>>27);
     
     // ************************************ ADC MODULES ************************************
-    if(fADCModule>=kFirstADCGeo && fADCModule<=kLastADCGeo){
+    if(fADCModule>=kFirstADCGeo && fADCModule<=kLastADCGeo && 
+       !fIsTriggerHistory && !fIsScHeaderRead && !fIsTriggerScaler){
       // *** ADC header
       if((fBuffer & 0x07000000) == 0x02000000){
         fIsADCHeader = kTRUE;
@@ -713,7 +713,7 @@ Bool_t AliZDCRawStream::Next()
         fADCValue = (fBuffer & 0xfff);  
        //
        //printf("  AliZDCRawStream -> ADC DATUM: mod. %d ch. %d gain %d value %d\n",
-       //  fADCModule,fADCChannel,fADCGain,fADCValue);
+         //fADCModule,fADCChannel,fADCGain,fADCValue);
        
        // Checking if the channel map for the ADCs has been provided/read
        if(fMapADC[0][0]==-1){
@@ -767,7 +767,7 @@ Bool_t AliZDCRawStream::Next()
       // *** ADC EOB
       else if((fBuffer & 0x07000000) == 0x04000000){
         fIsADCEOB = kTRUE;
-       //printf("  AliZDCRawStream -> EOB --------------------------\n");
+       //printf("  AliZDCRawStream -> ADC EOB --------------------------\n");
       }
     }//ADC module
     // ********************************* ADD ADC *********************************
@@ -791,7 +791,7 @@ Bool_t AliZDCRawStream::Next()
       // *** ADC EOB
       else if((fBuffer & 0x07000000) == 0x04000000){
         fIsADCEOB = kTRUE;
-       //printf("  AliZDCRawStream -> EOB --------------------------\n");
+       //printf("  AliZDCRawStream -> ADD ADC EOB --------------------------\n");
       }
     }
     // ********************************* TDC *********************************
@@ -804,7 +804,7 @@ Bool_t AliZDCRawStream::Next()
       if(fADCModule==kZDCTDCGeo){ // *** ZDC TDC
         fIsZDCTDCHeader = kTRUE;
         //Ch. debug
-        //printf("  AliZDCRawStream -> ZDC TDC: mod.%d\n",fADCModule);
+        //printf("  AliZDCRawStream -> ZDC TDC header: mod.%d\n",fADCModule);
       }
       else if(fADCModule==kADDTDCGeo){ // *** ADD TDC
         fIsADDTDCHeader = kTRUE;
@@ -825,9 +825,10 @@ Bool_t AliZDCRawStream::Next()
         //printf("  AliZDCRawStream -> VME SCALER HEADER: geo %d Nwords %d TrigSource %d TrigNo. %d\n",
         //   fScGeo,fScNWords,fScTriggerSource,fScTriggerNumber);
       } 
-      else if(!(fBuffer & 0x04000000)){
-        fIsScEventGood = kFALSE;
-      }
+      // Commented by C.O. & M.G. (23/09/2011)
+      //else if(!(fBuffer & 0x04000000) && fIsScHeaderRead==kFALSE){
+      //  fIsScEventGood = kFALSE;
+      //}
     }
     // *********************************** PATTERN UNIT ***********************************
     else if(fADCModule == kPUGeo){
@@ -861,12 +862,14 @@ Bool_t AliZDCRawStream::Next()
     // ********************************** VME SCALER DATA **********************************
     //  Reading VME scaler data 
     if(fIsScHeaderRead && fPosition>=fScStartCounter+1){ // *** Scaler word
-      fADCModule=kScalerGeo; fIsADCDataWord=kFALSE; fIsScalerWord=kTRUE;
+      fADCModule=kScalerGeo; 
+      fIsADCDataWord=kFALSE; 
+      fIsScalerWord=kTRUE;
       fScEvCounter = fBuffer;
       Int_t nWords = (Int_t) (fScNWords);
       if(fPosition == fScStartCounter+nWords) fIsScHeaderRead = kFALSE;
       //Ch. debug
-      //printf("  AliZDCRawStream -> scaler datum %d", fScEvCounter);
+      //printf("  AliZDCRawStream -> scaler datum %x \n", fScEvCounter);
     }
     // ********************************** ZDC TDC DATA **********************************
     //  ZDC TDC data
@@ -965,7 +968,7 @@ Bool_t AliZDCRawStream::Next()
           }
         }       
         // Ch. debug
-        //printf("  AliZDCRawStream -> Trigger history word %d\n", fPosition-fTrigHistStart);
+        //printf("  AliZDCRawStream -> Trigger history word[%d] %x\n", fPosition, fBuffer);
     }
     
   }