ROOT logo
/**************************************************************************
 * 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.                  *
***************************************************************************/

/*
$Log: AliTOFDecoder.cxx,v $
Revision 1.4  2007/05/18 13:08:57  decaro
Coding convention: RS1 violation -> suppression

Revision 1.3  2007/05/08 11:56:05  arcelli
improved verbosity in verbose mode (R.Preghenella)

Revision 1.2  2007/05/03 11:34:43  decaro
Coding convention: RS1 violation -> suppression

Revision 1.1  2007/04/27 11:00:32  arcelli
TOF Raw Data decoder

  author: Roberto Preghenella (R+), preghenella@bo.infn.it
*/


//////////////////////////////////////////////////////////////////////
//                                                                  //
//                                                                  //
//   Class for raw data decoding                                    //
//                                                                  //
//                                                                  //
//////////////////////////////////////////////////////////////////////
                               

#include "AliLog.h"
#include "AliTOFRawDataFormat.h"
#include "AliTOFDecoderV2.h"
#include "AliTOFTDCHit.h"
#include "AliTOFDecoderSummaryData.h"
#include "AliTOFDRMSummaryData.h"
#include "AliTOFLTMSummaryData.h"
#include "AliTOFTRMSummaryData.h"
#include "AliTOFChainSummaryData.h"
#include "AliTOFTDCHitBuffer.h"
#include "AliTOFTDCErrorBuffer.h"
#include "AliRawDataHeader.h"

ClassImp(AliTOFDecoderV2)

//_________________________________________________________________

AliTOFDecoderV2::AliTOFDecoderV2(AliRawReader *reader) :
  TObject(),
  fRawReader(reader),
  fVerbose(kFALSE),
  fLogErrors(kFALSE),
  fV2718Patch(kFALSE),
  fRecoverError(kTRUE),
  fRecoverErrorThr(0),
  fSpider(kTRUE),
  fRunNumber(0),
  fEventNumber(0),
  fEquipmentID(0),
  fDecoderSummaryData(0x0),
  fDRMSummaryData(0x0),
  fLTMSummaryData(0x0),
  fTRMSummaryData(0x0),
  fChainSummaryData(0x0),
  fTDCHitBuffer(0x0),
  fTDCPackedHitBuffer(0x0),
  fTDCErrorBuffer(0x0),
  fDRMGlobalHeader(0x0),
  fDRMGlobalTrailer(0x0),
  fDRMStatusHeader1(0x0),
  fDRMStatusHeader2(0x0),
  fDRMStatusHeader3(0x0),
  fDRMStatusHeader4(0x0),
  fDRMEventCRC(0x0),
  fLTMGlobalHeader(0x0),
  fLTMGlobalTrailer(0x0),
  fLTMPDLData(0x0),
  fLTMADCData(0x0),
  fLTMORData(0x0),
  fTRMGlobalHeader(0x0),
  fTRMGlobalTrailer(0x0),
  fTRMChainHeader(0x0),
  fTRMChainTrailer(0x0),
  fTDCPackedHit(0x0),
  fTDCUnpackedHit(0x0),
  fTRMTDCError(0x0),
  fTRMDiagnosticErrorWord1(0x0),
  fTRMDiagnosticErrorWord2(0x0),
  fSpiderTDCID(-1),
  fSpiderTDCPackedHitBuffer(0x0)
{
  //default constructor
  if (fRawReader)
    fRawReader->Select("TOF", 0, 71);

  fDecoderSummaryData = new AliTOFDecoderSummaryData();

  for (Int_t iChan = 0; iChan < N_CHANNEL; iChan++)
    fSpiderBufferFull[iChan] = kFALSE;
}

//_________________________________________________________________

AliTOFDecoderV2::AliTOFDecoderV2(const AliTOFDecoderV2 &source) : 
  TObject(),
  fRawReader(source.fRawReader),
  fVerbose(source.fVerbose),
  fLogErrors(source.fLogErrors),
  fV2718Patch(source.fV2718Patch),
  fRecoverError(source.fRecoverError),
  fRecoverErrorThr(source.fRecoverErrorThr),
  fSpider(source.fSpider),
  fRunNumber(source.fRunNumber),
  fEventNumber(source.fEventNumber),
  fEquipmentID(source.fEquipmentID),
  fDecoderSummaryData(0x0),
  fDRMSummaryData(0x0),
  fLTMSummaryData(0x0),
  fTRMSummaryData(0x0),
  fChainSummaryData(0x0),
  fTDCHitBuffer(0x0),
  fTDCPackedHitBuffer(0x0),
  fTDCErrorBuffer(0x0),
  fDRMGlobalHeader(0x0),
  fDRMGlobalTrailer(0x0),
  fDRMStatusHeader1(0x0),
  fDRMStatusHeader2(0x0),
  fDRMStatusHeader3(0x0),
  fDRMStatusHeader4(0x0),
  fDRMEventCRC(0x0),
  fLTMGlobalHeader(0x0),
  fLTMGlobalTrailer(0x0),
  fLTMPDLData(0x0),
  fLTMADCData(0x0),
  fLTMORData(0x0),
  fTRMGlobalHeader(0x0),
  fTRMGlobalTrailer(0x0),
  fTRMChainHeader(0x0),
  fTRMChainTrailer(0x0),
  fTDCPackedHit(0x0),
  fTDCUnpackedHit(0x0),
  fTRMTDCError(0x0),
  fTRMDiagnosticErrorWord1(0x0),
  fTRMDiagnosticErrorWord2(0x0),
  fSpiderTDCID(-1),
  fSpiderTDCPackedHitBuffer(0x0)
{
  //copy constructor
  fDecoderSummaryData = new AliTOFDecoderSummaryData(*source.fDecoderSummaryData);
  
  for (Int_t iChan = 0; iChan < N_CHANNEL; iChan++)
    fSpiderBufferFull[iChan] = kFALSE;
}

//_________________________________________________________________

AliTOFDecoderV2 &
AliTOFDecoderV2::operator = (const AliTOFDecoderV2 &source)
{
  //operator =
  if (this == &source) return *this;
  TObject::operator=(source);
  fRawReader = source.fRawReader;
  fVerbose = source.fVerbose;
  fLogErrors = source.fLogErrors;
  fV2718Patch = source.fV2718Patch;
  fRecoverError = source.fRecoverError;
  fRecoverErrorThr = source.fRecoverErrorThr;
  fSpider = source.fSpider;
  fRunNumber = source.fRunNumber;
  fEventNumber = source.fEventNumber;
  fEquipmentID = source.fEquipmentID;
  *fDecoderSummaryData = *source.fDecoderSummaryData;
  return *this;
}

AliTOFDecoderV2::~AliTOFDecoderV2()
{
    delete fDecoderSummaryData;
}

//_________________________________________________________________

