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

/* $Id$ */

///////////////////////////////////////////////////////////////////////////////
///
/// This class provides access to PMD digits in raw data.
///
/// It loops over all PMD digits in the raw data given by the AliRawReader.
/// The Next method goes to the next digit. If there are no digits left
/// it returns kFALSE.
/// Several getters provide information about the current digit.
///
///////////////////////////////////////////////////////////////////////////////

#include <Riostream.h>
#include <TObjArray.h>
#include <TString.h>
#include <TSystem.h>

#include "AliLog.h"
#include "AliPMDBlockHeader.h"
#include "AliPMDDspHeader.h"
#include "AliPMDPatchBusHeader.h"
#include "AliPMDddldata.h"
#include "AliPMDRawStream.h"
#include "AliPMDMappingData.h"
#include "AliRawReader.h"
#include "AliCDBManager.h"
#include "AliCDBStorage.h"
#include "AliCDBEntry.h"

ClassImp(AliPMDRawStream)


//_____________________________________________________________________________
AliPMDRawStream::AliPMDRawStream(AliRawReader* rawReader) :
    fRawReader(rawReader),
    fData(NULL),
    fPosition(-1),
    fMapData(GetMappingData())
{
// create an object to read PMD raw digits

  fRawReader->Reset();
  fRawReader->Select("PMD");
}

//_____________________________________________________________________________
AliPMDRawStream::AliPMDRawStream(const AliPMDRawStream& stream) :
  TObject(stream),
  fRawReader(NULL),
  fData(NULL),
  fPosition(-1),
  fMapData(GetMappingData())
{
// copy constructor

  AliFatal("Copy constructor not implemented");
}

//_____________________________________________________________________________
AliPMDRawStream& AliPMDRawStream::operator = (const AliPMDRawStream& 
					      /* stream */)
{
// assignment operator

  AliFatal("operator = assignment operator not implemented");
  return *this;
}

//_____________________________________________________________________________
AliPMDRawStream::~AliPMDRawStream()
{
// destructor

}


//_____________________________________________________________________________

