]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONRawWriter.cxx
Adding JetTaggingSample Task
[u/mrichter/AliRoot.git] / MUON / AliMUONRawWriter.cxx
index ba24638909ffa071e351789d98966b5d7eef621c..8b744b34aa91c93be45409170fe9d162126a6b5d 100644 (file)
@@ -431,7 +431,7 @@ AliMUONRawWriter::WriteTrackerDDL(AliMpExMap& busPatchMap, Int_t iDDL)
   // total length in bytes
   // DDL header
 
-  Int_t headerSize = sizeof(AliRawDataHeader)/4;
+  Int_t headerSize = sizeof(AliRawDataHeaderV3)/4;
   
   fHeader->fSize = (totalDDLLength + headerSize) * 4;
   
@@ -465,7 +465,7 @@ Int_t AliMUONRawWriter::WriteTriggerDDL(const AliMUONVTriggerStore& triggerStore
  // DDL event one per half chamber
 
  // DDL header size
-  Int_t headerSize = sizeof(AliRawDataHeader)/4;
+  Int_t headerSize = sizeof(AliRawDataHeaderV3)/4;
 
   // global trigger for trigger pattern
   AliMUONGlobalTrigger* gloTrg = triggerStore.Global();
@@ -480,7 +480,6 @@ Int_t AliMUONRawWriter::WriteTriggerDDL(const AliMUONVTriggerStore& triggerStore
   UInt_t word;
   Int_t* buffer = 0;
   Int_t index;
-  Int_t locCard;
   UChar_t locDec, trigY, posY, posX, regOut;
   UInt_t regInpLpt;
   UInt_t regInpHpt;
@@ -644,28 +643,28 @@ Int_t AliMUONRawWriter::WriteTriggerDDL(const AliMUONVTriggerStore& triggerStore
          if (localBoard->IsNotified()) {// if notified board 
            AliMUONLocalTrigger* locTrg = triggerStore.FindLocal(localBoardId);
 
-           locCard = locTrg->LoCircuit();
-           locDec  = locTrg->GetLoDecision();
-           trigY   = locTrg->LoTrigY();
-           posY    = locTrg->LoStripY();
-           posX    = locTrg->LoStripX();
-           devX    = locTrg->LoDev();
-           sdevX   = locTrg->LoSdev();
-                 
-           AliDebug(4,Form("loctrg %d, posX %d, posY %d, devX %d\n", 
-                           locTrg->LoCircuit(),locTrg->LoStripX(),locTrg->LoStripY(),locTrg->LoDev()));  
-           //packing word
-           word = 0;
-           LocalWordPacking(word, (UInt_t)iLoc, (UInt_t)locDec, (UInt_t)trigY, (UInt_t)posY, 
-                            (UInt_t)posX, (UInt_t)sdevX, (UInt_t)devX);
-
-           buffer[index++] = (locTrg->GetX1Pattern() | (locTrg->GetX2Pattern() << 16));
-           buffer[index++] = (locTrg->GetX3Pattern() | (locTrg->GetX4Pattern() << 16));
-           buffer[index++] = (locTrg->GetY1Pattern() | (locTrg->GetY2Pattern() << 16));
-           buffer[index++] = (locTrg->GetY3Pattern() | (locTrg->GetY4Pattern() << 16));
-           buffer[index++] = (Int_t)word; // data word
-                     
-               
+      if (locTrg)
+      {
+        locDec  = locTrg->GetLoDecision();
+        trigY   = locTrg->LoTrigY();
+        posY    = locTrg->LoStripY();
+        posX    = locTrg->LoStripX();
+        devX    = locTrg->LoDev();
+        sdevX   = locTrg->LoSdev();
+        
+        AliDebug(4,Form("loctrg %d, posX %d, posY %d, devX %d\n", 
+                        locTrg->LoCircuit(),locTrg->LoStripX(),locTrg->LoStripY(),locTrg->LoDev()));  
+        //packing word
+        word = 0;
+        LocalWordPacking(word, (UInt_t)iLoc, (UInt_t)locDec, (UInt_t)trigY, (UInt_t)posY, 
+                         (UInt_t)posX, (UInt_t)sdevX, (UInt_t)devX);
+        
+        buffer[index++] = (locTrg->GetX1Pattern() | (locTrg->GetX2Pattern() << 16));
+        buffer[index++] = (locTrg->GetX3Pattern() | (locTrg->GetX4Pattern() << 16));
+        buffer[index++] = (locTrg->GetY1Pattern() | (locTrg->GetY2Pattern() << 16));
+        buffer[index++] = (locTrg->GetY3Pattern() | (locTrg->GetY4Pattern() << 16));
+        buffer[index++] = (Int_t)word; // data word
+      }
          }
          // fill copy card X-Y inputs from the notified cards 
          if (localBoard->GetInputXfrom() && localBoard->GetInputYfrom()) 
@@ -679,11 +678,14 @@ Int_t AliMUONRawWriter::WriteTriggerDDL(const AliMUONVTriggerStore& triggerStore
            Int_t localFromId = localBoard->GetInputXfrom();
            AliMUONLocalTrigger* locTrgfrom  = triggerStore.FindLocal(localFromId);
 
-           buffer[index++] = 0; // copy only X3-4 & Y1-4
-           buffer[index++] = (locTrgfrom->GetX3Pattern() | (locTrgfrom->GetX4Pattern() << 16));
-           buffer[index++] = (locTrgfrom->GetY1Pattern() | (locTrgfrom->GetY2Pattern() << 16));
-           buffer[index++] = (locTrgfrom->GetY3Pattern() | (locTrgfrom->GetY4Pattern() << 16));
-           buffer[index++] = word;
+      if ( locTrgfrom ) 
+      {
+        buffer[index++] = 0; // copy only X3-4 & Y1-4
+        buffer[index++] = (locTrgfrom->GetX3Pattern() | (locTrgfrom->GetX4Pattern() << 16));
+        buffer[index++] = (locTrgfrom->GetY1Pattern() | (locTrgfrom->GetY2Pattern() << 16));
+        buffer[index++] = (locTrgfrom->GetY3Pattern() | (locTrgfrom->GetY4Pattern() << 16));
+        buffer[index++] = word;
+      }
          }
 
        } else {