Bool_t
AliTOFDecoderV2::Decode(UInt_t *rawData, UInt_t nWords)
{
  /* main decoding routine.
   * it loops over nWords 32-bit words 
   * starting at *rawData and decodes them.
   * it also fills some buffers in order to
   * have the decoded data available for other
   * classes.
   */

  //reset decoder summary data
  fDecoderSummaryData->Reset();

  //fill decoder summary data
  fDecoderSummaryData->SetRunNumber(fRunNumber);
  fDecoderSummaryData->SetEventNumber(fEventNumber);
  fDecoderSummaryData->SetEquipmentID(fEquipmentID);
  fDecoderSummaryData->SetInputWords(nWords);
  fDecoderSummaryData->SetRecoverError(fRecoverError);
  fDecoderSummaryData->SetSpider(fSpider);

  AliTOFTDCHit hit;
  AliTOFTDCError error;

  //decoder status
  UShort_t decoderStatus = 0x0;

  //CRC variables
  UInt_t drmCRC = 0x0;
  UInt_t ltmCRC = 0x0;
  UInt_t trmCRC = 0x0;

  // error warning counter
  Int_t errorWarning = 0;
  
  if (fRecoverError && fVerbose)
    AliInfo("Recover error option enabled: potentially dangerous!");

  /*** V2718 patch ***/
  if (fV2718Patch){
    decoderStatus = decoderStatus | DRM_BIT;
    fDecoderSummaryData->SetDecoderStatus(decoderStatus);
    fDecoderSummaryData->SetCurrentDRMID(0x0);
    fDecoderSummaryData->SetV2718Patch(kTRUE);
    fDRMSummaryData = fDecoderSummaryData->GetDRMSummaryData();
    fDRMSummaryData->SetHeader(kTRUE);
    fDRMSummaryData->SetDRMID(0x0);
    if (fVerbose)
      AliInfo("DRM not present: - V2718 patch decoding -");
  }
  /*** V2718 patch ***/

  if (fVerbose)
    AliInfo("Start decoding");
  
  if (fVerbose)
    AliInfo("Loop over the data and decode");
  
  if (fVerbose)
    AliInfo("  St    Hex Word \t   Decoded Word");
  
  //loop over raw data
  for (UInt_t iWord = 0; 
       iWord < nWords; 
       iWord++, rawData++, fDecoderSummaryData->SetDecodedWords(iWord)){
    
    //try to recover error
    if (fDecoderSummaryData->GetRecoveringError() && fVerbose)
      AliInfo(Form("  %02x - 0x%08x",decoderStatus,*rawData));
    
    //compute CRC with current data
    drmCRC ^= *rawData;
    ltmCRC ^= *rawData;
    trmCRC ^= *rawData;

    //switch word type
    switch (*rawData & WORD_TYPE_MASK){
      
    case GLOBAL_HEADER:
      
      //switch slot ID
      switch (*rawData & SLOT_ID_MASK){
	
	//DRM global header (slotID=1)
      case 1:
	//try to recover error
	if (fDecoderSummaryData->GetRecoveringError())
	  continue;
	//check decode status
	if ( decoderStatus != DRM_HEADER_STATUS ){
	  if (fLogErrors)
	    AliError(Form("  %02x - 0x%08x [ERROR] Unexpected DRM global header (curslot=%d)",decoderStatus,*rawData,fDecoderSummaryData->GetCurrentSlotID()));
	  fDecoderSummaryData->SetErrorDetected(kTRUE);
	  fDecoderSummaryData->SetErrorSlotID(fDecoderSummaryData->GetCurrentSlotID());
	  errorWarning++;
	  //try to recover error
	  if (fRecoverError){
	    if (errorWarning > fRecoverErrorThr) {
	      if (fVerbose)
		AliInfo("Trying to recover the error: searching for the next header");
	      fDecoderSummaryData->SetRecoveringError(kTRUE);
	      continue;
	    }
	    else {
	      if (fVerbose)
		AliInfo("Do not try to recover error yet, go on with decoding process");
	      continue;
	    }
	  }
	  return(fDecoderSummaryData->GetErrorDetected());
	}
	//decode status ok
	errorWarning = 0;
	//set DRM global header
	fDRMGlobalHeader = (AliTOFDRMGlobalHeader *)rawData;
	//reset DRM CRC
	drmCRC = 0x0;
	//fill decoder summary data
	fDecoderSummaryData->SetCurrentDRMID(fDRMGlobalHeader->GetDRMID());
	fDecoderSummaryData->SetCurrentSlotID(fDRMGlobalHeader->GetSlotID());
	//get DRM summary data
	fDRMSummaryData = fDecoderSummaryData->GetDRMSummaryData();
	//reset DRM summary data
	fDRMSummaryData->Reset();
	//fill DRM summary data
	FillDRMSummaryData(fDRMGlobalHeader);
	//print verbose
	if (fVerbose)
	  AliInfo(Form("  %02x - 0x%08x \t  DRM global header",decoderStatus,*rawData));
	//change decode status
	decoderStatus = decoderStatus | DRM_BIT;
	fDecoderSummaryData->SetDecoderStatus(decoderStatus);
	//decode DRM status headers
	for (Int_t i = 0; i < DRM_STATUS_HEADER_WORDS; i++){
	  iWord++;
	  rawData++;
	  drmCRC ^= *rawData;

	  switch (i){
	  case 0: //DRM status header 1
	    fDRMStatusHeader1 = (AliTOFDRMStatusHeader1 *)rawData;
	    FillDRMSummaryData(fDRMStatusHeader1);
	    if (fVerbose)
	      AliInfo(Form("  %02x - 0x%08x \t  DRM status header 1",decoderStatus,*rawData));
	    break;
	  case 1: //DRM status header 2
	    fDRMStatusHeader2 = (AliTOFDRMStatusHeader2 *)rawData;
	    FillDRMSummaryData(fDRMStatusHeader2);
	    if (fVerbose)
	      AliInfo(Form("  %02x - 0x%08x \t  DRM status header 2",decoderStatus,*rawData));
	    break;
	  case 2: //DRM status header 3
	    fDRMStatusHeader3 = (AliTOFDRMStatusHeader3 *)rawData;
	    FillDRMSummaryData(fDRMStatusHeader3);
	    if (fVerbose)
	      AliInfo(Form("  %02x - 0x%08x \t  DRM status header 3",decoderStatus,*rawData));
	    break;
	  case 3: //DRM status header 4
	    fDRMStatusHeader4 = (AliTOFDRMStatusHeader4 *)rawData;
	    FillDRMSummaryData(fDRMStatusHeader4);
	    if (fVerbose)
	      AliInfo(Form("  %02x - 0x%08x \t  DRM status header 4",decoderStatus,*rawData));
	    break;
	  }
	}
	//decode DRM event CRC
	iWord++;
	rawData++;
	drmCRC ^= *rawData;
	//remove DRM event CRC from DRM CRC
	drmCRC ^= *rawData;
	fDRMEventCRC = (AliTOFDRMEventCRC *)rawData;
	FillDRMSummaryData(fDRMEventCRC);
	if (fVerbose)
	  AliInfo(Form("  %02x - 0x%08x \t  DRM event CRC",decoderStatus,*rawData));
	break;
	
	//LTM global header (slotID=2)
      case 2:
	//recover error
	if (fDecoderSummaryData->GetRecoveringError()){
	  //change decode status
	  decoderStatus = LTM_HEADER_STATUS;
	  fDecoderSummaryData->SetDecoderStatus(decoderStatus);
	  fDecoderSummaryData->SetRecoveringError(kFALSE);
	  if (fVerbose)
	    AliInfo("LTM global header found: error probably recovered");
	}
	//check decode status
	if ( decoderStatus != LTM_HEADER_STATUS ){
	  if (fLogErrors)
	    AliError(Form("  %02x - 0x%08x [ERROR] Unexpected LTM global header (curslot=%d)",decoderStatus,*rawData,fDecoderSummaryData->GetCurrentSlotID()));
	  fDecoderSummaryData->SetErrorDetected(kTRUE);
	  fDecoderSummaryData->SetErrorSlotID(fDecoderSummaryData->GetCurrentSlotID());
	  errorWarning++;
	  //try to recover error
	  if (fRecoverError){
	    if (errorWarning > fRecoverErrorThr) {
	      if (fVerbose)
		AliInfo("Trying to recover the error: searching for the next header");
	      fDecoderSummaryData->SetRecoveringError(kTRUE);
	      continue;
	    }
	    else {
	      if (fVerbose)
		AliInfo("Do not try to recover error yet, go on with decoding process");
	      continue;
	    }
	  }
	  return(fDecoderSummaryData->GetErrorDetected());
	}
	//decode status ok
	errorWarning = 0;
	//set LTM global header
	fLTMGlobalHeader = (AliTOFLTMGlobalHeader *)rawData;
	//reset LTM CRC
	ltmCRC = 0x0;
	//fill decoder summary data
	fDecoderSummaryData->SetCurrentSlotID(fLTMGlobalHeader->GetSlotID());
	//get LTM summary data
	fLTMSummaryData = fDRMSummaryData->GetLTMSummaryData();
	//reset LTM summary data
	fLTMSummaryData->Reset();
	//fill LTM summary data
	FillLTMSummaryData(fLTMGlobalHeader);
	//set DRM slot enable mask bit
	fDRMSummaryData->SetDecoderSlotEnableMaskBit(fLTMGlobalHeader->GetSlotID() - 2);
	//print verbose
	if (fVerbose)
	  AliInfo(Form("  %02x - 0x%08x \t  LTM global header",decoderStatus,*rawData));
	//change decode status
	decoderStatus = decoderStatus | LTM_BIT;
	fDecoderSummaryData->SetDecoderStatus(decoderStatus);
	
	//decode LTM PDL data
	for (Int_t iPDLWord = 0; iPDLWord < LTM_PDL_DATA_WORDS; iPDLWord++){
	  iWord++;
	  rawData++;
	  drmCRC ^= *rawData;
	  ltmCRC ^= *rawData;
	  //set LTM PDL data
	  fLTMPDLData = (AliTOFLTMPDLData *)rawData;
	  //fill LTM summary data
	  FillLTMSummaryData(fLTMPDLData, iPDLWord);
	  //print verbose
	  if (fVerbose)
	    AliInfo(Form("  %02x - 0x%08x \t  LTM PDL data \t\t PDL1=%03d PDL2=%03d PDL3=%03d PDL4=%03d",decoderStatus,*rawData,fLTMPDLData->GetPDLValue1(),fLTMPDLData->GetPDLValue2(),fLTMPDLData->GetPDLValue3(),fLTMPDLData->GetPDLValue4()));
	}
	//decode LTM ADC data
	for (Int_t iADCWord = 0; iADCWord < LTM_ADC_DATA_WORDS; iADCWord++){
	  iWord++;
	  rawData++;
	  drmCRC ^= *rawData;
	  ltmCRC ^= *rawData;
	  //set LTM ADC data
	  fLTMADCData = (AliTOFLTMADCData *)rawData;
	  //fill LTM summary data
	  FillLTMSummaryData(fLTMADCData, iADCWord);
	  //print verbose
	  if (fVerbose)
	    AliInfo(Form("  %02x - 0x%08x \t  LTM ADC data \t\t ADC1=%04d ADC2=%04d ADC3=%04d",decoderStatus,*rawData,fLTMADCData->GetADCValue1(),fLTMADCData->GetADCValue2(),fLTMADCData->GetADCValue3()));
	}
	//decode LTM OR data
	for (Int_t iORWord = 0; iORWord < LTM_OR_DATA_WORDS; iORWord++){
	  iWord++;
	  rawData++;
	  drmCRC ^= *rawData;
	  ltmCRC ^= *rawData;
	  //set LTM OR data
	  fLTMORData = (AliTOFLTMORData *)rawData;
	  //fill LTM summary data
	  FillLTMSummaryData(fLTMORData, iORWord);
	  //print verbose
	  if (fVerbose)
	    AliInfo(Form("  %02x - 0x%08x \t  LTM OR data \t\t ADC1=%04d ADC2=%04d ADC3=%04d",decoderStatus,*rawData,fLTMORData->GetORValue1(),fLTMORData->GetORValue2(),fLTMORData->GetORValue3()));
	}
	break;
	
	//TRM global header (slotID=3-12)
      case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12:
	//recover error
	if (fDecoderSummaryData->GetRecoveringError()){
	  //change decode status
	  decoderStatus = TRM_HEADER_STATUS;
	  fDecoderSummaryData->SetDecoderStatus(decoderStatus);
	  fDecoderSummaryData->SetRecoveringError(kFALSE);
	  if (fVerbose)
	    AliInfo("TRM global header found: error probably recovered");
	}
	//check decode status
	if ( decoderStatus != TRM_HEADER_STATUS ){
	  if (fLogErrors)
	    AliError(Form("  %02x - 0x%08x [ERROR] Unexpected TRM global header (curslot=%d)",decoderStatus,*rawData,fDecoderSummaryData->GetCurrentSlotID()));
	  fDecoderSummaryData->SetErrorDetected(kTRUE);
	  fDecoderSummaryData->SetErrorSlotID(fDecoderSummaryData->GetCurrentSlotID());
	  errorWarning++;
	  //try to recover error
	  if (fRecoverError){
	    if (errorWarning > fRecoverErrorThr) {
	      if (fVerbose)
		AliInfo("Trying to recover the error: searching for the next header");
	      fDecoderSummaryData->SetRecoveringError(kTRUE);
	      continue;
	    }
	    else {
	      if (fVerbose)
		AliInfo("Do not try to recover error yet, go on with decoding process");
	      continue;
	    }
	  }
	  return(fDecoderSummaryData->GetErrorDetected());
	}
	//decode status ok
	errorWarning = 0;
	//set TRM global header
	fTRMGlobalHeader = (AliTOFTRMGlobalHeader *)rawData;	
	//reset TRM CRC
	trmCRC = 0x0;
	//fill decoder summary data
	fDecoderSummaryData->SetCurrentSlotID(fTRMGlobalHeader->GetSlotID());
	//get TRM summary data
	fTRMSummaryData = fDRMSummaryData->GetTRMSummaryData(fTRMGlobalHeader->GetSlotID() - TRM_FIRST_SLOT_ID);
	//reset TRM summary data
	fTRMSummaryData->Reset();
	//fill TRM summary data
	FillTRMSummaryData(fTRMGlobalHeader);
	//set DRM slot enable mask bit
	fDRMSummaryData->SetDecoderSlotEnableMaskBit(fTRMGlobalHeader->GetSlotID() - 2);
	//print verbose
	if (fVerbose)
	  AliInfo(Form("  %02x - 0x%08x \t  TRM global header \t slotID=%02d ACQ=%01d L=%01d",decoderStatus,*rawData,fTRMGlobalHeader->GetSlotID(),fTRMGlobalHeader->GetACQBits(),fTRMGlobalHeader->GetLBit()));
	//change decode status
	decoderStatus = decoderStatus | TRM_BIT;
	fDecoderSummaryData->SetDecoderStatus(decoderStatus);
	break;
	
      default:
	if (fLogErrors)
	  AliError(Form("  %02x - 0x%08x [ERROR] Not valid slotID in global header (curslot=%d)",decoderStatus,*rawData,fDecoderSummaryData->GetCurrentSlotID()));
	fDecoderSummaryData->SetErrorDetected(kTRUE);
	fDecoderSummaryData->SetErrorSlotID(fDecoderSummaryData->GetCurrentSlotID());
	  //try to recover error
	  if (fRecoverError){
	    if (errorWarning > fRecoverErrorThr) {
	      if (fVerbose)
		AliInfo("Trying to recover the error: searching for the next header");
	      fDecoderSummaryData->SetRecoveringError(kTRUE);
	      continue;
	    }
	    else {
	      if (fVerbose)
		AliInfo("Do not try to recover error yet, go on with decoding process");
	      continue;
	    }
	  }
	return(fDecoderSummaryData->GetErrorDetected());
	break;
	
      }
      //end switch slotID
      break;
      
    case GLOBAL_TRAILER:
   
   //switch slot ID
   switch (*rawData & SLOT_ID_MASK){
     
     //DRM global trailer (slotID=1)
   case 1:
     //recover error
     if (fDecoderSummaryData->GetRecoveringError()){
       //change decode status
       decoderStatus = DRM_TRAILER_STATUS;
       fDecoderSummaryData->SetDecoderStatus(decoderStatus);
       fDecoderSummaryData->SetRecoveringError(kFALSE);
       if (fVerbose)
	 AliInfo("DRM global trailer found: error probably recovered");
     }
     //check decode status
     if ( decoderStatus != DRM_TRAILER_STATUS ){
       if (fLogErrors)
	 AliError(Form("  %02x - 0x%08x [ERROR] Unexpected DRM global trailer (curslot=%d)",decoderStatus,*rawData,fDecoderSummaryData->GetCurrentSlotID()));
       fDecoderSummaryData->SetErrorDetected(kTRUE);
       fDecoderSummaryData->SetErrorSlotID(fDecoderSummaryData->GetCurrentSlotID());
	  errorWarning++;
	  //try to recover error
	  if (fRecoverError){
	    if (errorWarning > fRecoverErrorThr) {
	      if (fVerbose)
		AliInfo("Trying to recover the error: searching for the next header");
	      fDecoderSummaryData->SetRecoveringError(kTRUE);
	      continue;
	    }
	    else {
	      if (fVerbose)
		AliInfo("Do not try to recover error yet, go on with decoding process");
	      continue;
	    }
	  }
	  return(fDecoderSummaryData->GetErrorDetected());
	}
	//decode status ok
	errorWarning = 0;
	//set DRM global trailer
	fDRMGlobalTrailer = (AliTOFDRMGlobalTrailer *)rawData;
	//remove global trailer from DRM CRC
	drmCRC ^= *rawData;
	//fill DRM summary data
	FillDRMSummaryData(fDRMGlobalTrailer);
	fDRMSummaryData->SetDecoderCRC(COMPUTE_DRM_CRC(drmCRC));
	//print verbose
	if (fVerbose)
	  AliInfo(Form("  %02x - 0x%08x \t  DRM global trailer",decoderStatus,*rawData));
	//change decode status
	decoderStatus = decoderStatus & ~DRM_BIT;
	fDecoderSummaryData->SetDecoderStatus(decoderStatus);
	break;
	
	//LTM global trailer (slotID=2)
      case 2:
	//try to recover error
	if (fDecoderSummaryData->GetRecoveringError())
	  continue;
   	//check decode status
	if ( decoderStatus != LTM_TRAILER_STATUS ){
	  if (fLogErrors)
	    AliError(Form("  %02x - 0x%08x [ERROR] Unexpected LTM global trailer (curslot=%d)",decoderStatus,*rawData,fDecoderSummaryData->GetCurrentSlotID()));
	  fDecoderSummaryData->SetErrorDetected(kTRUE);
	  fDecoderSummaryData->SetErrorSlotID(fDecoderSummaryData->GetCurrentSlotID());
	  errorWarning++;
	  //try to recover error
	  if (fRecoverError){
	    if (errorWarning > fRecoverErrorThr) {
	      if (fVerbose)
		AliInfo("Trying to recover the error: searching for the next header");
	      fDecoderSummaryData->SetRecoveringError(kTRUE);
	      continue;
	    }
	    else {
	      if (fVerbose)
		AliInfo("Do not try to recover error yet, go on with decoding process");
	      continue;
	    }
	  }
	  return(fDecoderSummaryData->GetErrorDetected());
	}
	//decode status ok
	errorWarning = 0;
	//set LTM global trailer
	fLTMGlobalTrailer = (AliTOFLTMGlobalTrailer *)rawData;
	//remove global trailer from LTM CRC
	ltmCRC ^= *rawData;
	//fill LTM summary data
	FillLTMSummaryData(fLTMGlobalTrailer);
	fLTMSummaryData->SetDecoderCRC(COMPUTE_LTM_CRC(ltmCRC));
	//print verbose
	if (fVerbose)
	  AliInfo(Form("  %02x - 0x%08x \t  LTM global trailer",decoderStatus,*rawData));
	//change decode status
	decoderStatus = decoderStatus & ~LTM_BIT;
	fDecoderSummaryData->SetDecoderStatus(decoderStatus);
	break;
	
	//TRM global trailer (slotID=15)
      case 15:
	//try to recover error
	if (fDecoderSummaryData->GetRecoveringError())
	  continue;
	//check decode status
	if ( decoderStatus != TRM_TRAILER_STATUS ){
	  if (fLogErrors)
	    AliError(Form("  %02x - 0x%08x [ERROR] Unexpected TRM global trailer (curslot=%d)",decoderStatus,*rawData,fDecoderSummaryData->GetCurrentSlotID()));
	  fDecoderSummaryData->SetErrorDetected(kTRUE);
	  fDecoderSummaryData->SetErrorSlotID(fDecoderSummaryData->GetCurrentSlotID());
	  errorWarning++;
	  //try to recover error
	  if (fRecoverError){
	    if (errorWarning > fRecoverErrorThr) {
	      if (fVerbose)
		AliInfo("Trying to recover the error: searching for the next header");
	      fDecoderSummaryData->SetRecoveringError(kTRUE);
	      continue;
	    }
	    else {
	      if (fVerbose)
		AliInfo("Do not try to recover error yet, go on with decoding process");
	      continue;
	    }
	  }
	  return(fDecoderSummaryData->GetErrorDetected());
	}
	//decode status ok
	errorWarning = 0;
	//set TRM global trailer
	fTRMGlobalTrailer = (AliTOFTRMGlobalTrailer *)rawData;	
	//remove global trailer from TRM CRC
	trmCRC ^= *rawData;
	//fill TRM summary data
	FillTRMSummaryData(fTRMGlobalTrailer);
	fTRMSummaryData->SetDecoderCRC(COMPUTE_TRM_CRC(trmCRC));
	//print verbose
	if (fVerbose)
	  AliInfo(Form("  %02x - 0x%08x \t  TRM global trailer \t CRC=%04d eventCounter=%04d",decoderStatus,*rawData,fTRMGlobalTrailer->GetEventCRC(),fTRMGlobalTrailer->GetEventCounter()));
	//change decode status
	decoderStatus = decoderStatus & ~TRM_BIT;
	fDecoderSummaryData->SetDecoderStatus(decoderStatus);
	break; 
	
      default:
	//try to recover error
	if (fDecoderSummaryData->GetRecoveringError())
	  continue;
	if (fLogErrors)
	  AliError(Form("  %02x - 0x%08x [ERROR] Not valid slotID/pattern in global trailer (curslot=%d)",decoderStatus,*rawData,fDecoderSummaryData->GetCurrentSlotID()));
	fDecoderSummaryData->SetErrorDetected(kTRUE);
	fDecoderSummaryData->SetErrorSlotID(fDecoderSummaryData->GetCurrentSlotID());
	  errorWarning++;
	//try to recover error
	if (fRecoverError){
	  if (fVerbose)
	    AliInfo("Trying to recover the error: searching for the next header");
	  fDecoderSummaryData->SetRecoveringError(kTRUE);
	  continue;
	}
	return(fDecoderSummaryData->GetErrorDetected());
	break;
      }
      break;
      
    case CHAIN_A_HEADER:

      //try to recover error
      if (fDecoderSummaryData->GetRecoveringError())
	continue;
      //check decode status
      if ( decoderStatus != CHAIN_A_HEADER_STATUS  && !fDecoderSummaryData->GetRecoveringError() ){
	if (fLogErrors)
	  AliError(Form("  %02x - 0x%08x [ERROR] Unexpected TRM chain A header (curslot=%d)",decoderStatus,*rawData,fDecoderSummaryData->GetCurrentSlotID()));
	fDecoderSummaryData->SetErrorDetected(kTRUE);
	fDecoderSummaryData->SetErrorSlotID(fDecoderSummaryData->GetCurrentSlotID());
	  errorWarning++;
	  //try to recover error
	  if (fRecoverError){
	    if (errorWarning > fRecoverErrorThr) {
	      if (fVerbose)
		AliInfo("Trying to recover the error: searching for the next header");
	      fDecoderSummaryData->SetRecoveringError(kTRUE);
	      continue;
	    }
	    else {
	      if (fVerbose)
		AliInfo("Do not try to recover error yet, go on with decoding process");
	      continue;
	    }
	  }
	return(fDecoderSummaryData->GetErrorDetected());
      }
      //decode status ok
	errorWarning = 0;
      //set TRM chain header
      fTRMChainHeader = (AliTOFTRMChainHeader *)rawData;
      //fill decoder summary data
      fDecoderSummaryData->SetCurrentChain(0);
      //get chain summary data
      fChainSummaryData = fTRMSummaryData->GetChainSummaryData(0);
      //reset chain summary data
      fChainSummaryData->Reset();
      //fill chain summary data
      FillChainSummaryData(fTRMChainHeader);
      //get tdc hit buffer
      fTDCHitBuffer = fChainSummaryData->GetTDCHitBuffer();
      //reset tdc hit buffer
      fTDCHitBuffer->Reset();
      //get tdc packed hit buffer
      fTDCPackedHitBuffer = fChainSummaryData->GetTDCPackedHitBuffer();
      //reset tdc packed hit buffer
      fTDCPackedHitBuffer->Reset();
      //get tdc error buffer
      fTDCErrorBuffer = fChainSummaryData->GetTDCErrorBuffer();
      //reset tdc error buffer
      fTDCErrorBuffer->Reset();
      //print verbose
      if (fVerbose)
	AliInfo(Form("  %02x - 0x%08x \t  TRM chain A header \t chain=%01d bunchID=%04d",decoderStatus,*rawData,0,fTRMChainHeader->GetBunchID()));
      //change decode status
      decoderStatus = decoderStatus | CHAIN_A_BIT;
      fDecoderSummaryData->SetDecoderStatus(decoderStatus);
      //reset spider
      if (fSpider)
	ResetSpider();
      break;
      
    case CHAIN_A_TRAILER:

      //try to recover error
      if (fDecoderSummaryData->GetRecoveringError())
	continue;
      //check decode status
      if ( decoderStatus != CHAIN_A_TRAILER_STATUS  && !fDecoderSummaryData->GetRecoveringError()){
	  if (fLogErrors)
	    AliError(Form("  %02x - 0x%08x [ERROR] Unexpected TRM chain A trailer (curslot=%d)",decoderStatus,*rawData,fDecoderSummaryData->GetCurrentSlotID()));
	fDecoderSummaryData->SetErrorDetected(kTRUE);
	fDecoderSummaryData->SetErrorSlotID(fDecoderSummaryData->GetCurrentSlotID());
	  errorWarning++;
	  //try to recover error
	  if (fRecoverError){
	    if (errorWarning > fRecoverErrorThr) {
	      if (fVerbose)
		AliInfo("Trying to recover the error: searching for the next header");
	      fDecoderSummaryData->SetRecoveringError(kTRUE);
	      continue;
	    }
	    else {
	      if (fVerbose)
		AliInfo("Do not try to recover error yet, go on with decoding process");
	      continue;
	    }
	  }
	return(fDecoderSummaryData->GetErrorDetected());
      }
      //decode status ok
	errorWarning = 0;
      //set TRM chain trailer
      fTRMChainTrailer = (AliTOFTRMChainTrailer *)rawData;
      //fill chain summary data
      FillChainSummaryData(fTRMChainTrailer);
      //print verbose
      if (fVerbose)
	AliInfo(Form("  %02x - 0x%08x \t  TRM chain A trailer",decoderStatus,*rawData));
      //change decode status
      decoderStatus = decoderStatus & ~CHAIN_A_BIT;
      fDecoderSummaryData->SetDecoderStatus(decoderStatus);
      break;
      
    case CHAIN_B_HEADER:

      //try to recover error
      if (fDecoderSummaryData->GetRecoveringError())
	continue;
      //check decode status
      if ( decoderStatus != CHAIN_B_HEADER_STATUS  && !fDecoderSummaryData->GetRecoveringError()){
	  if (fLogErrors)
	    AliError(Form("  %02x - 0x%08x [ERROR] Unexpected TRM chain B header (curslot=%d)",decoderStatus,*rawData,fDecoderSummaryData->GetCurrentSlotID()));
	fDecoderSummaryData->SetErrorDetected(kTRUE);
	fDecoderSummaryData->SetErrorSlotID(fDecoderSummaryData->GetCurrentSlotID());
	  errorWarning++;
	  //try to recover error
	  if (fRecoverError){
	    if (errorWarning > fRecoverErrorThr) {
	      if (fVerbose)
		AliInfo("Trying to recover the error: searching for the next header");
	      fDecoderSummaryData->SetRecoveringError(kTRUE);
	      continue;
	    }
	    else {
	      if (fVerbose)
		AliInfo("Do not try to recover error yet, go on with decoding process");
	      continue;
	    }
	  }
	return(fDecoderSummaryData->GetErrorDetected());
      }
      //decode status ok
	errorWarning = 0;
      //set TRM chain header
      fTRMChainHeader = (AliTOFTRMChainHeader *)rawData;
      //fill decoder summary data
      fDecoderSummaryData->SetCurrentChain(1);
      //get chain summary data
      fChainSummaryData = fTRMSummaryData->GetChainSummaryData(1);
      //reset chain summary data
      fChainSummaryData->Reset();
      //fill chain summary data
      FillChainSummaryData(fTRMChainHeader);
      //get tdc hit buffer
      fTDCHitBuffer = fChainSummaryData->GetTDCHitBuffer();
      //reset tdc hit buffer
      fTDCHitBuffer->Reset();
      //get tdc packed hit buffer
      fTDCPackedHitBuffer = fChainSummaryData->GetTDCPackedHitBuffer();
      //reset tdc packed hit buffer
      fTDCPackedHitBuffer->Reset();
      //get tdc error buffer
      fTDCErrorBuffer = fChainSummaryData->GetTDCErrorBuffer();
      //reset tdc error buffer
      fTDCErrorBuffer->Reset();
      //print verbose
      if (fVerbose)
	AliInfo(Form("  %02x - 0x%08x \t  TRM chain B header \t chain=%01d bunchID=%04d",decoderStatus,*rawData,1,fTRMChainHeader->GetBunchID()));
      //change decode status
      decoderStatus = decoderStatus | CHAIN_B_BIT;
      fDecoderSummaryData->SetDecoderStatus(decoderStatus);
      //reset spider
      if (fSpider)
	ResetSpider();
      break;
      
    case CHAIN_B_TRAILER:

      //try to recover error
      if (fDecoderSummaryData->GetRecoveringError())
	continue;
      //check decode status
      if ( decoderStatus != CHAIN_B_TRAILER_STATUS  && !fDecoderSummaryData->GetRecoveringError()){
	  if (fLogErrors)
	    AliError(Form("  %02x - 0x%08x [ERROR] Unexpected TRM chain B trailer (curslot=%d)",decoderStatus,*rawData,fDecoderSummaryData->GetCurrentSlotID()));
	fDecoderSummaryData->SetErrorDetected(kTRUE);
	fDecoderSummaryData->SetErrorSlotID(fDecoderSummaryData->GetCurrentSlotID());
	  errorWarning++;
	  //try to recover error
	  if (fRecoverError){
	    if (errorWarning > fRecoverErrorThr) {
	      if (fVerbose)
		AliInfo("Trying to recover the error: searching for the next header");
	      fDecoderSummaryData->SetRecoveringError(kTRUE);
	      continue;
	    }
	    else {
	      if (fVerbose)
		AliInfo("Do not try to recover error yet, go on with decoding process");
	      continue;
	    }
	  }
	return(fDecoderSummaryData->GetErrorDetected());
      }
      //decode status ok
	errorWarning = 0;
      //set TRM chain trailer
      fTRMChainTrailer = (AliTOFTRMChainTrailer *)rawData;
      //fill chain summary data
      FillChainSummaryData(fTRMChainTrailer);
      //print verbose
      if (fVerbose)
	AliInfo(Form("  %02x - 0x%08x \t  TRM chain B trailer",decoderStatus,*rawData));
      //change decode status
      decoderStatus = decoderStatus & ~CHAIN_B_BIT;
      fDecoderSummaryData->SetDecoderStatus(decoderStatus);
      break;
      
    case ERROR:

      //try to recover error
      if (fDecoderSummaryData->GetRecoveringError())
	continue;
      //decode TRM TDC error
      fTRMTDCError = (AliTOFTRMTDCError *)rawData;
      //check diagnostic word
      if (fTRMTDCError->GetTDCID() == 15) {
	if (fVerbose)
	  AliInfo(Form("  %02x - 0x%08x \t  Diagnostic error word",decoderStatus,*rawData));
	break;
      }
      //set error data
      error.SetErrorFlags(fTRMTDCError->GetErrorFlags());
      error.SetTDCID(fTRMTDCError->GetTDCID());
      //fill TDC error buffer
      fTDCErrorBuffer->Add(error);
      if (fVerbose)
	AliInfo(Form("  %02x - 0x%08x \t  TDC error",decoderStatus,*rawData));
      break;
      
    case FILLER:

      //try to recover error
      if (fDecoderSummaryData->GetRecoveringError())
	continue;
      if (fVerbose)
	AliInfo(Form("  %02x - 0x%08x \t  Filler",decoderStatus,*rawData));
      break;
      
    default:

      //try to recover error
      if (fDecoderSummaryData->GetRecoveringError())
	continue;
      //check decode status
      if ( decoderStatus != CHAIN_A_TDC_HIT_STATUS &&
	   decoderStatus != CHAIN_B_TDC_HIT_STATUS  && !fDecoderSummaryData->GetRecoveringError()){
	  if (fLogErrors)
	    AliError(Form("  %02x - 0x%08x [ERROR] Unexpected or unknown word (curslot=%d)",decoderStatus,*rawData,fDecoderSummaryData->GetCurrentSlotID()));
	fDecoderSummaryData->SetErrorDetected(kTRUE);
	fDecoderSummaryData->SetErrorSlotID(fDecoderSummaryData->GetCurrentSlotID());
	  errorWarning++;
	  //try to recover error
	  if (fRecoverError){
	    if (errorWarning > fRecoverErrorThr) {
	      if (fVerbose)
		AliInfo("Trying to recover the error: searching for the next header");
	      fDecoderSummaryData->SetRecoveringError(kTRUE);
	      continue;
	    }
	    else {
	      if (fVerbose)
		AliInfo("Do not try to recover error yet, go on with decoding process");
	      continue;
	    }
	  }
	return(fDecoderSummaryData->GetErrorDetected());
      }
      //decode status ok
	errorWarning = 0;
      
      //switch TRM ACQ
      switch (fTRMSummaryData->GetACQBits()){
	
      case PACKING_ENABLED_ACQ:
	//decode TDC packed/unpacked hit
	fTDCPackedHit = (AliTOFTDCPackedHit *)rawData;
	fTDCUnpackedHit = (AliTOFTDCUnpackedHit *)rawData;
	//set hit data
	hit.SetChan(fTDCUnpackedHit->GetChan());
	hit.SetTDCID(fTDCUnpackedHit->GetTDCID());
	hit.SetEBit(fTDCUnpackedHit->GetEBit());
	hit.SetPSBits(fTDCUnpackedHit->GetPSBits());
	//switch PS bits
	switch (hit.GetPSBits()){
	  //packed hit or overflow hit
	case PACKED_HIT_PS: case TOT_OVF_HIT_PS:
	  hit.SetHitTime(fTDCPackedHit->GetHitTime());
	  hit.SetTOTWidth(fTDCPackedHit->GetTOTWidth());
	  //add hit
	  fTDCHitBuffer->Add(hit);
	  fTDCPackedHitBuffer->Add(hit);
	  break; 
	  //orphane leading
	case LEADING_HIT_PS:
	  hit.SetHitTime(fTDCUnpackedHit->GetHitTime());
	  hit.SetTOTWidth(0);
	  //add hit
	  fTDCHitBuffer->Add(hit);
	  fTDCPackedHitBuffer->Add(hit);
	  break;
	  //orphane trailing
	case TRAILING_HIT_PS:
	  hit.SetHitTime(fTDCUnpackedHit->GetHitTime());
	  hit.SetTOTWidth(0);
	  //add hit
	  fTDCHitBuffer->Add(hit);
	  break;
	}
	//end switch PS bits
	//print verbose
	if (fVerbose)
	  switch (hit.GetPSBits()){
	  case PACKED_HIT_PS:
	    AliInfo(Form("  %02x - 0x%08x \t  TDC hit [packed] \t PS=%1d TDC=%1d chan=%1d TOT=%3d time=%4d (%7.1f ns)",decoderStatus,*rawData,hit.GetPSBits(),hit.GetTDCID(),hit.GetChan(),hit.GetTOTWidth(),hit.GetHitTime(),hit.GetHitTime()*TIME_BIN_WIDTH));
	    break;
	  case LEADING_HIT_PS:
	    AliInfo(Form("  %02x - 0x%08x \t  TDC hit [orp.lead] \t PS=%1d TDC=%1d chan=%1d time=%4d (%7.1f ns)",decoderStatus,*rawData,hit.GetPSBits(),hit.GetTDCID(),hit.GetChan(),hit.GetHitTime(),hit.GetHitTime()*TIME_BIN_WIDTH));
	    break;
	  case TRAILING_HIT_PS:
	    AliInfo(Form("  %02x - 0x%08x \t  TDC hit [orp.trai] \t PS=%1d TDC=%1d chan=%1d time=%4d (%7.1f ns)",decoderStatus,*rawData,hit.GetPSBits(),hit.GetTDCID(),hit.GetChan(),hit.GetHitTime(),hit.GetHitTime()*TIME_BIN_WIDTH));
	    break;
	  case TOT_OVF_HIT_PS:
	    AliInfo(Form("  %02x - 0x%08x \t  TDC hit [TOT ovfl] \t PS=%1d TDC=%1d chan=%1d TOT=%3d time=%4d (%7.1f ns)",decoderStatus,*rawData,hit.GetPSBits(),hit.GetTDCID(),hit.GetChan(),hit.GetTOTWidth(),hit.GetHitTime(),hit.GetHitTime()*TIME_BIN_WIDTH));
	    break;
	  }
	break;
	
      case LEADING_ONLY_ACQ: case TRAILING_ONLY_ACQ:
	//decode TDC unpacked hit
	fTDCUnpackedHit = (AliTOFTDCUnpackedHit *)rawData;
	//set hit data
	hit.SetChan(fTDCUnpackedHit->GetChan());
	hit.SetTDCID(fTDCUnpackedHit->GetTDCID());
	hit.SetEBit(fTDCUnpackedHit->GetEBit());
	hit.SetPSBits(fTDCUnpackedHit->GetPSBits());
	hit.SetHitTime(fTDCUnpackedHit->GetHitTime());
	hit.SetTOTWidth(0);
	//add hit
	fTDCHitBuffer->Add(hit);
	//print verbose
	if (fVerbose)
	  switch (hit.GetPSBits()){
	  case LEADING_HIT_PS:
	    AliInfo(Form("  %02x - 0x%08x \t  TDC hit [leading] \t PS=%1d TDC=%1d chan=%1d time=%4d (%7.1f ns)",decoderStatus,*rawData,hit.GetPSBits(),hit.GetTDCID(),hit.GetChan(),hit.GetHitTime(),hit.GetHitTime()*TIME_BIN_WIDTH));
	    break;
	  case TRAILING_HIT_PS:
	    AliInfo(Form("  %02x - 0x%08x \t  TDC hit [trailing] \t PS=%1d TDC=%1d chan=%1d time=%4d (%7.1f ns)",decoderStatus,*rawData,hit.GetPSBits(),hit.GetTDCID(),hit.GetChan(),hit.GetHitTime(),hit.GetHitTime()*TIME_BIN_WIDTH));
	  }
	break;
	
      case PACKING_DISABLED_ACQ:
	//decode TDC unpacked hit
	fTDCUnpackedHit = (AliTOFTDCUnpackedHit *)rawData;
	//set hit data
	hit.SetChan(fTDCUnpackedHit->GetChan());
	hit.SetTDCID(fTDCUnpackedHit->GetTDCID());
	hit.SetEBit(fTDCUnpackedHit->GetEBit());
	hit.SetPSBits(fTDCUnpackedHit->GetPSBits());
	hit.SetHitTime(fTDCUnpackedHit->GetHitTime());
	hit.SetTOTWidth(0);
	//add hit
	fTDCHitBuffer->Add(hit);
	//print verbose
	if (fVerbose)
	  switch (hit.GetPSBits()){
	  case LEADING_HIT_PS:
	    AliInfo(Form("  %02x - 0x%08x \t  TDC hit [leading] \t PS=%1d TDC=%1d chan=%1d time=%4d (%7.1f ns)",decoderStatus,*rawData,hit.GetPSBits(),hit.GetTDCID(),hit.GetChan(),hit.GetHitTime(),hit.GetHitTime()*TIME_BIN_WIDTH));
	    break;
	  case TRAILING_HIT_PS:
	    AliInfo(Form("  %02x - 0x%08x \t  TDC hit [trailing] \t PS=%1d TDC=%1d chan=%1d time=%4d (%7.1f ns)",decoderStatus,*rawData,hit.GetPSBits(),hit.GetTDCID(),hit.GetChan(),hit.GetHitTime(),hit.GetHitTime()*TIME_BIN_WIDTH));
	  } //print verbose
	//spider
	if (fSpider)
	  Spider(hit);

	break;
      }
      //end switch TRM ACQ

      break;
      
    }
    
  }
  //end equipment data loop
  
  if (fVerbose)
    AliInfo("End of data loop");

  //reset spider
  if (fSpider)
    ResetSpider();
  
  /*** V2718 patch ***/
  if (fV2718Patch){
    decoderStatus = decoderStatus & ~DRM_BIT;
    fDecoderSummaryData->SetDecoderStatus(decoderStatus);
    fDRMSummaryData->SetTrailer(kTRUE);
    fDRMSummaryData->SetSlotEnableMask(fDRMSummaryData->GetDecoderSlotEnableMask());
    fDRMSummaryData->SetCBit(1);
    fDRMSummaryData->SetLocalEventCounter(fTRMSummaryData->GetEventCounter());
    if (fVerbose)
      AliInfo("DRM was not present: - V2718 end patch decoding -");
  }
  /*** V2718 patch ***/
 
  if (fVerbose)
    AliInfo("Decoder is exiting succesfully.");

  return(fDecoderSummaryData->GetErrorDetected());  
}