Int_t AliPMDRawStream::DdlData(TObjArray *pmdddlcont)
{
  // read the next raw digit
  // returns kFALSE if there is no digit left
  
  Int_t iddl = -1;

  AliPMDddldata *pmdddldata;

  if (!fRawReader->ReadHeader()) return -1;

  iddl           = fRawReader->GetDDLID();
  Int_t dataSize = fRawReader->GetDataSize();
  Int_t totaldataword = dataSize/4;

  if (dataSize <= 0) return -1;

  UInt_t data = 0;

 // PMD raw data does not contain CDH

  if (!fRawReader->ReadNextData(fData))
    {
      return kFALSE;
    }


  fPosition = 0;

  Int_t ibus = 0;

  const Int_t kNPatchBus = 51;

  Int_t moduleNo[kNPatchBus], mcmperBus[kNPatchBus];
  Int_t startRowBus[kNPatchBus], endRowBus[kNPatchBus];
  Int_t startColBus[kNPatchBus], endColBus[kNPatchBus];

  for (ibus = 0; ibus < kNPatchBus; ibus++)
    {
      moduleNo[ibus]    = -1;
      mcmperBus[ibus]   = -1;
      startRowBus[ibus] = -1;
      endRowBus[ibus]   = -1;
      startColBus[ibus] = -1;
      endColBus[ibus]   = -1;
    }
  
  if (iddl == 0)
    {
      Ddl0Mapping(moduleNo, mcmperBus, startRowBus, 
		  endRowBus, startColBus, endColBus);

    }
  else if (iddl == 1)
    {
      Ddl1Mapping(moduleNo, mcmperBus, startRowBus, 
		  endRowBus, startColBus, endColBus);
      
    }
  else if (iddl == 2)
    {
      Ddl2Mapping(moduleNo, mcmperBus, startRowBus, 
		  endRowBus, startColBus, endColBus);
    }
  else if (iddl == 3)
    {
      Ddl3Mapping(moduleNo, mcmperBus, startRowBus, 
		  endRowBus, startColBus, endColBus);
    }
  else if (iddl == 4)
    {
      Ddl4Mapping(moduleNo, mcmperBus, startRowBus, 
		  endRowBus, startColBus, endColBus);
    }
  else if (iddl == 5)
    {
      Ddl5Mapping(moduleNo, mcmperBus, startRowBus, 
		  endRowBus, startColBus, endColBus);
  }


  AliPMDBlockHeader    blockHeader;
  AliPMDDspHeader      dspHeader;
  AliPMDPatchBusHeader pbusHeader;

  const Int_t kblHLen   = blockHeader.GetHeaderLength();
  const Int_t kdspHLen  = dspHeader.GetHeaderLength();
  const Int_t kpbusHLen = pbusHeader.GetHeaderLength();
  
  Int_t parity = 0;
  Int_t idet = 0, ismn = 0;
  Int_t irow = -1;
  Int_t icol = -1;

  Int_t blHeaderWord[8]={0};
  Int_t dspHeaderWord[10]={0};
  Int_t pbusHeaderWord[4]={0};

  Int_t blRawDataLength  = 0;
  Int_t dspRawDataLength = 0;
  Int_t iwordddl         = 2;



  for (Int_t iblock = 0; iblock < 2; iblock++)
    {
      for (Int_t i = 0; i < kblHLen; i++)
	{
	    iwordddl++;
	    blHeaderWord[i] = (Int_t) GetNextWord();
	}

      blockHeader.SetHeader(blHeaderWord);
      blRawDataLength = blockHeader.GetRawDataLength();

      if (iwordddl == totaldataword) break;

      Int_t iwordblk = 0;

      for (Int_t idsp = 0; idsp < 5; idsp++)
	{
	  for (Int_t i = 0; i < kdspHLen; i++)
	    {
		iwordddl++;
		iwordblk++;
		dspHeaderWord[i] = (Int_t) GetNextWord();
	    }
	  dspHeader.SetHeader(dspHeaderWord);
	  dspRawDataLength = dspHeader.GetRawDataLength();

	  if (iwordddl == totaldataword) break;

	  Int_t iworddsp = 0;

	  for (ibus = 0; ibus < 5; ibus++)
	    {
	      for (Int_t i = 0; i < kpbusHLen; i++)
		{
		    iwordddl++;
		    iwordblk++;
		    iworddsp++;
		    pbusHeaderWord[i] = (Int_t) GetNextWord();
		}

	      pbusHeader.SetHeader(pbusHeaderWord);
	      Int_t rawdatalength = pbusHeader.GetRawDataLength();
	      Int_t pbusid = pbusHeader.GetPatchBusId();

	      if (pbusid < 0 || pbusid > 50) return -1;

	      Int_t imodule = moduleNo[pbusid];

	      if (iwordddl == totaldataword) break;

	      for (Int_t iword = 0; iword < rawdatalength; iword++)
		{
		    iwordddl++;
		    iwordblk++;
		    iworddsp++;
		    data = 0;
		    data = GetNextWord();

		  Int_t isig =  data & 0x0FFF;
		  Int_t ich  = (data >> 12) & 0x003F;
		  Int_t imcm = (data >> 18) & 0x07FF;
		  Int_t ibit = (data >> 31) & 0x0001;
		  if (imcm == 0)
		    {
		      AliWarning(Form("FEE address WRONG:: Module %d Patch Bus %d MCM %d",imodule,pbusid,imcm));
		      return -1;
		    }

		  parity = ComputeParity(data);

		  if (ibit != parity)
		    {
		      AliWarning(Form("Parity Error:: Patch Bus %d Module %d",pbusid,imodule));
		      fRawReader->AddMajorErrorLog(kParityError);
		      return -1;
		    }

		  ConvertDDL2SMN(iddl, imodule, ismn, idet);

		  GetRowCol(imodule, pbusid, imcm, ich, 
			    startRowBus, endRowBus,
			    startColBus, endColBus,
			    irow, icol);


		  TransformH2S(ismn, irow, icol);

		  pmdddldata = new AliPMDddldata();

		  pmdddldata->SetDetector(idet);
		  pmdddldata->SetSMN(ismn);
		  pmdddldata->SetModule(imodule);
		  pmdddldata->SetPatchBusId(pbusid);
		  pmdddldata->SetMCM(imcm);
		  pmdddldata->SetChannel(ich);
		  pmdddldata->SetRow(irow);
		  pmdddldata->SetColumn(icol);
		  pmdddldata->SetSignal(isig);
		  pmdddldata->SetParityBit(ibit);
		  
		  pmdddlcont->Add(pmdddldata);

		} // data word loop


	      if (iwordddl == totaldataword) break;

	      if (dspHeader.GetPaddingWord() == 1)
	      {
		  if (iworddsp == dspRawDataLength-1) break; // raw data
	      }
	      else
	      {
		  if (iworddsp == dspRawDataLength) break; // raw data
	      }


	    } // patch bus loop

//SKP added break next line (Reqd. if only one patch Bus)
	  if (iwordddl == totaldataword) break;

	  if (dspHeader.GetPaddingWord() == 1)
	  {
	      iwordddl++;
	      iwordblk++;
	      iworddsp++;
	      data = GetNextWord();
	  }
	  if (iwordddl == totaldataword) break;

	  if (iwordblk == blRawDataLength) break; // for raw data


	} // end of DSP
//SKP added break next line (Reqd. if only one patch Bus)
	  if (iwordddl == totaldataword) break;

    } // end of BLOCK
 
 return iddl;
}
//_____________________________________________________________________________
void AliPMDRawStream::GetRowCol(Int_t imodule, Int_t pbusid,
				UInt_t mcmno, UInt_t chno,
				Int_t startRowBus[], Int_t endRowBus[],
				Int_t startColBus[], Int_t endColBus[],
				Int_t &row, Int_t &col) const
{
  // decode: ddlno, patchbusid, mcmno, chno -> um, row, col

  UInt_t iCh[64];

  static const UInt_t kChDdl01[64] = { 9, 6, 5, 10, 1, 2, 0, 3,
				       13, 7, 4, 11, 8, 14, 12, 15,
				       16, 19, 17, 23, 20, 27, 24, 18,
				       28, 31, 29, 30, 21, 26, 25, 22,
				       41, 38, 37, 42, 33, 34, 32, 35,
				       45, 39, 36, 43, 40, 46, 44, 47,
				       48, 51, 49, 55, 52, 59, 56, 50,
				       60, 63, 61, 62, 53, 58, 57, 54 };
    
  static const UInt_t kChDdl23[64] = { 54, 57, 58, 53, 62, 61, 63, 60,
				       50, 56, 59, 52, 55, 49, 51, 48,
				       47, 44, 46, 40, 43, 36, 39, 45,
				       35, 32, 34, 33, 42, 37, 38, 41,
				       22, 25, 26, 21, 30, 29, 31, 28,
				       18, 24, 27, 20, 23, 17, 19, 16,
				       15, 12, 14, 8, 11, 4, 7, 13,
				       3, 0, 2, 1, 10, 5, 6, 9 };
  
  static const UInt_t kChDdl41[64] = { 53, 58, 57, 54, 61, 62, 60, 63,
				       49, 59, 56, 55, 52, 50, 48, 51,
				       44, 47, 45, 43, 40, 39, 36, 46,
				       32, 35, 33, 34, 41, 38, 37, 42,
				       21, 26, 25, 22, 29, 30, 28, 31,
				       17, 27, 24, 23, 20, 18, 16, 19,
				       12, 15, 13, 11, 8, 7, 4, 14,
				       0, 3, 1, 2, 9, 6, 5, 10 };
  
  static const UInt_t kChDdl42[64] = { 10, 5, 6, 9, 2, 1, 3, 0,
				       14, 4, 7, 8, 11, 13, 15, 12,
				       19, 16, 18, 20, 23, 24, 27, 17,
				       31, 28, 30, 29, 22, 25, 26, 21,
				       42, 37, 38, 41, 34, 33, 35, 32,
				       46, 36, 39, 40, 43, 45, 47, 44,
				       51, 48, 50, 52, 55, 56, 59, 49,
				       63, 60, 62, 61, 54, 57, 58, 53 };
  
  static const UInt_t kChDdl51[64] = { 10, 5, 6, 9, 2, 1, 3, 0,
				       14, 4, 7, 8, 11, 13, 15, 12,
				       19, 16, 18, 20, 23, 24, 27, 17,
				       31, 28, 30, 29, 22, 25, 26, 21,
				       42, 37, 38, 41, 34, 33, 35, 32,
				       46, 36, 39, 40, 43, 45, 47, 44,
				       51, 48, 50, 52, 55, 56, 59, 49,
				       63, 60, 62, 61, 54, 57, 58, 53 };
  
  static const UInt_t kChDdl52[64] = { 53, 58, 57, 54, 61, 62, 60, 63,
				       49, 59, 56, 55, 52, 50, 48, 51,
				       44, 47, 45, 43, 40, 39, 36, 46,
				       32, 35, 33, 34, 41, 38, 37, 42,
				       21, 26, 25, 22, 29, 30, 28, 31,
				       17, 27, 24, 23, 20, 18, 16, 19,
				       12, 15, 13, 11, 8, 7, 4, 14,
				       0, 3, 1, 2, 9, 6, 5, 10 };
  
  for (Int_t i = 0; i < 64; i++)
    {
      if(imodule < 6)                    iCh[i] = kChDdl01[i];
      if(imodule >= 6 && imodule <= 11)  iCh[i] = kChDdl01[i];
      if(imodule >= 12 && imodule <= 17) iCh[i] = kChDdl23[i];
      if(imodule >= 18 && imodule <= 23) iCh[i] = kChDdl23[i];
      if(imodule >= 24 && imodule <= 29) iCh[i] = kChDdl41[i];
      if(imodule >= 42 && imodule <= 47) iCh[i] = kChDdl42[i];
      if(imodule >= 36 && imodule <= 41) iCh[i] = kChDdl51[i];
      if(imodule >= 30 && imodule <= 35) iCh[i] = kChDdl52[i];
    }
  
  
  Int_t rowcol  = iCh[chno];
  Int_t irownew = rowcol/4;
  Int_t icolnew = rowcol%4;


  if (imodule < 6 )
    {
      row = startRowBus[pbusid] + irownew;
      col = startColBus[pbusid] + (mcmno-1)*4 + icolnew;
    }
  else if (imodule >= 6 && imodule < 12)
    {
      row = endRowBus[pbusid] - (15 - irownew);
      col = startColBus[pbusid] + (mcmno-1)*4 + icolnew;
      
    }
  else if (imodule >= 12 && imodule < 18 )
    {
      row = startRowBus[pbusid] + irownew;
      col = endColBus[pbusid] - (mcmno-1)*4 - (3 - icolnew);
    }
  else if (imodule >= 18 && imodule < 24)
    {
      row = endRowBus[pbusid] - (15 - irownew);
      col = endColBus[pbusid] - (mcmno-1)*4 - (3 - icolnew);
    }
  else if (imodule >= 24 && imodule < 30)
    {
      Int_t rowdiff = endRowBus[pbusid] - startRowBus[pbusid];
      if(rowdiff > 16)
	{
	  if (mcmno <= 12)
	    {
	      // Add 16 to skip the 1st 15 rows
	      row = startRowBus[pbusid] + irownew + 16;
	      col = startColBus[pbusid] + (mcmno-1)*4 + icolnew;
	    }
	  else if(mcmno > 12)
	    {
	      row = startRowBus[pbusid] + irownew;
	      col = startColBus[pbusid] + (mcmno-12-1)*4 + icolnew;
	    }
	}
      else if (rowdiff < 16)
	{
	  row = startRowBus[pbusid] + irownew;
	  col = startColBus[pbusid] + (mcmno-1)*4 + icolnew;
	}
    }
  else if (imodule >= 42 && imodule < 48)
    {
      Int_t rowdiff = endRowBus[pbusid] - startRowBus[pbusid];

      if (mcmno <= 12)
	{
	  col = endColBus[pbusid] - (mcmno-1)*4 - (3 - icolnew); 
	  
	  if(rowdiff > 16)
	    row = endRowBus[pbusid] - (15 - irownew) - 16 ;
	  else
	    row = endRowBus[pbusid] - (15 - irownew) ;
	}
      else if(mcmno > 12)
	{
	  row = endRowBus[pbusid] - (15 - irownew)  ;
	  col = endColBus[pbusid] - (mcmno - 12 - 1)*4 - (3 - icolnew);
	}
    }



  else if (imodule >= 30 && imodule < 36)
    {
      if (mcmno > 12)
	{
	  // Subtract 16 to skip the 1st 15 rows
	  row = endRowBus[pbusid] - 16 -(15 - irownew);
	  col = startColBus[pbusid] + (mcmno-12 -1)*4 + icolnew;
	}
      else
	{
	  row = endRowBus[pbusid]  - (15 - irownew) ;
	  col = startColBus[pbusid] + (mcmno -1)*4 + icolnew;
	}

    }
      
  else if (imodule >= 36 && imodule < 42)
    {
      if(mcmno > 12)
	{
	  // Add 16 to skip the 1st 15 rows
	  row = startRowBus[pbusid] + irownew + 16;
	  col = endColBus[pbusid] - (mcmno - 12 - 1)*4 - (3 - icolnew);
	}
      else 
	{
	  row = startRowBus[pbusid] + irownew ;
	  col = endColBus[pbusid] - (mcmno - 1)*4 - (3 - icolnew); 
	}
    }


}
//_____________________________________________________________________________
void AliPMDRawStream::ConvertDDL2SMN(Int_t iddl, Int_t imodule,
				     Int_t &smn, Int_t &detector) const
{
  // This converts the DDL number (0 to 5), Module Number (0-47)
  // to Serial module number in one detector (SMN : 0-23) and
  // detector number (0:PRE plane, 1:CPV plane)
  if (iddl < 4)
    {
      smn = imodule;
      detector = 0;
    }
  else
    {
      smn = imodule - 24;
      detector = 1;
    }
}
//_____________________________________________________________________________

