]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONPayloadTrigger.cxx
MUON + CheckCompiler
[u/mrichter/AliRoot.git] / MUON / AliMUONPayloadTrigger.cxx
diff --git a/MUON/AliMUONPayloadTrigger.cxx b/MUON/AliMUONPayloadTrigger.cxx
deleted file mode 100644 (file)
index 5712694..0000000
+++ /dev/null
@@ -1,257 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-// $Id$
-
-//-----------------------------------------------------------------------------
-/// \class AliMUONPayloadTrigger
-/// Class Payload
-///
-/// Decodes rawdata from buffer and stores in TClonesArray.
-/// 
-/// First version implement for Trigger
-///
-/// \author Christian Finck
-//-----------------------------------------------------------------------------
-
-#include "AliMUONPayloadTrigger.h"
-
-#include "AliMUONDarcHeader.h"
-#include "AliMUONRegHeader.h"
-#include "AliMUONLocalStruct.h"
-#include "AliMUONDDLTrigger.h"
-#include "AliMUONLogger.h"
-
-#include "AliLog.h"
-
-/// \cond CLASSIMP
-ClassImp(AliMUONPayloadTrigger)
-/// \endcond
-
-AliMUONPayloadTrigger::AliMUONPayloadTrigger()
-  : TObject(),
-    fMaxReg(8),
-    fMaxLoc(16),
-    fDDLTrigger(new AliMUONDDLTrigger()),
-    fRegHeader(new AliMUONRegHeader()), 
-    fLocalStruct(new AliMUONLocalStruct()),
-    fLog(new AliMUONLogger(1000)),
-    fDarcEoWErrors(0),
-    fGlobalEoWErrors(0),
-    fRegEoWErrors(0),
-    fLocalEoWErrors(0),
-    fWarnings(kTRUE),
-    fNofRegSet(kFALSE)
-{
-  ///
-  /// create an object to read MUON raw digits
-  /// Default ctor for monitoring purposes
-  ///
-
-}
-
-//___________________________________
-AliMUONPayloadTrigger::~AliMUONPayloadTrigger()
-{
-  ///
-  /// clean up
-  ///
-  delete fDDLTrigger;
-  delete fLocalStruct;
-  delete fRegHeader;
-  delete fLog;
-}
-
-
-//______________________________________________________
-Bool_t AliMUONPayloadTrigger::Decode(UInt_t *buffer, Bool_t scalerEvent)
-{
-  /// decode trigger DDL
-  /// store only notified cards
-
- // reading DDL for trigger
-
-  AliMUONDarcHeader* darcHeader = fDDLTrigger->GetDarcHeader();
-
-  static Int_t kGlobalHeaderSize   = darcHeader->GetGlobalHeaderLength(); 
-  static Int_t kDarcHeaderSize     = darcHeader->GetDarcHeaderLength(); 
-  static Int_t kRegHeaderSize      = fRegHeader->GetHeaderLength();
-  static Int_t kRegEmptySize       = fRegHeader->GetHeaderLength()+1 + 16*(fLocalStruct->GetLength()+1);
-  static Int_t kRegEmptyScalerSize = fRegHeader->GetHeaderLength() + fRegHeader->GetScalerLength() + 1 +
-                                      16*(fLocalStruct->GetLength() + fLocalStruct->GetScalerLength() + 1);
-
-  Int_t index = 0;
-
-  memcpy(darcHeader->GetHeader(), &buffer[index], (kDarcHeaderSize)*4); 
-  index += kDarcHeaderSize;
-
-
-  // darc type vadorh
-  if (darcHeader->GetDarcType() == darcHeader->GetDarcVadohrType())
-      fMaxReg = 1;
-    
-  // darc type def.
-  if (darcHeader->GetDarcType() == darcHeader->GetDarcDefaultType())
-      fMaxReg = 8;
-      
-  if(darcHeader->GetEventType() == scalerEvent) 
-      if (fWarnings) AliWarning("Wrong event type obtained from the Darc header, take the one of CDH");
-
-
-  if(scalerEvent) {
-    // 6 DARC scaler words
-    memcpy(darcHeader->GetDarcScalers(), &buffer[index], darcHeader->GetDarcScalerLength()*4);
-    index += darcHeader->GetDarcScalerLength();
-  }
-
-  if (buffer[index++] != darcHeader->GetEndOfDarc()) {
-
-      const Char_t* msg = Form("Wrong end of Darc word %x instead of %x\n",
-                   buffer[index-1], darcHeader->GetEndOfDarc());
-      if (fWarnings) AliWarning(msg);
-      AddErrorMessage(msg);
-      fDarcEoWErrors++;
-  }
-  // 4 words of global board input + Global board output
-  memcpy(darcHeader->GetGlobalInput(), &buffer[index], (kGlobalHeaderSize)*4); 
-  index += kGlobalHeaderSize; 
-
-  if(scalerEvent) {
-    // 10 Global scaler words
-    memcpy(darcHeader->GetGlobalScalers(), &buffer[index], darcHeader->GetGlobalScalerLength()*4);
-    index += darcHeader->GetGlobalScalerLength();
-  }
-
-  if (buffer[index++] != darcHeader->GetEndOfGlobal()) {
-
-      const Char_t* msg = Form("Wrong end of Global word %x instead of %x\n",
-                     buffer[index-1], darcHeader->GetEndOfGlobal());
-      if (fWarnings) AliWarning(msg);
-      AddErrorMessage(msg);
-      fGlobalEoWErrors++;
-  }
-  // 8 regional boards
-  for (Int_t iReg = 0; iReg < fMaxReg; iReg++) {           //loop over regeonal card
-
-    // skip empty regaional board (not connected or with error reading)
-    if (buffer[index] == fRegHeader->GetErrorWord()) {
-      fDDLTrigger->AddRegHeader(*fRegHeader);
-      if (scalerEvent)
-        index += kRegEmptyScalerSize;
-      else 
-        index += kRegEmptySize;
-      continue;
-    }
-    memcpy(fRegHeader->GetHeader(), &buffer[index], kRegHeaderSize*4);
-    index += kRegHeaderSize;
-
-    fDDLTrigger->AddRegHeader(*fRegHeader);
-    // 11 regional scaler word
-    if(scalerEvent) {
-      memcpy(fRegHeader->GetScalers(), &buffer[index], fRegHeader->GetScalerLength()*4);
-      index += fRegHeader->GetScalerLength();
-    }
-
-    if (buffer[index++] != fRegHeader->GetEndOfReg()) {
-
-      const Char_t* msg = Form("Wrong end of Regional word %x instead of %x\n",
-                   buffer[index-1], fRegHeader->GetEndOfReg());
-      if (fWarnings) AliWarning(msg);
-      AddErrorMessage(msg);
-      fRegEoWErrors++;
-    }
-    // 16 local cards per regional board
-    for (Int_t iLoc = 0; iLoc < fMaxLoc; iLoc++) {         //loop over local card
-         
-      Int_t dataSize = fLocalStruct->GetLength();;
-
-      // 5 word trigger information
-      memcpy(fLocalStruct->GetData(), &buffer[index], dataSize*4); 
-      index += dataSize;        
-
-      // 45 regional scaler word
-      if(scalerEvent) {
-       memcpy(fLocalStruct->GetScalers(), &buffer[index], fLocalStruct->GetScalerLength()*4);
-       index += fLocalStruct->GetScalerLength();
-      }
-
-      if (buffer[index++] != fLocalStruct->GetEndOfLocal()) {
-
-        const Char_t* msg = Form("Wrong end of Local word %x instead of %x\n",
-                                 buffer[index-1], fLocalStruct->GetEndOfLocal());
-        
-        if (fWarnings) AliWarning(msg);
-        AddErrorMessage(msg);
-       fLocalEoWErrors++;
-      }
-      // fill only if card notified
-      if (fLocalStruct->GetData(0) == fLocalStruct->GetDisableWord())
-         continue;
-
-      fDDLTrigger->AddLocStruct(*fLocalStruct, iReg);
-
-    } // local card loop
-       
-  } // regional card loop
-      
-
-  return kTRUE;
-}
-
-//______________________________________________________
-void AliMUONPayloadTrigger::ResetDDL()
-{
-  /// reseting TClonesArray
-  /// after each DDL
-  ///
-  AliMUONDarcHeader* darcHeader = fDDLTrigger->GetDarcHeader();
-  darcHeader->GetRegHeaderArray()->Delete();
-  fDarcEoWErrors   = 0;
-  fGlobalEoWErrors = 0;
-  fRegEoWErrors    = 0;
-  fLocalEoWErrors  = 0;
-}
-
-//______________________________________________________
-void AliMUONPayloadTrigger::SetMaxReg(Int_t reg) 
-{
-  /// set regional card number
-  if (reg > 8) reg = 8;
-   fMaxReg = reg;
-   
-  fNofRegSet = kTRUE;
-}
-
-//______________________________________________________
-void AliMUONPayloadTrigger::SetMaxLoc(Int_t loc) 
-{
-  /// set local card number
-  if (loc > 16) loc = 16;
-  fMaxLoc = loc;
-}
-
-//______________________________________________________
-void AliMUONPayloadTrigger::AddErrorMessage(const Char_t* msg)
-{
-/// adding message to logger
-  TString tmp(msg);
-  
-  Int_t pos = tmp.First("\n");
-  tmp[pos] = 0;
-    
-  fLog->Log(tmp.Data());
-}
-