//_________________________________________________________________

void
AliTOFDecoderV2::FillDRMSummaryData(const AliTOFDRMGlobalHeader *DRMGlobalHeader)
{
  /*
   *
   * FillDRMSummaryData
   *
   */

  fDRMSummaryData->SetHeader(kTRUE);
  fDRMSummaryData->SetSlotID(DRMGlobalHeader->GetSlotID());
  fDRMSummaryData->SetEventWords(DRMGlobalHeader->GetEventWords());
  fDRMSummaryData->SetDRMID(DRMGlobalHeader->GetDRMID());
}

//_________________________________________________________________

void
AliTOFDecoderV2::FillDRMSummaryData(const AliTOFDRMGlobalTrailer *DRMGlobalTrailer)
{
  /*
   *
   * FillDRMSummaryData
   *
   */

  fDRMSummaryData->SetTrailer(kTRUE);
  fDRMSummaryData->SetLocalEventCounter(DRMGlobalTrailer->GetLocalEventCounter());
}

//_________________________________________________________________

void
AliTOFDecoderV2::FillDRMSummaryData(const AliTOFDRMStatusHeader1 *DRMStatusHeader1)
{
  /*
   *
   * FillDRMSummaryData
   *
   */

  fDRMSummaryData->SetPartecipatingSlotID(DRMStatusHeader1->GetPartecipatingSlotID());
  fDRMSummaryData->SetCBit(DRMStatusHeader1->GetCBit());
  fDRMSummaryData->SetVersID(DRMStatusHeader1->GetVersID());
  fDRMSummaryData->SetDRMhSize(DRMStatusHeader1->GetDRMhSize());
}