void AliPMDRawStream::TransformH2S(Int_t smn, Int_t &row, Int_t &col) const
{
  // This does the transformation of the hardware coordinate to
  // software 
  // i.e., For SuperModule 0 &1, instead of 96x48(hardware),
  // it is 48x96 (software)
  // For Supermodule 3 & 4, 48x96

  Int_t irownew  = 0;
  Int_t icolnew  = 0;

  if(smn < 12)
    {
      irownew = col;
      icolnew = row;
    }
  else if(smn >= 12 && smn < 24)
    {
      irownew = row;
      icolnew = col;
    }

  row = irownew;
  col = icolnew;
}
//_____________________________________________________________________________
Int_t AliPMDRawStream::ComputeParity(UInt_t data)
{
// Calculate the parity bit

  Int_t count = 0;
  for(Int_t j = 0; j<29; j++)
    {
      if (data & 0x01 ) count++;
      data >>= 1;
    }
  
  Int_t parity = count%2;

  return parity;
}

//_____________________________________________________________________________
UInt_t AliPMDRawStream::GetNextWord()
{
    // Returns the next 32 bit word
    // inside the raw data payload.

    if (!fData || fPosition < 0) AliFatal("Raw data payload buffer is not yet initialized !");

    UInt_t word = 0;
    word |= fData[fPosition++];
    word |= fData[fPosition++] << 8;
    word |= fData[fPosition++] << 16;
    word |= fData[fPosition++] << 24;

    return word;
}

//_____________________________________________________________________________
void AliPMDRawStream::Ddl0Mapping(Int_t moduleNo[],    Int_t mcmperBus[],
				  Int_t startRowBus[], Int_t endRowBus[],
				  Int_t startColBus[], Int_t endColBus[])
{
  // DDL0 Mapping 

  Int_t iddl = 0;

  for(Int_t ibus = 1; ibus < 51; ibus++)
    {
      moduleNo[ibus]     = fMapData->GetModuleNo(iddl,ibus);
      mcmperBus[ibus]    = fMapData->GetMcmperBus(iddl,ibus);
      startRowBus[ibus]  = fMapData->GetStartRowBus(iddl,ibus);
      startColBus[ibus]  = fMapData->GetStartColBus(iddl,ibus);
      endRowBus[ibus]    = fMapData->GetEndRowBus(iddl,ibus);
      endColBus[ibus]    = fMapData->GetEndColBus(iddl,ibus);
    }

}

//_____________________________________________________________________________
void AliPMDRawStream::Ddl1Mapping(Int_t moduleNo[],    Int_t mcmperBus[],
				  Int_t startRowBus[], Int_t endRowBus[],
				  Int_t startColBus[], Int_t endColBus[])
{
  // DDL1 Mapping 

  Int_t iddl = 1;

  for(Int_t ibus = 1; ibus < 51; ibus++)
    {
      moduleNo[ibus]     = fMapData->GetModuleNo(iddl,ibus);
      mcmperBus[ibus]    = fMapData->GetMcmperBus(iddl,ibus);
      startRowBus[ibus]  = fMapData->GetStartRowBus(iddl,ibus);
      startColBus[ibus]  = fMapData->GetStartColBus(iddl,ibus);
      endRowBus[ibus]    = fMapData->GetEndRowBus(iddl,ibus);
      endColBus[ibus]    = fMapData->GetEndColBus(iddl,ibus);
	  
    }


}

//_____________________________________________________________________________
void AliPMDRawStream::Ddl2Mapping(Int_t moduleNo[],    Int_t mcmperBus[],
				  Int_t startRowBus[], Int_t endRowBus[],
				  Int_t startColBus[], Int_t endColBus[])
{
  // DDL2 Mapping 

  Int_t iddl = 2;

  for(Int_t ibus = 1; ibus < 51; ibus++)
    {
      moduleNo[ibus]     = fMapData->GetModuleNo(iddl,ibus);
      mcmperBus[ibus]    = fMapData->GetMcmperBus(iddl,ibus);
      startRowBus[ibus]  = fMapData->GetStartRowBus(iddl,ibus);
      startColBus[ibus]  = fMapData->GetStartColBus(iddl,ibus);
      endRowBus[ibus]    = fMapData->GetEndRowBus(iddl,ibus);
      endColBus[ibus]    = fMapData->GetEndColBus(iddl,ibus);
	  
    }

}

//_____________________________________________________________________________
void AliPMDRawStream::Ddl3Mapping(Int_t moduleNo[],    Int_t mcmperBus[],
				  Int_t startRowBus[], Int_t endRowBus[],
				  Int_t startColBus[], Int_t endColBus[])
{
  // DDL3 Mapping 

  Int_t iddl = 3;

  for(Int_t ibus = 1; ibus < 51; ibus++)
    {
      moduleNo[ibus]     = fMapData->GetModuleNo(iddl,ibus);
      mcmperBus[ibus]    = fMapData->GetMcmperBus(iddl,ibus);
      startRowBus[ibus]  = fMapData->GetStartRowBus(iddl,ibus);
      startColBus[ibus]  = fMapData->GetStartColBus(iddl,ibus);
      endRowBus[ibus]    = fMapData->GetEndRowBus(iddl,ibus);
      endColBus[ibus]    = fMapData->GetEndColBus(iddl,ibus);
	  
    }

}

//_____________________________________________________________________________
void AliPMDRawStream::Ddl4Mapping(Int_t moduleNo[],    Int_t mcmperBus[],
				  Int_t startRowBus[], Int_t endRowBus[],
				  Int_t startColBus[], Int_t endColBus[])
{
  // DDL4 Mapping 

  Int_t iddl = 4;

  for(Int_t ibus = 1; ibus < 51; ibus++)
    {
      moduleNo[ibus]     = fMapData->GetModuleNo(iddl,ibus);
      mcmperBus[ibus]    = fMapData->GetMcmperBus(iddl,ibus);
      startRowBus[ibus]  = fMapData->GetStartRowBus(iddl,ibus);
      startColBus[ibus]  = fMapData->GetStartColBus(iddl,ibus);
      endRowBus[ibus]    = fMapData->GetEndRowBus(iddl,ibus);
      endColBus[ibus]    = fMapData->GetEndColBus(iddl,ibus);
	  
    }

  
}

//_____________________________________________________________________________
void AliPMDRawStream::Ddl5Mapping(Int_t moduleNo[],    Int_t mcmperBus[],
				  Int_t startRowBus[], Int_t endRowBus[],
				  Int_t startColBus[], Int_t endColBus[])
{
  // DDL5 Mapping 

  Int_t iddl = 5;

  for(Int_t ibus = 1; ibus < 51; ibus++)
    {
      moduleNo[ibus]     = fMapData->GetModuleNo(iddl,ibus);
      mcmperBus[ibus]    = fMapData->GetMcmperBus(iddl,ibus);
      startRowBus[ibus]  = fMapData->GetStartRowBus(iddl,ibus);
      startColBus[ibus]  = fMapData->GetStartColBus(iddl,ibus);
      endRowBus[ibus]    = fMapData->GetEndRowBus(iddl,ibus);
      endColBus[ibus]    = fMapData->GetEndColBus(iddl,ibus);
	  
    }

}
//_____________________________________________________________________________

AliPMDMappingData* AliPMDRawStream::GetMappingData() const
{
  // Fetching the mapping data from CDB

  AliCDBEntry  *entry = AliCDBManager::Instance()->Get("PMD/Calib/Mapping");
  
  if(!entry) AliFatal("Mapping object retrieval failed!");
  
  AliPMDMappingData *mapdata=0;
  if (entry) mapdata = (AliPMDMappingData*) entry->GetObject();
  
  if (!mapdata)  AliFatal("No Mapping data from CDB !");
  
  return mapdata;
}