//_________________________________________________________________

void
AliTOFDecoderV2::FillDRMSummaryData(const AliTOFDRMStatusHeader2 *DRMStatusHeader2)
{
  /*
   *
   * FillDRMSummaryData
   *
   */

  fDRMSummaryData->SetSlotEnableMask(DRMStatusHeader2->GetSlotEnableMask());
  fDRMSummaryData->SetFaultID(DRMStatusHeader2->GetFaultID());
  fDRMSummaryData->SetRTOBit(DRMStatusHeader2->GetRTOBit());
}

//_________________________________________________________________

void
AliTOFDecoderV2::FillDRMSummaryData(const AliTOFDRMStatusHeader3 *DRMStatusHeader3)
{
  /*
   *
   * FillDRMSummaryData
   *
   */

  fDRMSummaryData->SetL0BCID(DRMStatusHeader3->GetL0BCID());
  fDRMSummaryData->SetRunTimeInfo(DRMStatusHeader3->GetRunTimeInfo());
}

//_________________________________________________________________

void
AliTOFDecoderV2::FillDRMSummaryData(const AliTOFDRMStatusHeader4 *DRMStatusHeader4)
{
  /*
   *
   * FillDRMSummaryData
   *
   */

  fDRMSummaryData->SetTemperature(DRMStatusHeader4->GetTemperature());
  fDRMSummaryData->SetACKBit(DRMStatusHeader4->GetACKBit());
  fDRMSummaryData->SetSensAD(DRMStatusHeader4->GetSensAD());
}

//_________________________________________________________________

void
AliTOFDecoderV2::FillDRMSummaryData(const AliTOFDRMEventCRC *DRMEventCRC)
{
  /*
   *
   * FillDRMSummaryData
   *
   */

  fDRMSummaryData->SetEventCRC(DRMEventCRC->GetEventCRC());
}

//_________________________________________________________________

void
AliTOFDecoderV2::FillLTMSummaryData(const AliTOFLTMGlobalHeader *LTMGlobalHeader)
{
  /*
   *
   * FillLTMSummaryData
   *
   */

  fLTMSummaryData->SetHeader(kTRUE);
  fLTMSummaryData->SetSlotID(LTMGlobalHeader->GetSlotID());
  fLTMSummaryData->SetEventWords(LTMGlobalHeader->GetEventWords());
  fLTMSummaryData->SetCBit(LTMGlobalHeader->GetCBit());
  fLTMSummaryData->SetFault(LTMGlobalHeader->GetFault());
}

//_________________________________________________________________

void
AliTOFDecoderV2::FillLTMSummaryData(const AliTOFLTMGlobalTrailer *LTMGlobalTrailer)
{
  /*
   *
   * FillLTMSummaryData
   *
   */

  fLTMSummaryData->SetTrailer(kTRUE);
  fLTMSummaryData->SetEventCRC(LTMGlobalTrailer->GetEventCRC());
  fLTMSummaryData->SetEventNumber(LTMGlobalTrailer->GetEventNumber());
}

//_________________________________________________________________

void
AliTOFDecoderV2::FillLTMSummaryData(const AliTOFLTMPDLData *LTMPDLData, Int_t PDLWord)
{
  /*
   *
   * FillLTMSummaryData
   *
   */

  fLTMSummaryData->SetPDL(4 * PDLWord + 0, LTMPDLData->GetPDLValue1());
  fLTMSummaryData->SetPDL(4 * PDLWord + 1, LTMPDLData->GetPDLValue2());
  fLTMSummaryData->SetPDL(4 * PDLWord + 2, LTMPDLData->GetPDLValue3());
  fLTMSummaryData->SetPDL(4 * PDLWord + 3, LTMPDLData->GetPDLValue4());
}

//_________________________________________________________________

void
AliTOFDecoderV2::FillLTMSummaryData(const AliTOFLTMADCData *LTMADCData, Int_t ADCWord)
{
  /*
   *
   * FillLTMSummaryData
   *
   */

  fLTMSummaryData->SetADC(3 * ADCWord + 0, LTMADCData->GetADCValue1());
  fLTMSummaryData->SetADC(3 * ADCWord + 1, LTMADCData->GetADCValue2());
  fLTMSummaryData->SetADC(3 * ADCWord + 2, LTMADCData->GetADCValue3());
}

//_________________________________________________________________

void
AliTOFDecoderV2::FillLTMSummaryData(const AliTOFLTMORData *LTMORData, Int_t ORWord)
{
  /*
   *
   * FillLTMSummaryData
   *
   */

  fLTMSummaryData->SetOR(3 * ORWord + 0, LTMORData->GetORValue1());
  fLTMSummaryData->SetOR(3 * ORWord + 1, LTMORData->GetORValue2());
  fLTMSummaryData->SetOR(3 * ORWord + 2, LTMORData->GetORValue3());
}

//_________________________________________________________________

void
AliTOFDecoderV2::FillTRMSummaryData(const AliTOFTRMGlobalHeader *TRMGlobalHeader)
{
  /*
   *
   * FillTRMSummaryData
   *
   */

  fTRMSummaryData->SetHeader(kTRUE);
  fTRMSummaryData->SetSlotID(TRMGlobalHeader->GetSlotID());
  fTRMSummaryData->SetEventWords(TRMGlobalHeader->GetEventWords());
  fTRMSummaryData->SetACQBits(TRMGlobalHeader->GetACQBits());
  fTRMSummaryData->SetLBit(TRMGlobalHeader->GetLBit());
  fTRMSummaryData->SetEBit(TRMGlobalHeader->GetEBit());
}

//_________________________________________________________________

void
AliTOFDecoderV2::FillTRMSummaryData(const AliTOFTRMGlobalTrailer *TRMGlobalTrailer)
{
  /*
   *
   * FillTRMSummaryData
   *
   */

  fTRMSummaryData->SetTrailer(kTRUE);
  fTRMSummaryData->SetEventCRC(TRMGlobalTrailer->GetEventCRC());
  fTRMSummaryData->SetEventCounter(TRMGlobalTrailer->GetEventCounter());
}

//_________________________________________________________________

void
AliTOFDecoderV2::FillChainSummaryData(const AliTOFTRMChainHeader *TRMChainHeader)
{
  /*
   *
   * FillChainSummaryData
   *
   */

  fChainSummaryData->SetHeader(kTRUE);
  switch (*(UInt_t *)TRMChainHeader & WORD_TYPE_MASK){
  case CHAIN_A_HEADER:
    fChainSummaryData->SetChain(0);
    break;
  case CHAIN_B_HEADER:
    fChainSummaryData->SetChain(1);
    break;
  }
  fChainSummaryData->SetBunchID(TRMChainHeader->GetBunchID());
  fChainSummaryData->SetPB24Temp(TRMChainHeader->GetPB24Temp());
  fChainSummaryData->SetPB24ID(TRMChainHeader->GetPB24ID());
  fChainSummaryData->SetTSBit(TRMChainHeader->GetTSBit());
}

//_________________________________________________________________

void
AliTOFDecoderV2::FillChainSummaryData(const AliTOFTRMChainTrailer *TRMChainTrailer)
{
  /*
   *
   * FillChainSummaryData
   *
   */

  fChainSummaryData->SetTrailer(kTRUE);
  fChainSummaryData->SetStatus(TRMChainTrailer->GetStatus());
  fChainSummaryData->SetEventCounter(TRMChainTrailer->GetEventCounter());
}

//_________________________________________________________________

void
AliTOFDecoderV2::ResetSpider()
{		      
  //reset condition
  if (fVerbose)
    AliInfo("Reset signal received, empty and reset buffer");
  for (Int_t iChan = 0; iChan < N_CHANNEL; iChan++){
    if (fSpiderBufferFull[iChan]) {
      if (fVerbose)
	AliInfo(Form("Spider buffer is full for channel %d", iChan));
      fSpiderTDCPackedHitBuffer->Add(fSpiderBuffer[iChan]);
    }
    fSpiderBufferFull[iChan] = kFALSE;
  }
  fSpiderTDCID = -1;
  return;
}

void
AliTOFDecoderV2::Spider(AliTOFTDCHit &hit){
  
  if (fVerbose)
    AliInfo("Hit has been received from decode main routine");

  //check new TDC
  if (fSpiderTDCID != hit.GetTDCID()){
    if (fVerbose)
      AliInfo("Data coming from a new TDC, empty and reset buffer");
    for (Int_t iChan = 0; iChan < N_CHANNEL; iChan++){
      if (fSpiderBufferFull[iChan])
	fSpiderTDCPackedHitBuffer->Add(fSpiderBuffer[iChan]);
      fSpiderBufferFull[iChan] = kFALSE;
    }
    fSpiderTDCPackedHitBuffer = fTDCPackedHitBuffer;
    fSpiderTDCID = hit.GetTDCID();
  }	      

  //switch PS bits
  switch(hit.GetPSBits()){
    //leading hit
  case LEADING_HIT_PS:
    //check buffer status
    if (fSpiderBufferFull[hit.GetChan()]){ //buffer full
      fSpiderTDCPackedHitBuffer->Add(fSpiderBuffer[hit.GetChan()]); //buffered hit is orphane
      fSpiderBuffer[hit.GetChan()] = hit; //current hit into buffer
      if (fVerbose)
	AliInfo("Leading hit and buffer full, buffered hit is a orphane leading hit");
    } 
    else{ //buffer empty
      fSpiderBuffer[hit.GetChan()] = hit; //current hit into buffer
      fSpiderBufferFull[hit.GetChan()] = kTRUE; //set buffer full
    }
    break;
    //trailing hit
  case TRAILING_HIT_PS:
    //check buffer status
    if (fSpiderBufferFull[hit.GetChan()]){ //buffer full
      fSpiderTDCPackedHitBuffer->Add(fSpiderBuffer[hit.GetChan()] << hit); //pack hits (Leading << Trailing) and save
      fSpiderBufferFull[hit.GetChan()] = kFALSE; //unset buffer full
      if (fVerbose)
	AliInfo("Trailing hit and buffer full, pack leading and trailing hit");
    } 
    else{ //buffer empty
      ; //do nothing
      if (fVerbose)
	AliInfo("Trailing hit and buffer empty, trow trailing hit away");
    }
    break;
  } //switch PS bits

}

//_________________________________________________________________