//_____________________________________________________________________________

 AliPMDRawStream.cxx:1
 AliPMDRawStream.cxx:2
 AliPMDRawStream.cxx:3
 AliPMDRawStream.cxx:4
 AliPMDRawStream.cxx:5
 AliPMDRawStream.cxx:6
 AliPMDRawStream.cxx:7
 AliPMDRawStream.cxx:8
 AliPMDRawStream.cxx:9
 AliPMDRawStream.cxx:10
 AliPMDRawStream.cxx:11
 AliPMDRawStream.cxx:12
 AliPMDRawStream.cxx:13
 AliPMDRawStream.cxx:14
 AliPMDRawStream.cxx:15
 AliPMDRawStream.cxx:16
 AliPMDRawStream.cxx:17
 AliPMDRawStream.cxx:18
 AliPMDRawStream.cxx:19
 AliPMDRawStream.cxx:20
 AliPMDRawStream.cxx:21
 AliPMDRawStream.cxx:22
 AliPMDRawStream.cxx:23
 AliPMDRawStream.cxx:24
 AliPMDRawStream.cxx:25
 AliPMDRawStream.cxx:26
 AliPMDRawStream.cxx:27
 AliPMDRawStream.cxx:28
 AliPMDRawStream.cxx:29
 AliPMDRawStream.cxx:30
 AliPMDRawStream.cxx:31
 AliPMDRawStream.cxx:32
 AliPMDRawStream.cxx:33
 AliPMDRawStream.cxx:34
 AliPMDRawStream.cxx:35
 AliPMDRawStream.cxx:36
 AliPMDRawStream.cxx:37
 AliPMDRawStream.cxx:38
 AliPMDRawStream.cxx:39
 AliPMDRawStream.cxx:40
 AliPMDRawStream.cxx:41
 AliPMDRawStream.cxx:42
 AliPMDRawStream.cxx:43
 AliPMDRawStream.cxx:44
 AliPMDRawStream.cxx:45
 AliPMDRawStream.cxx:46
 AliPMDRawStream.cxx:47
 AliPMDRawStream.cxx:48
 AliPMDRawStream.cxx:49
 AliPMDRawStream.cxx:50
 AliPMDRawStream.cxx:51
 AliPMDRawStream.cxx:52
 AliPMDRawStream.cxx:53
 AliPMDRawStream.cxx:54
 AliPMDRawStream.cxx:55
 AliPMDRawStream.cxx:56
 AliPMDRawStream.cxx:57
 AliPMDRawStream.cxx:58
 AliPMDRawStream.cxx:59
 AliPMDRawStream.cxx:60
 AliPMDRawStream.cxx:61
 AliPMDRawStream.cxx:62
 AliPMDRawStream.cxx:63
 AliPMDRawStream.cxx:64
 AliPMDRawStream.cxx:65
 AliPMDRawStream.cxx:66
 AliPMDRawStream.cxx:67
 AliPMDRawStream.cxx:68
 AliPMDRawStream.cxx:69
 AliPMDRawStream.cxx:70
 AliPMDRawStream.cxx:71
 AliPMDRawStream.cxx:72
 AliPMDRawStream.cxx:73
 AliPMDRawStream.cxx:74
 AliPMDRawStream.cxx:75
 AliPMDRawStream.cxx:76
 AliPMDRawStream.cxx:77
 AliPMDRawStream.cxx:78
 AliPMDRawStream.cxx:79
 AliPMDRawStream.cxx:80
 AliPMDRawStream.cxx:81
 AliPMDRawStream.cxx:82
 AliPMDRawStream.cxx:83
 AliPMDRawStream.cxx:84
 AliPMDRawStream.cxx:85
 AliPMDRawStream.cxx:86
 AliPMDRawStream.cxx:87
 AliPMDRawStream.cxx:88
 AliPMDRawStream.cxx:89
 AliPMDRawStream.cxx:90
 AliPMDRawStream.cxx:91
 AliPMDRawStream.cxx:92
 AliPMDRawStream.cxx:93
 AliPMDRawStream.cxx:94
 AliPMDRawStream.cxx:95
 AliPMDRawStream.cxx:96
 AliPMDRawStream.cxx:97
 AliPMDRawStream.cxx:98
 AliPMDRawStream.cxx:99
 AliPMDRawStream.cxx:100
 AliPMDRawStream.cxx:101
 AliPMDRawStream.cxx:102
 AliPMDRawStream.cxx:103
 AliPMDRawStream.cxx:104
 AliPMDRawStream.cxx:105
 AliPMDRawStream.cxx:106
 AliPMDRawStream.cxx:107
 AliPMDRawStream.cxx:108
 AliPMDRawStream.cxx:109
 AliPMDRawStream.cxx:110
 AliPMDRawStream.cxx:111
 AliPMDRawStream.cxx:112
 AliPMDRawStream.cxx:113
 AliPMDRawStream.cxx:114
 AliPMDRawStream.cxx:115
 AliPMDRawStream.cxx:116
 AliPMDRawStream.cxx:117
 AliPMDRawStream.cxx:118
 AliPMDRawStream.cxx:119
 AliPMDRawStream.cxx:120
 AliPMDRawStream.cxx:121
 AliPMDRawStream.cxx:122
 AliPMDRawStream.cxx:123
 AliPMDRawStream.cxx:124
 AliPMDRawStream.cxx:125
 AliPMDRawStream.cxx:126
 AliPMDRawStream.cxx:127
 AliPMDRawStream.cxx:128
 AliPMDRawStream.cxx:129
 AliPMDRawStream.cxx:130
 AliPMDRawStream.cxx:131
 AliPMDRawStream.cxx:132
 AliPMDRawStream.cxx:133
 AliPMDRawStream.cxx:134
 AliPMDRawStream.cxx:135
 AliPMDRawStream.cxx:136
 AliPMDRawStream.cxx:137
 AliPMDRawStream.cxx:138
 AliPMDRawStream.cxx:139
 AliPMDRawStream.cxx:140
 AliPMDRawStream.cxx:141
 AliPMDRawStream.cxx:142
 AliPMDRawStream.cxx:143
 AliPMDRawStream.cxx:144
 AliPMDRawStream.cxx:145
 AliPMDRawStream.cxx:146
 AliPMDRawStream.cxx:147
 AliPMDRawStream.cxx:148
 AliPMDRawStream.cxx:149
 AliPMDRawStream.cxx:150
 AliPMDRawStream.cxx:151
 AliPMDRawStream.cxx:152
 AliPMDRawStream.cxx:153
 AliPMDRawStream.cxx:154
 AliPMDRawStream.cxx:155
 AliPMDRawStream.cxx:156
 AliPMDRawStream.cxx:157
 AliPMDRawStream.cxx:158
 AliPMDRawStream.cxx:159
 AliPMDRawStream.cxx:160
 AliPMDRawStream.cxx:161
 AliPMDRawStream.cxx:162
 AliPMDRawStream.cxx:163
 AliPMDRawStream.cxx:164
 AliPMDRawStream.cxx:165
 AliPMDRawStream.cxx:166
 AliPMDRawStream.cxx:167
 AliPMDRawStream.cxx:168
 AliPMDRawStream.cxx:169
 AliPMDRawStream.cxx:170
 AliPMDRawStream.cxx:171
 AliPMDRawStream.cxx:172
 AliPMDRawStream.cxx:173
 AliPMDRawStream.cxx:174
 AliPMDRawStream.cxx:175
 AliPMDRawStream.cxx:176
 AliPMDRawStream.cxx:177
 AliPMDRawStream.cxx:178
 AliPMDRawStream.cxx:179
 AliPMDRawStream.cxx:180
 AliPMDRawStream.cxx:181
 AliPMDRawStream.cxx:182
 AliPMDRawStream.cxx:183
 AliPMDRawStream.cxx:184
 AliPMDRawStream.cxx:185
 AliPMDRawStream.cxx:186
 AliPMDRawStream.cxx:187
 AliPMDRawStream.cxx:188
 AliPMDRawStream.cxx:189
 AliPMDRawStream.cxx:190
 AliPMDRawStream.cxx:191
 AliPMDRawStream.cxx:192
 AliPMDRawStream.cxx:193
 AliPMDRawStream.cxx:194
 AliPMDRawStream.cxx:195
 AliPMDRawStream.cxx:196
 AliPMDRawStream.cxx:197
 AliPMDRawStream.cxx:198
 AliPMDRawStream.cxx:199
 AliPMDRawStream.cxx:200
 AliPMDRawStream.cxx:201
 AliPMDRawStream.cxx:202
 AliPMDRawStream.cxx:203
 AliPMDRawStream.cxx:204
 AliPMDRawStream.cxx:205
 AliPMDRawStream.cxx:206
 AliPMDRawStream.cxx:207
 AliPMDRawStream.cxx:208
 AliPMDRawStream.cxx:209
 AliPMDRawStream.cxx:210
 AliPMDRawStream.cxx:211
 AliPMDRawStream.cxx:212
 AliPMDRawStream.cxx:213
 AliPMDRawStream.cxx:214
 AliPMDRawStream.cxx:215
 AliPMDRawStream.cxx:216
 AliPMDRawStream.cxx:217
 AliPMDRawStream.cxx:218
 AliPMDRawStream.cxx:219
 AliPMDRawStream.cxx:220
 AliPMDRawStream.cxx:221
 AliPMDRawStream.cxx:222
 AliPMDRawStream.cxx:223
 AliPMDRawStream.cxx:224
 AliPMDRawStream.cxx:225
 AliPMDRawStream.cxx:226
 AliPMDRawStream.cxx:227
 AliPMDRawStream.cxx:228
 AliPMDRawStream.cxx:229
 AliPMDRawStream.cxx:230
 AliPMDRawStream.cxx:231
 AliPMDRawStream.cxx:232
 AliPMDRawStream.cxx:233
 AliPMDRawStream.cxx:234
 AliPMDRawStream.cxx:235
 AliPMDRawStream.cxx:236
 AliPMDRawStream.cxx:237
 AliPMDRawStream.cxx:238
 AliPMDRawStream.cxx:239
 AliPMDRawStream.cxx:240
 AliPMDRawStream.cxx:241
 AliPMDRawStream.cxx:242
 AliPMDRawStream.cxx:243
 AliPMDRawStream.cxx:244
 AliPMDRawStream.cxx:245
 AliPMDRawStream.cxx:246
 AliPMDRawStream.cxx:247
 AliPMDRawStream.cxx:248
 AliPMDRawStream.cxx:249
 AliPMDRawStream.cxx:250
 AliPMDRawStream.cxx:251
 AliPMDRawStream.cxx:252
 AliPMDRawStream.cxx:253
 AliPMDRawStream.cxx:254
 AliPMDRawStream.cxx:255
 AliPMDRawStream.cxx:256
 AliPMDRawStream.cxx:257
 AliPMDRawStream.cxx:258
 AliPMDRawStream.cxx:259
 AliPMDRawStream.cxx:260
 AliPMDRawStream.cxx:261
 AliPMDRawStream.cxx:262
 AliPMDRawStream.cxx:263
 AliPMDRawStream.cxx:264
 AliPMDRawStream.cxx:265
 AliPMDRawStream.cxx:266
 AliPMDRawStream.cxx:267
 AliPMDRawStream.cxx:268
 AliPMDRawStream.cxx:269
 AliPMDRawStream.cxx:270
 AliPMDRawStream.cxx:271
 AliPMDRawStream.cxx:272
 AliPMDRawStream.cxx:273
 AliPMDRawStream.cxx:274
 AliPMDRawStream.cxx:275
 AliPMDRawStream.cxx:276
 AliPMDRawStream.cxx:277
 AliPMDRawStream.cxx:278
 AliPMDRawStream.cxx:279
 AliPMDRawStream.cxx:280
 AliPMDRawStream.cxx:281
 AliPMDRawStream.cxx:282
 AliPMDRawStream.cxx:283
 AliPMDRawStream.cxx:284
 AliPMDRawStream.cxx:285
 AliPMDRawStream.cxx:286
 AliPMDRawStream.cxx:287
 AliPMDRawStream.cxx:288
 AliPMDRawStream.cxx:289
 AliPMDRawStream.cxx:290
 AliPMDRawStream.cxx:291
 AliPMDRawStream.cxx:292
 AliPMDRawStream.cxx:293
 AliPMDRawStream.cxx:294
 AliPMDRawStream.cxx:295
 AliPMDRawStream.cxx:296
 AliPMDRawStream.cxx:297
 AliPMDRawStream.cxx:298
 AliPMDRawStream.cxx:299
 AliPMDRawStream.cxx:300
 AliPMDRawStream.cxx:301
 AliPMDRawStream.cxx:302
 AliPMDRawStream.cxx:303
 AliPMDRawStream.cxx:304
 AliPMDRawStream.cxx:305
 AliPMDRawStream.cxx:306
 AliPMDRawStream.cxx:307
 AliPMDRawStream.cxx:308
 AliPMDRawStream.cxx:309
 AliPMDRawStream.cxx:310
 AliPMDRawStream.cxx:311
 AliPMDRawStream.cxx:312
 AliPMDRawStream.cxx:313
 AliPMDRawStream.cxx:314
 AliPMDRawStream.cxx:315
 AliPMDRawStream.cxx:316
 AliPMDRawStream.cxx:317
 AliPMDRawStream.cxx:318
 AliPMDRawStream.cxx:319
 AliPMDRawStream.cxx:320
 AliPMDRawStream.cxx:321
 AliPMDRawStream.cxx:322
 AliPMDRawStream.cxx:323
 AliPMDRawStream.cxx:324
 AliPMDRawStream.cxx:325
 AliPMDRawStream.cxx:326
 AliPMDRawStream.cxx:327
 AliPMDRawStream.cxx:328
 AliPMDRawStream.cxx:329
 AliPMDRawStream.cxx:330
 AliPMDRawStream.cxx:331
 AliPMDRawStream.cxx:332
 AliPMDRawStream.cxx:333
 AliPMDRawStream.cxx:334
 AliPMDRawStream.cxx:335
 AliPMDRawStream.cxx:336
 AliPMDRawStream.cxx:337
 AliPMDRawStream.cxx:338
 AliPMDRawStream.cxx:339
 AliPMDRawStream.cxx:340
 AliPMDRawStream.cxx:341
 AliPMDRawStream.cxx:342
 AliPMDRawStream.cxx:343
 AliPMDRawStream.cxx:344
 AliPMDRawStream.cxx:345
 AliPMDRawStream.cxx:346
 AliPMDRawStream.cxx:347
 AliPMDRawStream.cxx:348
 AliPMDRawStream.cxx:349
 AliPMDRawStream.cxx:350
 AliPMDRawStream.cxx:351
 AliPMDRawStream.cxx:352
 AliPMDRawStream.cxx:353
 AliPMDRawStream.cxx:354
 AliPMDRawStream.cxx:355
 AliPMDRawStream.cxx:356
 AliPMDRawStream.cxx:357
 AliPMDRawStream.cxx:358
 AliPMDRawStream.cxx:359
 AliPMDRawStream.cxx:360
 AliPMDRawStream.cxx:361
 AliPMDRawStream.cxx:362
 AliPMDRawStream.cxx:363
 AliPMDRawStream.cxx:364
 AliPMDRawStream.cxx:365
 AliPMDRawStream.cxx:366
 AliPMDRawStream.cxx:367
 AliPMDRawStream.cxx:368
 AliPMDRawStream.cxx:369
 AliPMDRawStream.cxx:370
 AliPMDRawStream.cxx:371
 AliPMDRawStream.cxx:372
 AliPMDRawStream.cxx:373
 AliPMDRawStream.cxx:374
 AliPMDRawStream.cxx:375
 AliPMDRawStream.cxx:376
 AliPMDRawStream.cxx:377
 AliPMDRawStream.cxx:378
 AliPMDRawStream.cxx:379
 AliPMDRawStream.cxx:380
 AliPMDRawStream.cxx:381
 AliPMDRawStream.cxx:382
 AliPMDRawStream.cxx:383
 AliPMDRawStream.cxx:384
 AliPMDRawStream.cxx:385
 AliPMDRawStream.cxx:386
 AliPMDRawStream.cxx:387
 AliPMDRawStream.cxx:388
 AliPMDRawStream.cxx:389
 AliPMDRawStream.cxx:390
 AliPMDRawStream.cxx:391
 AliPMDRawStream.cxx:392
 AliPMDRawStream.cxx:393
 AliPMDRawStream.cxx:394
 AliPMDRawStream.cxx:395
 AliPMDRawStream.cxx:396
 AliPMDRawStream.cxx:397
 AliPMDRawStream.cxx:398
 AliPMDRawStream.cxx:399
 AliPMDRawStream.cxx:400
 AliPMDRawStream.cxx:401
 AliPMDRawStream.cxx:402
 AliPMDRawStream.cxx:403
 AliPMDRawStream.cxx:404
 AliPMDRawStream.cxx:405
 AliPMDRawStream.cxx:406
 AliPMDRawStream.cxx:407
 AliPMDRawStream.cxx:408
 AliPMDRawStream.cxx:409
 AliPMDRawStream.cxx:410
 AliPMDRawStream.cxx:411
 AliPMDRawStream.cxx:412
 AliPMDRawStream.cxx:413
 AliPMDRawStream.cxx:414
 AliPMDRawStream.cxx:415
 AliPMDRawStream.cxx:416
 AliPMDRawStream.cxx:417
 AliPMDRawStream.cxx:418
 AliPMDRawStream.cxx:419
 AliPMDRawStream.cxx:420
 AliPMDRawStream.cxx:421
 AliPMDRawStream.cxx:422
 AliPMDRawStream.cxx:423
 AliPMDRawStream.cxx:424
 AliPMDRawStream.cxx:425
 AliPMDRawStream.cxx:426
 AliPMDRawStream.cxx:427
 AliPMDRawStream.cxx:428
 AliPMDRawStream.cxx:429
 AliPMDRawStream.cxx:430
 AliPMDRawStream.cxx:431
 AliPMDRawStream.cxx:432
 AliPMDRawStream.cxx:433
 AliPMDRawStream.cxx:434
 AliPMDRawStream.cxx:435
 AliPMDRawStream.cxx:436
 AliPMDRawStream.cxx:437
 AliPMDRawStream.cxx:438
 AliPMDRawStream.cxx:439
 AliPMDRawStream.cxx:440
 AliPMDRawStream.cxx:441
 AliPMDRawStream.cxx:442
 AliPMDRawStream.cxx:443
 AliPMDRawStream.cxx:444
 AliPMDRawStream.cxx:445
 AliPMDRawStream.cxx:446
 AliPMDRawStream.cxx:447
 AliPMDRawStream.cxx:448
 AliPMDRawStream.cxx:449
 AliPMDRawStream.cxx:450
 AliPMDRawStream.cxx:451
 AliPMDRawStream.cxx:452
 AliPMDRawStream.cxx:453
 AliPMDRawStream.cxx:454
 AliPMDRawStream.cxx:455
 AliPMDRawStream.cxx:456
 AliPMDRawStream.cxx:457
 AliPMDRawStream.cxx:458
 AliPMDRawStream.cxx:459
 AliPMDRawStream.cxx:460
 AliPMDRawStream.cxx:461
 AliPMDRawStream.cxx:462
 AliPMDRawStream.cxx:463
 AliPMDRawStream.cxx:464
 AliPMDRawStream.cxx:465
 AliPMDRawStream.cxx:466
 AliPMDRawStream.cxx:467
 AliPMDRawStream.cxx:468
 AliPMDRawStream.cxx:469
 AliPMDRawStream.cxx:470
 AliPMDRawStream.cxx:471
 AliPMDRawStream.cxx:472
 AliPMDRawStream.cxx:473
 AliPMDRawStream.cxx:474
 AliPMDRawStream.cxx:475
 AliPMDRawStream.cxx:476
 AliPMDRawStream.cxx:477
 AliPMDRawStream.cxx:478
 AliPMDRawStream.cxx:479
 AliPMDRawStream.cxx:480
 AliPMDRawStream.cxx:481
 AliPMDRawStream.cxx:482
 AliPMDRawStream.cxx:483
 AliPMDRawStream.cxx:484
 AliPMDRawStream.cxx:485
 AliPMDRawStream.cxx:486
 AliPMDRawStream.cxx:487
 AliPMDRawStream.cxx:488
 AliPMDRawStream.cxx:489
 AliPMDRawStream.cxx:490
 AliPMDRawStream.cxx:491
 AliPMDRawStream.cxx:492
 AliPMDRawStream.cxx:493
 AliPMDRawStream.cxx:494
 AliPMDRawStream.cxx:495
 AliPMDRawStream.cxx:496
 AliPMDRawStream.cxx:497
 AliPMDRawStream.cxx:498
 AliPMDRawStream.cxx:499
 AliPMDRawStream.cxx:500
 AliPMDRawStream.cxx:501
 AliPMDRawStream.cxx:502
 AliPMDRawStream.cxx:503
 AliPMDRawStream.cxx:504
 AliPMDRawStream.cxx:505
 AliPMDRawStream.cxx:506
 AliPMDRawStream.cxx:507
 AliPMDRawStream.cxx:508
 AliPMDRawStream.cxx:509
 AliPMDRawStream.cxx:510
 AliPMDRawStream.cxx:511
 AliPMDRawStream.cxx:512
 AliPMDRawStream.cxx:513
 AliPMDRawStream.cxx:514
 AliPMDRawStream.cxx:515
 AliPMDRawStream.cxx:516
 AliPMDRawStream.cxx:517
 AliPMDRawStream.cxx:518
 AliPMDRawStream.cxx:519
 AliPMDRawStream.cxx:520
 AliPMDRawStream.cxx:521
 AliPMDRawStream.cxx:522
 AliPMDRawStream.cxx:523
 AliPMDRawStream.cxx:524
 AliPMDRawStream.cxx:525
 AliPMDRawStream.cxx:526
 AliPMDRawStream.cxx:527
 AliPMDRawStream.cxx:528
 AliPMDRawStream.cxx:529
 AliPMDRawStream.cxx:530
 AliPMDRawStream.cxx:531
 AliPMDRawStream.cxx:532
 AliPMDRawStream.cxx:533
 AliPMDRawStream.cxx:534
 AliPMDRawStream.cxx:535
 AliPMDRawStream.cxx:536
 AliPMDRawStream.cxx:537
 AliPMDRawStream.cxx:538
 AliPMDRawStream.cxx:539
 AliPMDRawStream.cxx:540
 AliPMDRawStream.cxx:541
 AliPMDRawStream.cxx:542
 AliPMDRawStream.cxx:543
 AliPMDRawStream.cxx:544
 AliPMDRawStream.cxx:545
 AliPMDRawStream.cxx:546
 AliPMDRawStream.cxx:547
 AliPMDRawStream.cxx:548
 AliPMDRawStream.cxx:549
 AliPMDRawStream.cxx:550
 AliPMDRawStream.cxx:551
 AliPMDRawStream.cxx:552
 AliPMDRawStream.cxx:553
 AliPMDRawStream.cxx:554
 AliPMDRawStream.cxx:555
 AliPMDRawStream.cxx:556
 AliPMDRawStream.cxx:557
 AliPMDRawStream.cxx:558
 AliPMDRawStream.cxx:559
 AliPMDRawStream.cxx:560
 AliPMDRawStream.cxx:561
 AliPMDRawStream.cxx:562
 AliPMDRawStream.cxx:563
 AliPMDRawStream.cxx:564
 AliPMDRawStream.cxx:565
 AliPMDRawStream.cxx:566
 AliPMDRawStream.cxx:567
 AliPMDRawStream.cxx:568
 AliPMDRawStream.cxx:569
 AliPMDRawStream.cxx:570
 AliPMDRawStream.cxx:571
 AliPMDRawStream.cxx:572
 AliPMDRawStream.cxx:573
 AliPMDRawStream.cxx:574
 AliPMDRawStream.cxx:575
 AliPMDRawStream.cxx:576
 AliPMDRawStream.cxx:577
 AliPMDRawStream.cxx:578
 AliPMDRawStream.cxx:579
 AliPMDRawStream.cxx:580
 AliPMDRawStream.cxx:581
 AliPMDRawStream.cxx:582
 AliPMDRawStream.cxx:583
 AliPMDRawStream.cxx:584
 AliPMDRawStream.cxx:585
 AliPMDRawStream.cxx:586
 AliPMDRawStream.cxx:587
 AliPMDRawStream.cxx:588
 AliPMDRawStream.cxx:589
 AliPMDRawStream.cxx:590
 AliPMDRawStream.cxx:591
 AliPMDRawStream.cxx:592
 AliPMDRawStream.cxx:593
 AliPMDRawStream.cxx:594
 AliPMDRawStream.cxx:595
 AliPMDRawStream.cxx:596
 AliPMDRawStream.cxx:597
 AliPMDRawStream.cxx:598
 AliPMDRawStream.cxx:599
 AliPMDRawStream.cxx:600
 AliPMDRawStream.cxx:601
 AliPMDRawStream.cxx:602
 AliPMDRawStream.cxx:603
 AliPMDRawStream.cxx:604
 AliPMDRawStream.cxx:605
 AliPMDRawStream.cxx:606
 AliPMDRawStream.cxx:607
 AliPMDRawStream.cxx:608
 AliPMDRawStream.cxx:609
 AliPMDRawStream.cxx:610
 AliPMDRawStream.cxx:611
 AliPMDRawStream.cxx:612
 AliPMDRawStream.cxx:613
 AliPMDRawStream.cxx:614
 AliPMDRawStream.cxx:615
 AliPMDRawStream.cxx:616
 AliPMDRawStream.cxx:617
 AliPMDRawStream.cxx:618
 AliPMDRawStream.cxx:619
 AliPMDRawStream.cxx:620
 AliPMDRawStream.cxx:621
 AliPMDRawStream.cxx:622
 AliPMDRawStream.cxx:623
 AliPMDRawStream.cxx:624
 AliPMDRawStream.cxx:625
 AliPMDRawStream.cxx:626
 AliPMDRawStream.cxx:627
 AliPMDRawStream.cxx:628
 AliPMDRawStream.cxx:629
 AliPMDRawStream.cxx:630
 AliPMDRawStream.cxx:631
 AliPMDRawStream.cxx:632
 AliPMDRawStream.cxx:633
 AliPMDRawStream.cxx:634
 AliPMDRawStream.cxx:635
 AliPMDRawStream.cxx:636
 AliPMDRawStream.cxx:637
 AliPMDRawStream.cxx:638
 AliPMDRawStream.cxx:639
 AliPMDRawStream.cxx:640
 AliPMDRawStream.cxx:641
 AliPMDRawStream.cxx:642
 AliPMDRawStream.cxx:643
 AliPMDRawStream.cxx:644
 AliPMDRawStream.cxx:645
 AliPMDRawStream.cxx:646
 AliPMDRawStream.cxx:647
 AliPMDRawStream.cxx:648
 AliPMDRawStream.cxx:649
 AliPMDRawStream.cxx:650
 AliPMDRawStream.cxx:651
 AliPMDRawStream.cxx:652
 AliPMDRawStream.cxx:653
 AliPMDRawStream.cxx:654
 AliPMDRawStream.cxx:655
 AliPMDRawStream.cxx:656
 AliPMDRawStream.cxx:657
 AliPMDRawStream.cxx:658
 AliPMDRawStream.cxx:659
 AliPMDRawStream.cxx:660
 AliPMDRawStream.cxx:661
 AliPMDRawStream.cxx:662
 AliPMDRawStream.cxx:663
 AliPMDRawStream.cxx:664
 AliPMDRawStream.cxx:665
 AliPMDRawStream.cxx:666
 AliPMDRawStream.cxx:667
 AliPMDRawStream.cxx:668
 AliPMDRawStream.cxx:669
 AliPMDRawStream.cxx:670
 AliPMDRawStream.cxx:671
 AliPMDRawStream.cxx:672
 AliPMDRawStream.cxx:673
 AliPMDRawStream.cxx:674
 AliPMDRawStream.cxx:675
 AliPMDRawStream.cxx:676
 AliPMDRawStream.cxx:677
 AliPMDRawStream.cxx:678
 AliPMDRawStream.cxx:679
 AliPMDRawStream.cxx:680
 AliPMDRawStream.cxx:681
 AliPMDRawStream.cxx:682
 AliPMDRawStream.cxx:683
 AliPMDRawStream.cxx:684
 AliPMDRawStream.cxx:685
 AliPMDRawStream.cxx:686
 AliPMDRawStream.cxx:687
 AliPMDRawStream.cxx:688
 AliPMDRawStream.cxx:689
 AliPMDRawStream.cxx:690
 AliPMDRawStream.cxx:691
 AliPMDRawStream.cxx:692
 AliPMDRawStream.cxx:693
 AliPMDRawStream.cxx:694
 AliPMDRawStream.cxx:695
 AliPMDRawStream.cxx:696
 AliPMDRawStream.cxx:697
 AliPMDRawStream.cxx:698
 AliPMDRawStream.cxx:699
 AliPMDRawStream.cxx:700
 AliPMDRawStream.cxx:701
 AliPMDRawStream.cxx:702
 AliPMDRawStream.cxx:703
 AliPMDRawStream.cxx:704
 AliPMDRawStream.cxx:705
 AliPMDRawStream.cxx:706
 AliPMDRawStream.cxx:707
 AliPMDRawStream.cxx:708
 AliPMDRawStream.cxx:709
 AliPMDRawStream.cxx:710
 AliPMDRawStream.cxx:711
 AliPMDRawStream.cxx:712
 AliPMDRawStream.cxx:713
 AliPMDRawStream.cxx:714
 AliPMDRawStream.cxx:715
 AliPMDRawStream.cxx:716
 AliPMDRawStream.cxx:717
 AliPMDRawStream.cxx:718
 AliPMDRawStream.cxx:719
 AliPMDRawStream.cxx:720
 AliPMDRawStream.cxx:721
 AliPMDRawStream.cxx:722
 AliPMDRawStream.cxx:723
 AliPMDRawStream.cxx:724
 AliPMDRawStream.cxx:725
 AliPMDRawStream.cxx:726
 AliPMDRawStream.cxx:727
 AliPMDRawStream.cxx:728
 AliPMDRawStream.cxx:729
 AliPMDRawStream.cxx:730
 AliPMDRawStream.cxx:731
 AliPMDRawStream.cxx:732
 AliPMDRawStream.cxx:733
 AliPMDRawStream.cxx:734
 AliPMDRawStream.cxx:735
 AliPMDRawStream.cxx:736
 AliPMDRawStream.cxx:737
 AliPMDRawStream.cxx:738
 AliPMDRawStream.cxx:739
 AliPMDRawStream.cxx:740
 AliPMDRawStream.cxx:741
 AliPMDRawStream.cxx:742
 AliPMDRawStream.cxx:743
 AliPMDRawStream.cxx:744
 AliPMDRawStream.cxx:745
 AliPMDRawStream.cxx:746
 AliPMDRawStream.cxx:747
 AliPMDRawStream.cxx:748
 AliPMDRawStream.cxx:749
 AliPMDRawStream.cxx:750
 AliPMDRawStream.cxx:751
 AliPMDRawStream.cxx:752
 AliPMDRawStream.cxx:753
 AliPMDRawStream.cxx:754
 AliPMDRawStream.cxx:755