Bool_t 
AliTOFDecoderV2::DecodeNext()
{
  /* decode next */

  if (!fRawReader || !fRawReader->ReadHeader())
    return kFALSE;

  const Int_t size = fRawReader->GetDataSize(); 
  UChar_t *data = new UChar_t[size];
  if (fRawReader->ReadNext(data, size) != 1) {
    delete [] data;
    return kFALSE;
  }
      
  /* decode equipment data */
  SetEquipmentID(fRawReader->GetEquipmentId());
  Decode((UInt_t *)data, size / 4);

  delete [] data;
  return kTRUE;
}
 AliTOFDecoderV2.cxx:1
 AliTOFDecoderV2.cxx:2
 AliTOFDecoderV2.cxx:3
 AliTOFDecoderV2.cxx:4
 AliTOFDecoderV2.cxx:5
 AliTOFDecoderV2.cxx:6
 AliTOFDecoderV2.cxx:7
 AliTOFDecoderV2.cxx:8
 AliTOFDecoderV2.cxx:9
 AliTOFDecoderV2.cxx:10
 AliTOFDecoderV2.cxx:11
 AliTOFDecoderV2.cxx:12
 AliTOFDecoderV2.cxx:13
 AliTOFDecoderV2.cxx:14
 AliTOFDecoderV2.cxx:15
 AliTOFDecoderV2.cxx:16
 AliTOFDecoderV2.cxx:17
 AliTOFDecoderV2.cxx:18
 AliTOFDecoderV2.cxx:19
 AliTOFDecoderV2.cxx:20
 AliTOFDecoderV2.cxx:21
 AliTOFDecoderV2.cxx:22
 AliTOFDecoderV2.cxx:23
 AliTOFDecoderV2.cxx:24
 AliTOFDecoderV2.cxx:25
 AliTOFDecoderV2.cxx:26
 AliTOFDecoderV2.cxx:27
 AliTOFDecoderV2.cxx:28
 AliTOFDecoderV2.cxx:29
 AliTOFDecoderV2.cxx:30
 AliTOFDecoderV2.cxx:31
 AliTOFDecoderV2.cxx:32
 AliTOFDecoderV2.cxx:33
 AliTOFDecoderV2.cxx:34
 AliTOFDecoderV2.cxx:35
 AliTOFDecoderV2.cxx:36
 AliTOFDecoderV2.cxx:37
 AliTOFDecoderV2.cxx:38
 AliTOFDecoderV2.cxx:39
 AliTOFDecoderV2.cxx:40
 AliTOFDecoderV2.cxx:41
 AliTOFDecoderV2.cxx:42
 AliTOFDecoderV2.cxx:43
 AliTOFDecoderV2.cxx:44
 AliTOFDecoderV2.cxx:45
 AliTOFDecoderV2.cxx:46
 AliTOFDecoderV2.cxx:47
 AliTOFDecoderV2.cxx:48
 AliTOFDecoderV2.cxx:49
 AliTOFDecoderV2.cxx:50
 AliTOFDecoderV2.cxx:51
 AliTOFDecoderV2.cxx:52
 AliTOFDecoderV2.cxx:53
 AliTOFDecoderV2.cxx:54
 AliTOFDecoderV2.cxx:55
 AliTOFDecoderV2.cxx:56
 AliTOFDecoderV2.cxx:57
 AliTOFDecoderV2.cxx:58
 AliTOFDecoderV2.cxx:59
 AliTOFDecoderV2.cxx:60
 AliTOFDecoderV2.cxx:61
 AliTOFDecoderV2.cxx:62
 AliTOFDecoderV2.cxx:63
 AliTOFDecoderV2.cxx:64
 AliTOFDecoderV2.cxx:65
 AliTOFDecoderV2.cxx:66
 AliTOFDecoderV2.cxx:67
 AliTOFDecoderV2.cxx:68
 AliTOFDecoderV2.cxx:69
 AliTOFDecoderV2.cxx:70
 AliTOFDecoderV2.cxx:71
 AliTOFDecoderV2.cxx:72
 AliTOFDecoderV2.cxx:73
 AliTOFDecoderV2.cxx:74
 AliTOFDecoderV2.cxx:75
 AliTOFDecoderV2.cxx:76
 AliTOFDecoderV2.cxx:77
 AliTOFDecoderV2.cxx:78
 AliTOFDecoderV2.cxx:79
 AliTOFDecoderV2.cxx:80
 AliTOFDecoderV2.cxx:81
 AliTOFDecoderV2.cxx:82
 AliTOFDecoderV2.cxx:83
 AliTOFDecoderV2.cxx:84
 AliTOFDecoderV2.cxx:85
 AliTOFDecoderV2.cxx:86
 AliTOFDecoderV2.cxx:87
 AliTOFDecoderV2.cxx:88
 AliTOFDecoderV2.cxx:89
 AliTOFDecoderV2.cxx:90
 AliTOFDecoderV2.cxx:91
 AliTOFDecoderV2.cxx:92
 AliTOFDecoderV2.cxx:93
 AliTOFDecoderV2.cxx:94
 AliTOFDecoderV2.cxx:95
 AliTOFDecoderV2.cxx:96
 AliTOFDecoderV2.cxx:97
 AliTOFDecoderV2.cxx:98
 AliTOFDecoderV2.cxx:99
 AliTOFDecoderV2.cxx:100
 AliTOFDecoderV2.cxx:101
 AliTOFDecoderV2.cxx:102
 AliTOFDecoderV2.cxx:103
 AliTOFDecoderV2.cxx:104
 AliTOFDecoderV2.cxx:105
 AliTOFDecoderV2.cxx:106
 AliTOFDecoderV2.cxx:107
 AliTOFDecoderV2.cxx:108
 AliTOFDecoderV2.cxx:109
 AliTOFDecoderV2.cxx:110
 AliTOFDecoderV2.cxx:111
 AliTOFDecoderV2.cxx:112
 AliTOFDecoderV2.cxx:113
 AliTOFDecoderV2.cxx:114
 AliTOFDecoderV2.cxx:115
 AliTOFDecoderV2.cxx:116
 AliTOFDecoderV2.cxx:117
 AliTOFDecoderV2.cxx:118
 AliTOFDecoderV2.cxx:119
 AliTOFDecoderV2.cxx:120
 AliTOFDecoderV2.cxx:121
 AliTOFDecoderV2.cxx:122
 AliTOFDecoderV2.cxx:123
 AliTOFDecoderV2.cxx:124
 AliTOFDecoderV2.cxx:125
 AliTOFDecoderV2.cxx:126
 AliTOFDecoderV2.cxx:127
 AliTOFDecoderV2.cxx:128
 AliTOFDecoderV2.cxx:129
 AliTOFDecoderV2.cxx:130
 AliTOFDecoderV2.cxx:131
 AliTOFDecoderV2.cxx:132
 AliTOFDecoderV2.cxx:133
 AliTOFDecoderV2.cxx:134
 AliTOFDecoderV2.cxx:135
 AliTOFDecoderV2.cxx:136
 AliTOFDecoderV2.cxx:137
 AliTOFDecoderV2.cxx:138
 AliTOFDecoderV2.cxx:139
 AliTOFDecoderV2.cxx:140
 AliTOFDecoderV2.cxx:141
 AliTOFDecoderV2.cxx:142
 AliTOFDecoderV2.cxx:143
 AliTOFDecoderV2.cxx:144
 AliTOFDecoderV2.cxx:145
 AliTOFDecoderV2.cxx:146
 AliTOFDecoderV2.cxx:147
 AliTOFDecoderV2.cxx:148
 AliTOFDecoderV2.cxx:149
 AliTOFDecoderV2.cxx:150
 AliTOFDecoderV2.cxx:151
 AliTOFDecoderV2.cxx:152
 AliTOFDecoderV2.cxx:153
 AliTOFDecoderV2.cxx:154
 AliTOFDecoderV2.cxx:155
 AliTOFDecoderV2.cxx:156
 AliTOFDecoderV2.cxx:157
 AliTOFDecoderV2.cxx:158
 AliTOFDecoderV2.cxx:159
 AliTOFDecoderV2.cxx:160
 AliTOFDecoderV2.cxx:161
 AliTOFDecoderV2.cxx:162
 AliTOFDecoderV2.cxx:163
 AliTOFDecoderV2.cxx:164
 AliTOFDecoderV2.cxx:165
 AliTOFDecoderV2.cxx:166
 AliTOFDecoderV2.cxx:167
 AliTOFDecoderV2.cxx:168
 AliTOFDecoderV2.cxx:169
 AliTOFDecoderV2.cxx:170
 AliTOFDecoderV2.cxx:171
 AliTOFDecoderV2.cxx:172
 AliTOFDecoderV2.cxx:173
 AliTOFDecoderV2.cxx:174
 AliTOFDecoderV2.cxx:175
 AliTOFDecoderV2.cxx:176
 AliTOFDecoderV2.cxx:177
 AliTOFDecoderV2.cxx:178
 AliTOFDecoderV2.cxx:179
 AliTOFDecoderV2.cxx:180
 AliTOFDecoderV2.cxx:181
 AliTOFDecoderV2.cxx:182
 AliTOFDecoderV2.cxx:183
 AliTOFDecoderV2.cxx:184
 AliTOFDecoderV2.cxx:185
 AliTOFDecoderV2.cxx:186
 AliTOFDecoderV2.cxx:187
 AliTOFDecoderV2.cxx:188
 AliTOFDecoderV2.cxx:189
 AliTOFDecoderV2.cxx:190
 AliTOFDecoderV2.cxx:191
 AliTOFDecoderV2.cxx:192
 AliTOFDecoderV2.cxx:193
 AliTOFDecoderV2.cxx:194
 AliTOFDecoderV2.cxx:195
 AliTOFDecoderV2.cxx:196
 AliTOFDecoderV2.cxx:197
 AliTOFDecoderV2.cxx:198
 AliTOFDecoderV2.cxx:199
 AliTOFDecoderV2.cxx:200
 AliTOFDecoderV2.cxx:201
 AliTOFDecoderV2.cxx:202
 AliTOFDecoderV2.cxx:203
 AliTOFDecoderV2.cxx:204
 AliTOFDecoderV2.cxx:205
 AliTOFDecoderV2.cxx:206
 AliTOFDecoderV2.cxx:207
 AliTOFDecoderV2.cxx:208
 AliTOFDecoderV2.cxx:209
 AliTOFDecoderV2.cxx:210
 AliTOFDecoderV2.cxx:211
 AliTOFDecoderV2.cxx:212
 AliTOFDecoderV2.cxx:213
 AliTOFDecoderV2.cxx:214
 AliTOFDecoderV2.cxx:215
 AliTOFDecoderV2.cxx:216
 AliTOFDecoderV2.cxx:217
 AliTOFDecoderV2.cxx:218
 AliTOFDecoderV2.cxx:219
 AliTOFDecoderV2.cxx:220
 AliTOFDecoderV2.cxx:221
 AliTOFDecoderV2.cxx:222
 AliTOFDecoderV2.cxx:223
 AliTOFDecoderV2.cxx:224
 AliTOFDecoderV2.cxx:225
 AliTOFDecoderV2.cxx:226
 AliTOFDecoderV2.cxx:227
 AliTOFDecoderV2.cxx:228
 AliTOFDecoderV2.cxx:229
 AliTOFDecoderV2.cxx:230
 AliTOFDecoderV2.cxx:231
 AliTOFDecoderV2.cxx:232
 AliTOFDecoderV2.cxx:233
 AliTOFDecoderV2.cxx:234
 AliTOFDecoderV2.cxx:235
 AliTOFDecoderV2.cxx:236
 AliTOFDecoderV2.cxx:237
 AliTOFDecoderV2.cxx:238
 AliTOFDecoderV2.cxx:239
 AliTOFDecoderV2.cxx:240
 AliTOFDecoderV2.cxx:241
 AliTOFDecoderV2.cxx:242
 AliTOFDecoderV2.cxx:243
 AliTOFDecoderV2.cxx:244
 AliTOFDecoderV2.cxx:245
 AliTOFDecoderV2.cxx:246
 AliTOFDecoderV2.cxx:247
 AliTOFDecoderV2.cxx:248
 AliTOFDecoderV2.cxx:249
 AliTOFDecoderV2.cxx:250
 AliTOFDecoderV2.cxx:251
 AliTOFDecoderV2.cxx:252
 AliTOFDecoderV2.cxx:253
 AliTOFDecoderV2.cxx:254
 AliTOFDecoderV2.cxx:255
 AliTOFDecoderV2.cxx:256
 AliTOFDecoderV2.cxx:257
 AliTOFDecoderV2.cxx:258
 AliTOFDecoderV2.cxx:259
 AliTOFDecoderV2.cxx:260
 AliTOFDecoderV2.cxx:261
 AliTOFDecoderV2.cxx:262
 AliTOFDecoderV2.cxx:263
 AliTOFDecoderV2.cxx:264
 AliTOFDecoderV2.cxx:265
 AliTOFDecoderV2.cxx:266
 AliTOFDecoderV2.cxx:267
 AliTOFDecoderV2.cxx:268
 AliTOFDecoderV2.cxx:269
 AliTOFDecoderV2.cxx:270
 AliTOFDecoderV2.cxx:271
 AliTOFDecoderV2.cxx:272
 AliTOFDecoderV2.cxx:273
 AliTOFDecoderV2.cxx:274
 AliTOFDecoderV2.cxx:275
 AliTOFDecoderV2.cxx:276
 AliTOFDecoderV2.cxx:277
 AliTOFDecoderV2.cxx:278
 AliTOFDecoderV2.cxx:279
 AliTOFDecoderV2.cxx:280
 AliTOFDecoderV2.cxx:281
 AliTOFDecoderV2.cxx:282
 AliTOFDecoderV2.cxx:283
 AliTOFDecoderV2.cxx:284
 AliTOFDecoderV2.cxx:285
 AliTOFDecoderV2.cxx:286
 AliTOFDecoderV2.cxx:287
 AliTOFDecoderV2.cxx:288
 AliTOFDecoderV2.cxx:289
 AliTOFDecoderV2.cxx:290
 AliTOFDecoderV2.cxx:291
 AliTOFDecoderV2.cxx:292
 AliTOFDecoderV2.cxx:293
 AliTOFDecoderV2.cxx:294
 AliTOFDecoderV2.cxx:295
 AliTOFDecoderV2.cxx:296
 AliTOFDecoderV2.cxx:297
 AliTOFDecoderV2.cxx:298
 AliTOFDecoderV2.cxx:299
 AliTOFDecoderV2.cxx:300
 AliTOFDecoderV2.cxx:301
 AliTOFDecoderV2.cxx:302
 AliTOFDecoderV2.cxx:303
 AliTOFDecoderV2.cxx:304
 AliTOFDecoderV2.cxx:305
 AliTOFDecoderV2.cxx:306
 AliTOFDecoderV2.cxx:307
 AliTOFDecoderV2.cxx:308
 AliTOFDecoderV2.cxx:309
 AliTOFDecoderV2.cxx:310
 AliTOFDecoderV2.cxx:311
 AliTOFDecoderV2.cxx:312
 AliTOFDecoderV2.cxx:313
 AliTOFDecoderV2.cxx:314
 AliTOFDecoderV2.cxx:315
 AliTOFDecoderV2.cxx:316
 AliTOFDecoderV2.cxx:317
 AliTOFDecoderV2.cxx:318
 AliTOFDecoderV2.cxx:319
 AliTOFDecoderV2.cxx:320
 AliTOFDecoderV2.cxx:321
 AliTOFDecoderV2.cxx:322
 AliTOFDecoderV2.cxx:323
 AliTOFDecoderV2.cxx:324
 AliTOFDecoderV2.cxx:325
 AliTOFDecoderV2.cxx:326
 AliTOFDecoderV2.cxx:327
 AliTOFDecoderV2.cxx:328
 AliTOFDecoderV2.cxx:329
 AliTOFDecoderV2.cxx:330
 AliTOFDecoderV2.cxx:331
 AliTOFDecoderV2.cxx:332
 AliTOFDecoderV2.cxx:333
 AliTOFDecoderV2.cxx:334
 AliTOFDecoderV2.cxx:335
 AliTOFDecoderV2.cxx:336
 AliTOFDecoderV2.cxx:337
 AliTOFDecoderV2.cxx:338
 AliTOFDecoderV2.cxx:339
 AliTOFDecoderV2.cxx:340
 AliTOFDecoderV2.cxx:341
 AliTOFDecoderV2.cxx:342
 AliTOFDecoderV2.cxx:343
 AliTOFDecoderV2.cxx:344
 AliTOFDecoderV2.cxx:345
 AliTOFDecoderV2.cxx:346
 AliTOFDecoderV2.cxx:347
 AliTOFDecoderV2.cxx:348
 AliTOFDecoderV2.cxx:349
 AliTOFDecoderV2.cxx:350
 AliTOFDecoderV2.cxx:351
 AliTOFDecoderV2.cxx:352
 AliTOFDecoderV2.cxx:353
 AliTOFDecoderV2.cxx:354
 AliTOFDecoderV2.cxx:355
 AliTOFDecoderV2.cxx:356
 AliTOFDecoderV2.cxx:357
 AliTOFDecoderV2.cxx:358
 AliTOFDecoderV2.cxx:359
 AliTOFDecoderV2.cxx:360
 AliTOFDecoderV2.cxx:361
 AliTOFDecoderV2.cxx:362
 AliTOFDecoderV2.cxx:363
 AliTOFDecoderV2.cxx:364
 AliTOFDecoderV2.cxx:365
 AliTOFDecoderV2.cxx:366
 AliTOFDecoderV2.cxx:367
 AliTOFDecoderV2.cxx:368
 AliTOFDecoderV2.cxx:369
 AliTOFDecoderV2.cxx:370
 AliTOFDecoderV2.cxx:371
 AliTOFDecoderV2.cxx:372
 AliTOFDecoderV2.cxx:373
 AliTOFDecoderV2.cxx:374
 AliTOFDecoderV2.cxx:375
 AliTOFDecoderV2.cxx:376
 AliTOFDecoderV2.cxx:377
 AliTOFDecoderV2.cxx:378
 AliTOFDecoderV2.cxx:379
 AliTOFDecoderV2.cxx:380
 AliTOFDecoderV2.cxx:381
 AliTOFDecoderV2.cxx:382
 AliTOFDecoderV2.cxx:383
 AliTOFDecoderV2.cxx:384
 AliTOFDecoderV2.cxx:385
 AliTOFDecoderV2.cxx:386
 AliTOFDecoderV2.cxx:387
 AliTOFDecoderV2.cxx:388
 AliTOFDecoderV2.cxx:389
 AliTOFDecoderV2.cxx:390
 AliTOFDecoderV2.cxx:391
 AliTOFDecoderV2.cxx:392
 AliTOFDecoderV2.cxx:393
 AliTOFDecoderV2.cxx:394
 AliTOFDecoderV2.cxx:395
 AliTOFDecoderV2.cxx:396
 AliTOFDecoderV2.cxx:397
 AliTOFDecoderV2.cxx:398
 AliTOFDecoderV2.cxx:399
 AliTOFDecoderV2.cxx:400
 AliTOFDecoderV2.cxx:401
 AliTOFDecoderV2.cxx:402
 AliTOFDecoderV2.cxx:403
 AliTOFDecoderV2.cxx:404
 AliTOFDecoderV2.cxx:405
 AliTOFDecoderV2.cxx:406
 AliTOFDecoderV2.cxx:407
 AliTOFDecoderV2.cxx:408
 AliTOFDecoderV2.cxx:409
 AliTOFDecoderV2.cxx:410
 AliTOFDecoderV2.cxx:411
 AliTOFDecoderV2.cxx:412
 AliTOFDecoderV2.cxx:413
 AliTOFDecoderV2.cxx:414
 AliTOFDecoderV2.cxx:415
 AliTOFDecoderV2.cxx:416
 AliTOFDecoderV2.cxx:417
 AliTOFDecoderV2.cxx:418
 AliTOFDecoderV2.cxx:419
 AliTOFDecoderV2.cxx:420
 AliTOFDecoderV2.cxx:421
 AliTOFDecoderV2.cxx:422
 AliTOFDecoderV2.cxx:423
 AliTOFDecoderV2.cxx:424
 AliTOFDecoderV2.cxx:425
 AliTOFDecoderV2.cxx:426
 AliTOFDecoderV2.cxx:427
 AliTOFDecoderV2.cxx:428
 AliTOFDecoderV2.cxx:429
 AliTOFDecoderV2.cxx:430
 AliTOFDecoderV2.cxx:431
 AliTOFDecoderV2.cxx:432
 AliTOFDecoderV2.cxx:433
 AliTOFDecoderV2.cxx:434
 AliTOFDecoderV2.cxx:435
 AliTOFDecoderV2.cxx:436
 AliTOFDecoderV2.cxx:437
 AliTOFDecoderV2.cxx:438
 AliTOFDecoderV2.cxx:439
 AliTOFDecoderV2.cxx:440
 AliTOFDecoderV2.cxx:441
 AliTOFDecoderV2.cxx:442
 AliTOFDecoderV2.cxx:443
 AliTOFDecoderV2.cxx:444
 AliTOFDecoderV2.cxx:445
 AliTOFDecoderV2.cxx:446
 AliTOFDecoderV2.cxx:447
 AliTOFDecoderV2.cxx:448
 AliTOFDecoderV2.cxx:449
 AliTOFDecoderV2.cxx:450
 AliTOFDecoderV2.cxx:451
 AliTOFDecoderV2.cxx:452
 AliTOFDecoderV2.cxx:453
 AliTOFDecoderV2.cxx:454
 AliTOFDecoderV2.cxx:455
 AliTOFDecoderV2.cxx:456
 AliTOFDecoderV2.cxx:457
 AliTOFDecoderV2.cxx:458
 AliTOFDecoderV2.cxx:459
 AliTOFDecoderV2.cxx:460
 AliTOFDecoderV2.cxx:461
 AliTOFDecoderV2.cxx:462
 AliTOFDecoderV2.cxx:463
 AliTOFDecoderV2.cxx:464
 AliTOFDecoderV2.cxx:465
 AliTOFDecoderV2.cxx:466
 AliTOFDecoderV2.cxx:467
 AliTOFDecoderV2.cxx:468
 AliTOFDecoderV2.cxx:469
 AliTOFDecoderV2.cxx:470
 AliTOFDecoderV2.cxx:471
 AliTOFDecoderV2.cxx:472
 AliTOFDecoderV2.cxx:473
 AliTOFDecoderV2.cxx:474
 AliTOFDecoderV2.cxx:475
 AliTOFDecoderV2.cxx:476
 AliTOFDecoderV2.cxx:477
 AliTOFDecoderV2.cxx:478
 AliTOFDecoderV2.cxx:479
 AliTOFDecoderV2.cxx:480
 AliTOFDecoderV2.cxx:481
 AliTOFDecoderV2.cxx:482
 AliTOFDecoderV2.cxx:483
 AliTOFDecoderV2.cxx:484
 AliTOFDecoderV2.cxx:485
 AliTOFDecoderV2.cxx:486
 AliTOFDecoderV2.cxx:487
 AliTOFDecoderV2.cxx:488
 AliTOFDecoderV2.cxx:489
 AliTOFDecoderV2.cxx:490
 AliTOFDecoderV2.cxx:491
 AliTOFDecoderV2.cxx:492
 AliTOFDecoderV2.cxx:493
 AliTOFDecoderV2.cxx:494
 AliTOFDecoderV2.cxx:495
 AliTOFDecoderV2.cxx:496
 AliTOFDecoderV2.cxx:497
 AliTOFDecoderV2.cxx:498
 AliTOFDecoderV2.cxx:499
 AliTOFDecoderV2.cxx:500
 AliTOFDecoderV2.cxx:501
 AliTOFDecoderV2.cxx:502
 AliTOFDecoderV2.cxx:503
 AliTOFDecoderV2.cxx:504
 AliTOFDecoderV2.cxx:505
 AliTOFDecoderV2.cxx:506
 AliTOFDecoderV2.cxx:507
 AliTOFDecoderV2.cxx:508
 AliTOFDecoderV2.cxx:509
 AliTOFDecoderV2.cxx:510
 AliTOFDecoderV2.cxx:511
 AliTOFDecoderV2.cxx:512
 AliTOFDecoderV2.cxx:513
 AliTOFDecoderV2.cxx:514
 AliTOFDecoderV2.cxx:515
 AliTOFDecoderV2.cxx:516
 AliTOFDecoderV2.cxx:517
 AliTOFDecoderV2.cxx:518
 AliTOFDecoderV2.cxx:519
 AliTOFDecoderV2.cxx:520
 AliTOFDecoderV2.cxx:521
 AliTOFDecoderV2.cxx:522
 AliTOFDecoderV2.cxx:523
 AliTOFDecoderV2.cxx:524
 AliTOFDecoderV2.cxx:525
 AliTOFDecoderV2.cxx:526
 AliTOFDecoderV2.cxx:527
 AliTOFDecoderV2.cxx:528
 AliTOFDecoderV2.cxx:529
 AliTOFDecoderV2.cxx:530
 AliTOFDecoderV2.cxx:531
 AliTOFDecoderV2.cxx:532
 AliTOFDecoderV2.cxx:533
 AliTOFDecoderV2.cxx:534
 AliTOFDecoderV2.cxx:535
 AliTOFDecoderV2.cxx:536
 AliTOFDecoderV2.cxx:537
 AliTOFDecoderV2.cxx:538
 AliTOFDecoderV2.cxx:539
 AliTOFDecoderV2.cxx:540
 AliTOFDecoderV2.cxx:541
 AliTOFDecoderV2.cxx:542
 AliTOFDecoderV2.cxx:543
 AliTOFDecoderV2.cxx:544
 AliTOFDecoderV2.cxx:545
 AliTOFDecoderV2.cxx:546
 AliTOFDecoderV2.cxx:547
 AliTOFDecoderV2.cxx:548
 AliTOFDecoderV2.cxx:549
 AliTOFDecoderV2.cxx:550
 AliTOFDecoderV2.cxx:551
 AliTOFDecoderV2.cxx:552
 AliTOFDecoderV2.cxx:553
 AliTOFDecoderV2.cxx:554
 AliTOFDecoderV2.cxx:555
 AliTOFDecoderV2.cxx:556
 AliTOFDecoderV2.cxx:557
 AliTOFDecoderV2.cxx:558
 AliTOFDecoderV2.cxx:559
 AliTOFDecoderV2.cxx:560
 AliTOFDecoderV2.cxx:561
 AliTOFDecoderV2.cxx:562
 AliTOFDecoderV2.cxx:563
 AliTOFDecoderV2.cxx:564
 AliTOFDecoderV2.cxx:565
 AliTOFDecoderV2.cxx:566
 AliTOFDecoderV2.cxx:567
 AliTOFDecoderV2.cxx:568
 AliTOFDecoderV2.cxx:569
 AliTOFDecoderV2.cxx:570
 AliTOFDecoderV2.cxx:571
 AliTOFDecoderV2.cxx:572
 AliTOFDecoderV2.cxx:573
 AliTOFDecoderV2.cxx:574
 AliTOFDecoderV2.cxx:575
 AliTOFDecoderV2.cxx:576
 AliTOFDecoderV2.cxx:577
 AliTOFDecoderV2.cxx:578
 AliTOFDecoderV2.cxx:579
 AliTOFDecoderV2.cxx:580
 AliTOFDecoderV2.cxx:581
 AliTOFDecoderV2.cxx:582
 AliTOFDecoderV2.cxx:583
 AliTOFDecoderV2.cxx:584
 AliTOFDecoderV2.cxx:585
 AliTOFDecoderV2.cxx:586
 AliTOFDecoderV2.cxx:587
 AliTOFDecoderV2.cxx:588
 AliTOFDecoderV2.cxx:589
 AliTOFDecoderV2.cxx:590
 AliTOFDecoderV2.cxx:591
 AliTOFDecoderV2.cxx:592
 AliTOFDecoderV2.cxx:593
 AliTOFDecoderV2.cxx:594
 AliTOFDecoderV2.cxx:595
 AliTOFDecoderV2.cxx:596
 AliTOFDecoderV2.cxx:597
 AliTOFDecoderV2.cxx:598
 AliTOFDecoderV2.cxx:599
 AliTOFDecoderV2.cxx:600
 AliTOFDecoderV2.cxx:601
 AliTOFDecoderV2.cxx:602
 AliTOFDecoderV2.cxx:603
 AliTOFDecoderV2.cxx:604
 AliTOFDecoderV2.cxx:605
 AliTOFDecoderV2.cxx:606
 AliTOFDecoderV2.cxx:607
 AliTOFDecoderV2.cxx:608
 AliTOFDecoderV2.cxx:609
 AliTOFDecoderV2.cxx:610
 AliTOFDecoderV2.cxx:611
 AliTOFDecoderV2.cxx:612
 AliTOFDecoderV2.cxx:613
 AliTOFDecoderV2.cxx:614
 AliTOFDecoderV2.cxx:615
 AliTOFDecoderV2.cxx:616
 AliTOFDecoderV2.cxx:617
 AliTOFDecoderV2.cxx:618
 AliTOFDecoderV2.cxx:619
 AliTOFDecoderV2.cxx:620
 AliTOFDecoderV2.cxx:621
 AliTOFDecoderV2.cxx:622
 AliTOFDecoderV2.cxx:623
 AliTOFDecoderV2.cxx:624
 AliTOFDecoderV2.cxx:625
 AliTOFDecoderV2.cxx:626
 AliTOFDecoderV2.cxx:627
 AliTOFDecoderV2.cxx:628
 AliTOFDecoderV2.cxx:629
 AliTOFDecoderV2.cxx:630
 AliTOFDecoderV2.cxx:631
 AliTOFDecoderV2.cxx:632
 AliTOFDecoderV2.cxx:633
 AliTOFDecoderV2.cxx:634
 AliTOFDecoderV2.cxx:635
 AliTOFDecoderV2.cxx:636
 AliTOFDecoderV2.cxx:637
 AliTOFDecoderV2.cxx:638
 AliTOFDecoderV2.cxx:639
 AliTOFDecoderV2.cxx:640
 AliTOFDecoderV2.cxx:641
 AliTOFDecoderV2.cxx:642
 AliTOFDecoderV2.cxx:643
 AliTOFDecoderV2.cxx:644
 AliTOFDecoderV2.cxx:645
 AliTOFDecoderV2.cxx:646
 AliTOFDecoderV2.cxx:647
 AliTOFDecoderV2.cxx:648
 AliTOFDecoderV2.cxx:649
 AliTOFDecoderV2.cxx:650
 AliTOFDecoderV2.cxx:651
 AliTOFDecoderV2.cxx:652
 AliTOFDecoderV2.cxx:653
 AliTOFDecoderV2.cxx:654
 AliTOFDecoderV2.cxx:655
 AliTOFDecoderV2.cxx:656
 AliTOFDecoderV2.cxx:657
 AliTOFDecoderV2.cxx:658
 AliTOFDecoderV2.cxx:659
 AliTOFDecoderV2.cxx:660
 AliTOFDecoderV2.cxx:661
 AliTOFDecoderV2.cxx:662
 AliTOFDecoderV2.cxx:663
 AliTOFDecoderV2.cxx:664
 AliTOFDecoderV2.cxx:665
 AliTOFDecoderV2.cxx:666
 AliTOFDecoderV2.cxx:667
 AliTOFDecoderV2.cxx:668
 AliTOFDecoderV2.cxx:669
 AliTOFDecoderV2.cxx:670
 AliTOFDecoderV2.cxx:671
 AliTOFDecoderV2.cxx:672
 AliTOFDecoderV2.cxx:673
 AliTOFDecoderV2.cxx:674
 AliTOFDecoderV2.cxx:675
 AliTOFDecoderV2.cxx:676
 AliTOFDecoderV2.cxx:677
 AliTOFDecoderV2.cxx:678
 AliTOFDecoderV2.cxx:679
 AliTOFDecoderV2.cxx:680
 AliTOFDecoderV2.cxx:681
 AliTOFDecoderV2.cxx:682
 AliTOFDecoderV2.cxx:683
 AliTOFDecoderV2.cxx:684
 AliTOFDecoderV2.cxx:685
 AliTOFDecoderV2.cxx:686
 AliTOFDecoderV2.cxx:687
 AliTOFDecoderV2.cxx:688
 AliTOFDecoderV2.cxx:689
 AliTOFDecoderV2.cxx:690
 AliTOFDecoderV2.cxx:691
 AliTOFDecoderV2.cxx:692
 AliTOFDecoderV2.cxx:693
 AliTOFDecoderV2.cxx:694
 AliTOFDecoderV2.cxx:695
 AliTOFDecoderV2.cxx:696
 AliTOFDecoderV2.cxx:697
 AliTOFDecoderV2.cxx:698
 AliTOFDecoderV2.cxx:699
 AliTOFDecoderV2.cxx:700
 AliTOFDecoderV2.cxx:701
 AliTOFDecoderV2.cxx:702
 AliTOFDecoderV2.cxx:703
 AliTOFDecoderV2.cxx:704
 AliTOFDecoderV2.cxx:705
 AliTOFDecoderV2.cxx:706
 AliTOFDecoderV2.cxx:707
 AliTOFDecoderV2.cxx:708
 AliTOFDecoderV2.cxx:709
 AliTOFDecoderV2.cxx:710
 AliTOFDecoderV2.cxx:711
 AliTOFDecoderV2.cxx:712
 AliTOFDecoderV2.cxx:713
 AliTOFDecoderV2.cxx:714
 AliTOFDecoderV2.cxx:715
 AliTOFDecoderV2.cxx:716
 AliTOFDecoderV2.cxx:717
 AliTOFDecoderV2.cxx:718
 AliTOFDecoderV2.cxx:719
 AliTOFDecoderV2.cxx:720
 AliTOFDecoderV2.cxx:721
 AliTOFDecoderV2.cxx:722
 AliTOFDecoderV2.cxx:723
 AliTOFDecoderV2.cxx:724
 AliTOFDecoderV2.cxx:725
 AliTOFDecoderV2.cxx:726
 AliTOFDecoderV2.cxx:727
 AliTOFDecoderV2.cxx:728
 AliTOFDecoderV2.cxx:729
 AliTOFDecoderV2.cxx:730
 AliTOFDecoderV2.cxx:731
 AliTOFDecoderV2.cxx:732
 AliTOFDecoderV2.cxx:733
 AliTOFDecoderV2.cxx:734
 AliTOFDecoderV2.cxx:735
 AliTOFDecoderV2.cxx:736
 AliTOFDecoderV2.cxx:737
 AliTOFDecoderV2.cxx:738
 AliTOFDecoderV2.cxx:739
 AliTOFDecoderV2.cxx:740
 AliTOFDecoderV2.cxx:741
 AliTOFDecoderV2.cxx:742
 AliTOFDecoderV2.cxx:743
 AliTOFDecoderV2.cxx:744
 AliTOFDecoderV2.cxx:745
 AliTOFDecoderV2.cxx:746
 AliTOFDecoderV2.cxx:747
 AliTOFDecoderV2.cxx:748
 AliTOFDecoderV2.cxx:749
 AliTOFDecoderV2.cxx:750
 AliTOFDecoderV2.cxx:751
 AliTOFDecoderV2.cxx:752
 AliTOFDecoderV2.cxx:753
 AliTOFDecoderV2.cxx:754
 AliTOFDecoderV2.cxx:755
 AliTOFDecoderV2.cxx:756
 AliTOFDecoderV2.cxx:757
 AliTOFDecoderV2.cxx:758
 AliTOFDecoderV2.cxx:759
 AliTOFDecoderV2.cxx:760
 AliTOFDecoderV2.cxx:761
 AliTOFDecoderV2.cxx:762
 AliTOFDecoderV2.cxx:763
 AliTOFDecoderV2.cxx:764
 AliTOFDecoderV2.cxx:765
 AliTOFDecoderV2.cxx:766
 AliTOFDecoderV2.cxx:767
 AliTOFDecoderV2.cxx:768
 AliTOFDecoderV2.cxx:769
 AliTOFDecoderV2.cxx:770
 AliTOFDecoderV2.cxx:771
 AliTOFDecoderV2.cxx:772
 AliTOFDecoderV2.cxx:773
 AliTOFDecoderV2.cxx:774
 AliTOFDecoderV2.cxx:775
 AliTOFDecoderV2.cxx:776
 AliTOFDecoderV2.cxx:777
 AliTOFDecoderV2.cxx:778
 AliTOFDecoderV2.cxx:779
 AliTOFDecoderV2.cxx:780
 AliTOFDecoderV2.cxx:781
 AliTOFDecoderV2.cxx:782
 AliTOFDecoderV2.cxx:783
 AliTOFDecoderV2.cxx:784
 AliTOFDecoderV2.cxx:785
 AliTOFDecoderV2.cxx:786
 AliTOFDecoderV2.cxx:787
 AliTOFDecoderV2.cxx:788
 AliTOFDecoderV2.cxx:789
 AliTOFDecoderV2.cxx:790
 AliTOFDecoderV2.cxx:791
 AliTOFDecoderV2.cxx:792
 AliTOFDecoderV2.cxx:793
 AliTOFDecoderV2.cxx:794
 AliTOFDecoderV2.cxx:795
 AliTOFDecoderV2.cxx:796
 AliTOFDecoderV2.cxx:797
 AliTOFDecoderV2.cxx:798
 AliTOFDecoderV2.cxx:799
 AliTOFDecoderV2.cxx:800
 AliTOFDecoderV2.cxx:801
 AliTOFDecoderV2.cxx:802
 AliTOFDecoderV2.cxx:803
 AliTOFDecoderV2.cxx:804
 AliTOFDecoderV2.cxx:805
 AliTOFDecoderV2.cxx:806
 AliTOFDecoderV2.cxx:807
 AliTOFDecoderV2.cxx:808
 AliTOFDecoderV2.cxx:809
 AliTOFDecoderV2.cxx:810
 AliTOFDecoderV2.cxx:811
 AliTOFDecoderV2.cxx:812
 AliTOFDecoderV2.cxx:813
 AliTOFDecoderV2.cxx:814
 AliTOFDecoderV2.cxx:815
 AliTOFDecoderV2.cxx:816
 AliTOFDecoderV2.cxx:817
 AliTOFDecoderV2.cxx:818
 AliTOFDecoderV2.cxx:819
 AliTOFDecoderV2.cxx:820
 AliTOFDecoderV2.cxx:821
 AliTOFDecoderV2.cxx:822
 AliTOFDecoderV2.cxx:823
 AliTOFDecoderV2.cxx:824
 AliTOFDecoderV2.cxx:825
 AliTOFDecoderV2.cxx:826
 AliTOFDecoderV2.cxx:827
 AliTOFDecoderV2.cxx:828
 AliTOFDecoderV2.cxx:829
 AliTOFDecoderV2.cxx:830
 AliTOFDecoderV2.cxx:831
 AliTOFDecoderV2.cxx:832
 AliTOFDecoderV2.cxx:833
 AliTOFDecoderV2.cxx:834
 AliTOFDecoderV2.cxx:835
 AliTOFDecoderV2.cxx:836
 AliTOFDecoderV2.cxx:837
 AliTOFDecoderV2.cxx:838
 AliTOFDecoderV2.cxx:839
 AliTOFDecoderV2.cxx:840
 AliTOFDecoderV2.cxx:841
 AliTOFDecoderV2.cxx:842
 AliTOFDecoderV2.cxx:843
 AliTOFDecoderV2.cxx:844
 AliTOFDecoderV2.cxx:845
 AliTOFDecoderV2.cxx:846
 AliTOFDecoderV2.cxx:847
 AliTOFDecoderV2.cxx:848
 AliTOFDecoderV2.cxx:849
 AliTOFDecoderV2.cxx:850
 AliTOFDecoderV2.cxx:851
 AliTOFDecoderV2.cxx:852
 AliTOFDecoderV2.cxx:853
 AliTOFDecoderV2.cxx:854
 AliTOFDecoderV2.cxx:855
 AliTOFDecoderV2.cxx:856
 AliTOFDecoderV2.cxx:857
 AliTOFDecoderV2.cxx:858
 AliTOFDecoderV2.cxx:859
 AliTOFDecoderV2.cxx:860
 AliTOFDecoderV2.cxx:861
 AliTOFDecoderV2.cxx:862
 AliTOFDecoderV2.cxx:863
 AliTOFDecoderV2.cxx:864
 AliTOFDecoderV2.cxx:865
 AliTOFDecoderV2.cxx:866
 AliTOFDecoderV2.cxx:867
 AliTOFDecoderV2.cxx:868
 AliTOFDecoderV2.cxx:869
 AliTOFDecoderV2.cxx:870
 AliTOFDecoderV2.cxx:871
 AliTOFDecoderV2.cxx:872
 AliTOFDecoderV2.cxx:873
 AliTOFDecoderV2.cxx:874
 AliTOFDecoderV2.cxx:875
 AliTOFDecoderV2.cxx:876
 AliTOFDecoderV2.cxx:877
 AliTOFDecoderV2.cxx:878
 AliTOFDecoderV2.cxx:879
 AliTOFDecoderV2.cxx:880
 AliTOFDecoderV2.cxx:881
 AliTOFDecoderV2.cxx:882
 AliTOFDecoderV2.cxx:883
 AliTOFDecoderV2.cxx:884
 AliTOFDecoderV2.cxx:885
 AliTOFDecoderV2.cxx:886
 AliTOFDecoderV2.cxx:887
 AliTOFDecoderV2.cxx:888
 AliTOFDecoderV2.cxx:889
 AliTOFDecoderV2.cxx:890
 AliTOFDecoderV2.cxx:891
 AliTOFDecoderV2.cxx:892
 AliTOFDecoderV2.cxx:893
 AliTOFDecoderV2.cxx:894
 AliTOFDecoderV2.cxx:895
 AliTOFDecoderV2.cxx:896
 AliTOFDecoderV2.cxx:897
 AliTOFDecoderV2.cxx:898
 AliTOFDecoderV2.cxx:899
 AliTOFDecoderV2.cxx:900
 AliTOFDecoderV2.cxx:901
 AliTOFDecoderV2.cxx:902
 AliTOFDecoderV2.cxx:903
 AliTOFDecoderV2.cxx:904
 AliTOFDecoderV2.cxx:905
 AliTOFDecoderV2.cxx:906
 AliTOFDecoderV2.cxx:907
 AliTOFDecoderV2.cxx:908
 AliTOFDecoderV2.cxx:909
 AliTOFDecoderV2.cxx:910
 AliTOFDecoderV2.cxx:911
 AliTOFDecoderV2.cxx:912
 AliTOFDecoderV2.cxx:913
 AliTOFDecoderV2.cxx:914
 AliTOFDecoderV2.cxx:915
 AliTOFDecoderV2.cxx:916
 AliTOFDecoderV2.cxx:917
 AliTOFDecoderV2.cxx:918
 AliTOFDecoderV2.cxx:919
 AliTOFDecoderV2.cxx:920
 AliTOFDecoderV2.cxx:921
 AliTOFDecoderV2.cxx:922
 AliTOFDecoderV2.cxx:923
 AliTOFDecoderV2.cxx:924
 AliTOFDecoderV2.cxx:925
 AliTOFDecoderV2.cxx:926
 AliTOFDecoderV2.cxx:927
 AliTOFDecoderV2.cxx:928
 AliTOFDecoderV2.cxx:929
 AliTOFDecoderV2.cxx:930
 AliTOFDecoderV2.cxx:931
 AliTOFDecoderV2.cxx:932
 AliTOFDecoderV2.cxx:933
 AliTOFDecoderV2.cxx:934
 AliTOFDecoderV2.cxx:935
 AliTOFDecoderV2.cxx:936
 AliTOFDecoderV2.cxx:937
 AliTOFDecoderV2.cxx:938
 AliTOFDecoderV2.cxx:939
 AliTOFDecoderV2.cxx:940
 AliTOFDecoderV2.cxx:941
 AliTOFDecoderV2.cxx:942
 AliTOFDecoderV2.cxx:943
 AliTOFDecoderV2.cxx:944
 AliTOFDecoderV2.cxx:945
 AliTOFDecoderV2.cxx:946
 AliTOFDecoderV2.cxx:947
 AliTOFDecoderV2.cxx:948
 AliTOFDecoderV2.cxx:949
 AliTOFDecoderV2.cxx:950
 AliTOFDecoderV2.cxx:951
 AliTOFDecoderV2.cxx:952
 AliTOFDecoderV2.cxx:953
 AliTOFDecoderV2.cxx:954
 AliTOFDecoderV2.cxx:955
 AliTOFDecoderV2.cxx:956
 AliTOFDecoderV2.cxx:957
 AliTOFDecoderV2.cxx:958
 AliTOFDecoderV2.cxx:959
 AliTOFDecoderV2.cxx:960
 AliTOFDecoderV2.cxx:961
 AliTOFDecoderV2.cxx:962
 AliTOFDecoderV2.cxx:963
 AliTOFDecoderV2.cxx:964
 AliTOFDecoderV2.cxx:965
 AliTOFDecoderV2.cxx:966
 AliTOFDecoderV2.cxx:967
 AliTOFDecoderV2.cxx:968
 AliTOFDecoderV2.cxx:969
 AliTOFDecoderV2.cxx:970
 AliTOFDecoderV2.cxx:971
 AliTOFDecoderV2.cxx:972
 AliTOFDecoderV2.cxx:973
 AliTOFDecoderV2.cxx:974
 AliTOFDecoderV2.cxx:975
 AliTOFDecoderV2.cxx:976
 AliTOFDecoderV2.cxx:977
 AliTOFDecoderV2.cxx:978
 AliTOFDecoderV2.cxx:979
 AliTOFDecoderV2.cxx:980
 AliTOFDecoderV2.cxx:981
 AliTOFDecoderV2.cxx:982
 AliTOFDecoderV2.cxx:983
 AliTOFDecoderV2.cxx:984
 AliTOFDecoderV2.cxx:985
 AliTOFDecoderV2.cxx:986
 AliTOFDecoderV2.cxx:987
 AliTOFDecoderV2.cxx:988
 AliTOFDecoderV2.cxx:989
 AliTOFDecoderV2.cxx:990
 AliTOFDecoderV2.cxx:991
 AliTOFDecoderV2.cxx:992
 AliTOFDecoderV2.cxx:993
 AliTOFDecoderV2.cxx:994
 AliTOFDecoderV2.cxx:995
 AliTOFDecoderV2.cxx:996
 AliTOFDecoderV2.cxx:997
 AliTOFDecoderV2.cxx:998
 AliTOFDecoderV2.cxx:999
 AliTOFDecoderV2.cxx:1000
 AliTOFDecoderV2.cxx:1001
 AliTOFDecoderV2.cxx:1002
 AliTOFDecoderV2.cxx:1003
 AliTOFDecoderV2.cxx:1004
 AliTOFDecoderV2.cxx:1005
 AliTOFDecoderV2.cxx:1006
 AliTOFDecoderV2.cxx:1007
 AliTOFDecoderV2.cxx:1008
 AliTOFDecoderV2.cxx:1009
 AliTOFDecoderV2.cxx:1010
 AliTOFDecoderV2.cxx:1011
 AliTOFDecoderV2.cxx:1012
 AliTOFDecoderV2.cxx:1013
 AliTOFDecoderV2.cxx:1014
 AliTOFDecoderV2.cxx:1015
 AliTOFDecoderV2.cxx:1016
 AliTOFDecoderV2.cxx:1017
 AliTOFDecoderV2.cxx:1018
 AliTOFDecoderV2.cxx:1019
 AliTOFDecoderV2.cxx:1020
 AliTOFDecoderV2.cxx:1021
 AliTOFDecoderV2.cxx:1022
 AliTOFDecoderV2.cxx:1023
 AliTOFDecoderV2.cxx:1024
 AliTOFDecoderV2.cxx:1025
 AliTOFDecoderV2.cxx:1026
 AliTOFDecoderV2.cxx:1027
 AliTOFDecoderV2.cxx:1028
 AliTOFDecoderV2.cxx:1029
 AliTOFDecoderV2.cxx:1030
 AliTOFDecoderV2.cxx:1031
 AliTOFDecoderV2.cxx:1032
 AliTOFDecoderV2.cxx:1033
 AliTOFDecoderV2.cxx:1034
 AliTOFDecoderV2.cxx:1035
 AliTOFDecoderV2.cxx:1036
 AliTOFDecoderV2.cxx:1037
 AliTOFDecoderV2.cxx:1038
 AliTOFDecoderV2.cxx:1039
 AliTOFDecoderV2.cxx:1040
 AliTOFDecoderV2.cxx:1041
 AliTOFDecoderV2.cxx:1042
 AliTOFDecoderV2.cxx:1043
 AliTOFDecoderV2.cxx:1044
 AliTOFDecoderV2.cxx:1045
 AliTOFDecoderV2.cxx:1046
 AliTOFDecoderV2.cxx:1047
 AliTOFDecoderV2.cxx:1048
 AliTOFDecoderV2.cxx:1049
 AliTOFDecoderV2.cxx:1050
 AliTOFDecoderV2.cxx:1051
 AliTOFDecoderV2.cxx:1052
 AliTOFDecoderV2.cxx:1053
 AliTOFDecoderV2.cxx:1054
 AliTOFDecoderV2.cxx:1055
 AliTOFDecoderV2.cxx:1056
 AliTOFDecoderV2.cxx:1057
 AliTOFDecoderV2.cxx:1058
 AliTOFDecoderV2.cxx:1059
 AliTOFDecoderV2.cxx:1060
 AliTOFDecoderV2.cxx:1061
 AliTOFDecoderV2.cxx:1062
 AliTOFDecoderV2.cxx:1063
 AliTOFDecoderV2.cxx:1064
 AliTOFDecoderV2.cxx:1065
 AliTOFDecoderV2.cxx:1066
 AliTOFDecoderV2.cxx:1067
 AliTOFDecoderV2.cxx:1068
 AliTOFDecoderV2.cxx:1069
 AliTOFDecoderV2.cxx:1070
 AliTOFDecoderV2.cxx:1071
 AliTOFDecoderV2.cxx:1072
 AliTOFDecoderV2.cxx:1073
 AliTOFDecoderV2.cxx:1074
 AliTOFDecoderV2.cxx:1075
 AliTOFDecoderV2.cxx:1076
 AliTOFDecoderV2.cxx:1077
 AliTOFDecoderV2.cxx:1078
 AliTOFDecoderV2.cxx:1079
 AliTOFDecoderV2.cxx:1080
 AliTOFDecoderV2.cxx:1081
 AliTOFDecoderV2.cxx:1082
 AliTOFDecoderV2.cxx:1083
 AliTOFDecoderV2.cxx:1084
 AliTOFDecoderV2.cxx:1085
 AliTOFDecoderV2.cxx:1086
 AliTOFDecoderV2.cxx:1087
 AliTOFDecoderV2.cxx:1088
 AliTOFDecoderV2.cxx:1089
 AliTOFDecoderV2.cxx:1090
 AliTOFDecoderV2.cxx:1091
 AliTOFDecoderV2.cxx:1092
 AliTOFDecoderV2.cxx:1093
 AliTOFDecoderV2.cxx:1094
 AliTOFDecoderV2.cxx:1095
 AliTOFDecoderV2.cxx:1096
 AliTOFDecoderV2.cxx:1097
 AliTOFDecoderV2.cxx:1098
 AliTOFDecoderV2.cxx:1099
 AliTOFDecoderV2.cxx:1100
 AliTOFDecoderV2.cxx:1101
 AliTOFDecoderV2.cxx:1102
 AliTOFDecoderV2.cxx:1103
 AliTOFDecoderV2.cxx:1104
 AliTOFDecoderV2.cxx:1105
 AliTOFDecoderV2.cxx:1106
 AliTOFDecoderV2.cxx:1107
 AliTOFDecoderV2.cxx:1108
 AliTOFDecoderV2.cxx:1109
 AliTOFDecoderV2.cxx:1110
 AliTOFDecoderV2.cxx:1111
 AliTOFDecoderV2.cxx:1112
 AliTOFDecoderV2.cxx:1113
 AliTOFDecoderV2.cxx:1114
 AliTOFDecoderV2.cxx:1115
 AliTOFDecoderV2.cxx:1116
 AliTOFDecoderV2.cxx:1117
 AliTOFDecoderV2.cxx:1118
 AliTOFDecoderV2.cxx:1119
 AliTOFDecoderV2.cxx:1120
 AliTOFDecoderV2.cxx:1121
 AliTOFDecoderV2.cxx:1122
 AliTOFDecoderV2.cxx:1123
 AliTOFDecoderV2.cxx:1124
 AliTOFDecoderV2.cxx:1125
 AliTOFDecoderV2.cxx:1126
 AliTOFDecoderV2.cxx:1127
 AliTOFDecoderV2.cxx:1128
 AliTOFDecoderV2.cxx:1129
 AliTOFDecoderV2.cxx:1130
 AliTOFDecoderV2.cxx:1131
 AliTOFDecoderV2.cxx:1132
 AliTOFDecoderV2.cxx:1133
 AliTOFDecoderV2.cxx:1134
 AliTOFDecoderV2.cxx:1135
 AliTOFDecoderV2.cxx:1136
 AliTOFDecoderV2.cxx:1137
 AliTOFDecoderV2.cxx:1138
 AliTOFDecoderV2.cxx:1139
 AliTOFDecoderV2.cxx:1140
 AliTOFDecoderV2.cxx:1141
 AliTOFDecoderV2.cxx:1142
 AliTOFDecoderV2.cxx:1143
 AliTOFDecoderV2.cxx:1144
 AliTOFDecoderV2.cxx:1145
 AliTOFDecoderV2.cxx:1146
 AliTOFDecoderV2.cxx:1147
 AliTOFDecoderV2.cxx:1148
 AliTOFDecoderV2.cxx:1149
 AliTOFDecoderV2.cxx:1150
 AliTOFDecoderV2.cxx:1151
 AliTOFDecoderV2.cxx:1152
 AliTOFDecoderV2.cxx:1153
 AliTOFDecoderV2.cxx:1154
 AliTOFDecoderV2.cxx:1155
 AliTOFDecoderV2.cxx:1156
 AliTOFDecoderV2.cxx:1157
 AliTOFDecoderV2.cxx:1158
 AliTOFDecoderV2.cxx:1159
 AliTOFDecoderV2.cxx:1160
 AliTOFDecoderV2.cxx:1161
 AliTOFDecoderV2.cxx:1162
 AliTOFDecoderV2.cxx:1163
 AliTOFDecoderV2.cxx:1164
 AliTOFDecoderV2.cxx:1165
 AliTOFDecoderV2.cxx:1166
 AliTOFDecoderV2.cxx:1167
 AliTOFDecoderV2.cxx:1168
 AliTOFDecoderV2.cxx:1169
 AliTOFDecoderV2.cxx:1170
 AliTOFDecoderV2.cxx:1171
 AliTOFDecoderV2.cxx:1172
 AliTOFDecoderV2.cxx:1173
 AliTOFDecoderV2.cxx:1174
 AliTOFDecoderV2.cxx:1175
 AliTOFDecoderV2.cxx:1176
 AliTOFDecoderV2.cxx:1177
 AliTOFDecoderV2.cxx:1178
 AliTOFDecoderV2.cxx:1179
 AliTOFDecoderV2.cxx:1180
 AliTOFDecoderV2.cxx:1181
 AliTOFDecoderV2.cxx:1182
 AliTOFDecoderV2.cxx:1183
 AliTOFDecoderV2.cxx:1184
 AliTOFDecoderV2.cxx:1185
 AliTOFDecoderV2.cxx:1186
 AliTOFDecoderV2.cxx:1187
 AliTOFDecoderV2.cxx:1188
 AliTOFDecoderV2.cxx:1189
 AliTOFDecoderV2.cxx:1190
 AliTOFDecoderV2.cxx:1191
 AliTOFDecoderV2.cxx:1192
 AliTOFDecoderV2.cxx:1193
 AliTOFDecoderV2.cxx:1194
 AliTOFDecoderV2.cxx:1195
 AliTOFDecoderV2.cxx:1196
 AliTOFDecoderV2.cxx:1197
 AliTOFDecoderV2.cxx:1198
 AliTOFDecoderV2.cxx:1199
 AliTOFDecoderV2.cxx:1200
 AliTOFDecoderV2.cxx:1201
 AliTOFDecoderV2.cxx:1202
 AliTOFDecoderV2.cxx:1203
 AliTOFDecoderV2.cxx:1204
 AliTOFDecoderV2.cxx:1205
 AliTOFDecoderV2.cxx:1206
 AliTOFDecoderV2.cxx:1207
 AliTOFDecoderV2.cxx:1208
 AliTOFDecoderV2.cxx:1209
 AliTOFDecoderV2.cxx:1210
 AliTOFDecoderV2.cxx:1211
 AliTOFDecoderV2.cxx:1212
 AliTOFDecoderV2.cxx:1213
 AliTOFDecoderV2.cxx:1214
 AliTOFDecoderV2.cxx:1215
 AliTOFDecoderV2.cxx:1216
 AliTOFDecoderV2.cxx:1217
 AliTOFDecoderV2.cxx:1218
 AliTOFDecoderV2.cxx:1219
 AliTOFDecoderV2.cxx:1220
 AliTOFDecoderV2.cxx:1221
 AliTOFDecoderV2.cxx:1222
 AliTOFDecoderV2.cxx:1223
 AliTOFDecoderV2.cxx:1224
 AliTOFDecoderV2.cxx:1225
 AliTOFDecoderV2.cxx:1226
 AliTOFDecoderV2.cxx:1227
 AliTOFDecoderV2.cxx:1228
 AliTOFDecoderV2.cxx:1229
 AliTOFDecoderV2.cxx:1230
 AliTOFDecoderV2.cxx:1231
 AliTOFDecoderV2.cxx:1232
 AliTOFDecoderV2.cxx:1233
 AliTOFDecoderV2.cxx:1234
 AliTOFDecoderV2.cxx:1235
 AliTOFDecoderV2.cxx:1236
 AliTOFDecoderV2.cxx:1237
 AliTOFDecoderV2.cxx:1238
 AliTOFDecoderV2.cxx:1239
 AliTOFDecoderV2.cxx:1240
 AliTOFDecoderV2.cxx:1241
 AliTOFDecoderV2.cxx:1242
 AliTOFDecoderV2.cxx:1243
 AliTOFDecoderV2.cxx:1244
 AliTOFDecoderV2.cxx:1245
 AliTOFDecoderV2.cxx:1246
 AliTOFDecoderV2.cxx:1247
 AliTOFDecoderV2.cxx:1248
 AliTOFDecoderV2.cxx:1249
 AliTOFDecoderV2.cxx:1250
 AliTOFDecoderV2.cxx:1251
 AliTOFDecoderV2.cxx:1252
 AliTOFDecoderV2.cxx:1253
 AliTOFDecoderV2.cxx:1254
 AliTOFDecoderV2.cxx:1255
 AliTOFDecoderV2.cxx:1256
 AliTOFDecoderV2.cxx:1257
 AliTOFDecoderV2.cxx:1258
 AliTOFDecoderV2.cxx:1259
 AliTOFDecoderV2.cxx:1260
 AliTOFDecoderV2.cxx:1261
 AliTOFDecoderV2.cxx:1262
 AliTOFDecoderV2.cxx:1263
 AliTOFDecoderV2.cxx:1264
 AliTOFDecoderV2.cxx:1265
 AliTOFDecoderV2.cxx:1266
 AliTOFDecoderV2.cxx:1267
 AliTOFDecoderV2.cxx:1268
 AliTOFDecoderV2.cxx:1269
 AliTOFDecoderV2.cxx:1270
 AliTOFDecoderV2.cxx:1271
 AliTOFDecoderV2.cxx:1272
 AliTOFDecoderV2.cxx:1273
 AliTOFDecoderV2.cxx:1274
 AliTOFDecoderV2.cxx:1275
 AliTOFDecoderV2.cxx:1276
 AliTOFDecoderV2.cxx:1277
 AliTOFDecoderV2.cxx:1278
 AliTOFDecoderV2.cxx:1279
 AliTOFDecoderV2.cxx:1280
 AliTOFDecoderV2.cxx:1281
 AliTOFDecoderV2.cxx:1282
 AliTOFDecoderV2.cxx:1283
 AliTOFDecoderV2.cxx:1284
 AliTOFDecoderV2.cxx:1285
 AliTOFDecoderV2.cxx:1286
 AliTOFDecoderV2.cxx:1287
 AliTOFDecoderV2.cxx:1288
 AliTOFDecoderV2.cxx:1289
 AliTOFDecoderV2.cxx:1290
 AliTOFDecoderV2.cxx:1291
 AliTOFDecoderV2.cxx:1292
 AliTOFDecoderV2.cxx:1293
 AliTOFDecoderV2.cxx:1294
 AliTOFDecoderV2.cxx:1295
 AliTOFDecoderV2.cxx:1296
 AliTOFDecoderV2.cxx:1297
 AliTOFDecoderV2.cxx:1298
 AliTOFDecoderV2.cxx:1299
 AliTOFDecoderV2.cxx:1300
 AliTOFDecoderV2.cxx:1301
 AliTOFDecoderV2.cxx:1302
 AliTOFDecoderV2.cxx:1303
 AliTOFDecoderV2.cxx:1304
 AliTOFDecoderV2.cxx:1305
 AliTOFDecoderV2.cxx:1306
 AliTOFDecoderV2.cxx:1307
 AliTOFDecoderV2.cxx:1308
 AliTOFDecoderV2.cxx:1309
 AliTOFDecoderV2.cxx:1310
 AliTOFDecoderV2.cxx:1311
 AliTOFDecoderV2.cxx:1312
 AliTOFDecoderV2.cxx:1313
 AliTOFDecoderV2.cxx:1314
 AliTOFDecoderV2.cxx:1315
 AliTOFDecoderV2.cxx:1316
 AliTOFDecoderV2.cxx:1317
 AliTOFDecoderV2.cxx:1318
 AliTOFDecoderV2.cxx:1319
 AliTOFDecoderV2.cxx:1320
 AliTOFDecoderV2.cxx:1321
 AliTOFDecoderV2.cxx:1322
 AliTOFDecoderV2.cxx:1323
 AliTOFDecoderV2.cxx:1324
 AliTOFDecoderV2.cxx:1325
 AliTOFDecoderV2.cxx:1326
 AliTOFDecoderV2.cxx:1327
 AliTOFDecoderV2.cxx:1328
 AliTOFDecoderV2.cxx:1329
 AliTOFDecoderV2.cxx:1330
 AliTOFDecoderV2.cxx:1331
 AliTOFDecoderV2.cxx:1332
 AliTOFDecoderV2.cxx:1333
 AliTOFDecoderV2.cxx:1334
 AliTOFDecoderV2.cxx:1335
 AliTOFDecoderV2.cxx:1336
 AliTOFDecoderV2.cxx:1337
 AliTOFDecoderV2.cxx:1338
 AliTOFDecoderV2.cxx:1339
 AliTOFDecoderV2.cxx:1340
 AliTOFDecoderV2.cxx:1341
 AliTOFDecoderV2.cxx:1342
 AliTOFDecoderV2.cxx:1343
 AliTOFDecoderV2.cxx:1344
 AliTOFDecoderV2.cxx:1345
 AliTOFDecoderV2.cxx:1346
 AliTOFDecoderV2.cxx:1347
 AliTOFDecoderV2.cxx:1348
 AliTOFDecoderV2.cxx:1349
 AliTOFDecoderV2.cxx:1350
 AliTOFDecoderV2.cxx:1351
 AliTOFDecoderV2.cxx:1352
 AliTOFDecoderV2.cxx:1353
 AliTOFDecoderV2.cxx:1354
 AliTOFDecoderV2.cxx:1355
 AliTOFDecoderV2.cxx:1356
 AliTOFDecoderV2.cxx:1357
 AliTOFDecoderV2.cxx:1358
 AliTOFDecoderV2.cxx:1359
 AliTOFDecoderV2.cxx:1360
 AliTOFDecoderV2.cxx:1361
 AliTOFDecoderV2.cxx:1362
 AliTOFDecoderV2.cxx:1363
 AliTOFDecoderV2.cxx:1364
 AliTOFDecoderV2.cxx:1365
 AliTOFDecoderV2.cxx:1366
 AliTOFDecoderV2.cxx:1367
 AliTOFDecoderV2.cxx:1368
 AliTOFDecoderV2.cxx:1369
 AliTOFDecoderV2.cxx:1370
 AliTOFDecoderV2.cxx:1371
 AliTOFDecoderV2.cxx:1372
 AliTOFDecoderV2.cxx:1373
 AliTOFDecoderV2.cxx:1374
 AliTOFDecoderV2.cxx:1375
 AliTOFDecoderV2.cxx:1376
 AliTOFDecoderV2.cxx:1377
 AliTOFDecoderV2.cxx:1378
 AliTOFDecoderV2.cxx:1379
 AliTOFDecoderV2.cxx:1380
 AliTOFDecoderV2.cxx:1381
 AliTOFDecoderV2.cxx:1382
 AliTOFDecoderV2.cxx:1383
 AliTOFDecoderV2.cxx:1384
 AliTOFDecoderV2.cxx:1385
 AliTOFDecoderV2.cxx:1386
 AliTOFDecoderV2.cxx:1387
 AliTOFDecoderV2.cxx:1388
 AliTOFDecoderV2.cxx:1389
 AliTOFDecoderV2.cxx:1390
 AliTOFDecoderV2.cxx:1391
 AliTOFDecoderV2.cxx:1392
 AliTOFDecoderV2.cxx:1393
 AliTOFDecoderV2.cxx:1394
 AliTOFDecoderV2.cxx:1395
 AliTOFDecoderV2.cxx:1396
 AliTOFDecoderV2.cxx:1397
 AliTOFDecoderV2.cxx:1398
 AliTOFDecoderV2.cxx:1399
 AliTOFDecoderV2.cxx:1400
 AliTOFDecoderV2.cxx:1401
 AliTOFDecoderV2.cxx:1402
 AliTOFDecoderV2.cxx:1403
 AliTOFDecoderV2.cxx:1404
 AliTOFDecoderV2.cxx:1405
 AliTOFDecoderV2.cxx:1406
 AliTOFDecoderV2.cxx:1407
 AliTOFDecoderV2.cxx:1408
 AliTOFDecoderV2.cxx:1409
 AliTOFDecoderV2.cxx:1410
 AliTOFDecoderV2.cxx:1411
 AliTOFDecoderV2.cxx:1412
 AliTOFDecoderV2.cxx:1413
 AliTOFDecoderV2.cxx:1414
 AliTOFDecoderV2.cxx:1415
 AliTOFDecoderV2.cxx:1416
 AliTOFDecoderV2.cxx:1417
 AliTOFDecoderV2.cxx:1418
 AliTOFDecoderV2.cxx:1419
 AliTOFDecoderV2.cxx:1420
 AliTOFDecoderV2.cxx:1421
 AliTOFDecoderV2.cxx:1422
 AliTOFDecoderV2.cxx:1423
 AliTOFDecoderV2.cxx:1424
 AliTOFDecoderV2.cxx:1425
 AliTOFDecoderV2.cxx:1426
 AliTOFDecoderV2.cxx:1427
 AliTOFDecoderV2.cxx:1428
 AliTOFDecoderV2.cxx:1429
 AliTOFDecoderV2.cxx:1430
 AliTOFDecoderV2.cxx:1431
 AliTOFDecoderV2.cxx:1432
 AliTOFDecoderV2.cxx:1433
 AliTOFDecoderV2.cxx:1434
 AliTOFDecoderV2.cxx:1435
 AliTOFDecoderV2.cxx:1436
 AliTOFDecoderV2.cxx:1437
 AliTOFDecoderV2.cxx:1438
 AliTOFDecoderV2.cxx:1439
 AliTOFDecoderV2.cxx:1440
 AliTOFDecoderV2.cxx:1441
 AliTOFDecoderV2.cxx:1442
 AliTOFDecoderV2.cxx:1443
 AliTOFDecoderV2.cxx:1444
 AliTOFDecoderV2.cxx:1445
 AliTOFDecoderV2.cxx:1446
 AliTOFDecoderV2.cxx:1447
 AliTOFDecoderV2.cxx:1448
 AliTOFDecoderV2.cxx:1449
 AliTOFDecoderV2.cxx:1450
 AliTOFDecoderV2.cxx:1451
 AliTOFDecoderV2.cxx:1452
 AliTOFDecoderV2.cxx:1453
 AliTOFDecoderV2.cxx:1454
 AliTOFDecoderV2.cxx:1455
 AliTOFDecoderV2.cxx:1456
 AliTOFDecoderV2.cxx:1457
 AliTOFDecoderV2.cxx:1458
 AliTOFDecoderV2.cxx:1459
 AliTOFDecoderV2.cxx:1460
 AliTOFDecoderV2.cxx:1461
 AliTOFDecoderV2.cxx:1462
 AliTOFDecoderV2.cxx:1463
 AliTOFDecoderV2.cxx:1464
 AliTOFDecoderV2.cxx:1465
 AliTOFDecoderV2.cxx:1466
 AliTOFDecoderV2.cxx:1467
 AliTOFDecoderV2.cxx:1468
 AliTOFDecoderV2.cxx:1469
 AliTOFDecoderV2.cxx:1470
 AliTOFDecoderV2.cxx:1471
 AliTOFDecoderV2.cxx:1472
 AliTOFDecoderV2.cxx:1473
 AliTOFDecoderV2.cxx:1474
 AliTOFDecoderV2.cxx:1475
 AliTOFDecoderV2.cxx:1476
 AliTOFDecoderV2.cxx:1477
 AliTOFDecoderV2.cxx:1478
 AliTOFDecoderV2.cxx:1479
 AliTOFDecoderV2.cxx:1480
 AliTOFDecoderV2.cxx:1481
 AliTOFDecoderV2.cxx:1482
 AliTOFDecoderV2.cxx:1483
 AliTOFDecoderV2.cxx:1484
 AliTOFDecoderV2.cxx:1485
 AliTOFDecoderV2.cxx:1486
 AliTOFDecoderV2.cxx:1487
 AliTOFDecoderV2.cxx:1488
 AliTOFDecoderV2.cxx:1489
 AliTOFDecoderV2.cxx:1490
 AliTOFDecoderV2.cxx:1491
 AliTOFDecoderV2.cxx:1492
 AliTOFDecoderV2.cxx:1493
 AliTOFDecoderV2.cxx:1494
 AliTOFDecoderV2.cxx:1495
 AliTOFDecoderV2.cxx:1496
 AliTOFDecoderV2.cxx:1497
 AliTOFDecoderV2.cxx:1498
 AliTOFDecoderV2.cxx:1499
 AliTOFDecoderV2.cxx:1500
 AliTOFDecoderV2.cxx:1501
 AliTOFDecoderV2.cxx:1502
 AliTOFDecoderV2.cxx:1503
 AliTOFDecoderV2.cxx:1504
 AliTOFDecoderV2.cxx:1505
 AliTOFDecoderV2.cxx:1506
 AliTOFDecoderV2.cxx:1507
 AliTOFDecoderV2.cxx:1508