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

//-----------------------------------------------------//
//                                                     //
//           Date   : October 09 2006                  //
//       converts raw to sdigit and digit              //
//                                                     //
//-----------------------------------------------------//

#include <Riostream.h>
#include <TTree.h>
#include <TObjArray.h>
#include <TClonesArray.h>

#include "AliDAQ.h"
#include "AliLog.h"
#include "AliRunLoader.h"
#include "AliLoader.h"
#include "AliRawReader.h"

#include "AliPMDsdigit.h"
#include "AliPMDdigit.h"
#include "AliPMDRawToSDigits.h"
#include "AliPMDRawStream.h"
#include "AliPMDddldata.h"


ClassImp(AliPMDRawToSDigits)

AliPMDRawToSDigits::AliPMDRawToSDigits():
  fSDigits(new TClonesArray("AliPMDsdigit", 1000)),
  fDigits(new TClonesArray("AliPMDdigit", 1000)),
  fNsdigit(0),
  fNdigit(0)
{
  //
// Constructor
//

}
// ------------------------------------------------------------------------- //
AliPMDRawToSDigits::AliPMDRawToSDigits(const AliPMDRawToSDigits & /*pmdr2sd*/):
  TObject(/* pmdr2sd */),
  fSDigits(NULL),
  fDigits(NULL),
  fNsdigit(0),
  fNdigit(0)
{
  // copy constructor
  AliFatal("Copy constructor not implemented");
}
// ------------------------------------------------------------------------- //


AliPMDRawToSDigits &AliPMDRawToSDigits::operator=(const AliPMDRawToSDigits &/* pmdr2sd */)
{
  // assignment operator
  AliFatal("Assignment operator not implemented");
  return *this;
}

// ------------------------------------------------------------------------- //

AliPMDRawToSDigits::~AliPMDRawToSDigits()
{
  // Destructor
  if (fSDigits)
    {
      fSDigits->Delete();
      delete fSDigits;
      fSDigits=0;
    }
  if (fDigits)
    {
      fDigits->Delete();
      delete fDigits;
      fDigits=0;
    }

}
// ------------------------------------------------------------------------- //

void AliPMDRawToSDigits::Raw2SDigits(AliRunLoader *runLoader, AliRawReader *rawReader)
{
  // Converts RAW data to sdigits
  //
  TObjArray pmdddlcont;
  AliLoader *pmdLoader = runLoader->GetLoader("PMDLoader");
  
  TTree* treeS = pmdLoader->TreeS();
  if (treeS == 0x0)
    {
      pmdLoader->MakeTree("S");
      treeS = pmdLoader->TreeS();
    }
  Int_t bufsize = 16000;
  if (!fSDigits) fSDigits = new TClonesArray("AliPMDsdigit", 1000);
  treeS->Branch("PMDSDigit", &fSDigits, bufsize); 

//  const Int_t kDDL = AliDAQ::NumberOfDdls("PMD");
  const Int_t kRow = 48;
  const Int_t kCol = 96;
  const Int_t kSMN = 48;

  Int_t idet = 0;
  Int_t indexsmn = 0;
  Int_t ismn = 0;
  
  Int_t ***precpvADC;
  precpvADC = new int **[kSMN];
  for (Int_t i=0; i<kSMN; i++) precpvADC[i] = new int *[kRow];
  for (Int_t i=0; i<kSMN;i++)
    {
      for (Int_t j=0; j<kRow; j++) precpvADC[i][j] = new int [kCol];
    }
  for (Int_t i = 0; i < kSMN; i++)
    {
      for (Int_t j = 0; j < kRow; j++)
	{
	  for (Int_t k = 0; k < kCol; k++)
	    {
	      precpvADC[i][j][k] = 0;
	    }
	}
    }
  
  AliPMDRawStream pmdinput(rawReader);
  Int_t indexDDL = -1;
  while ((indexDDL = pmdinput.DdlData(&pmdddlcont)) >=0)
  {
      Int_t ientries = pmdddlcont.GetEntries();
      for (Int_t ient = 0; ient < ientries; ient++)
	{
	  AliPMDddldata *pmdddl = (AliPMDddldata*)pmdddlcont.UncheckedAt(ient);
	  
	  Int_t det = pmdddl->GetDetector();
	  Int_t smn = pmdddl->GetSMN();
	  //Int_t mcm = pmdddl->GetMCM();
	  //Int_t chno = pmdddl->GetChannel();
	  Int_t row = pmdddl->GetRow();
	  Int_t col = pmdddl->GetColumn();
	  Int_t sig = pmdddl->GetSignal();
	  
	  if (indexDDL < 4)
	    {
	      if (det != 0)
		AliError(Form("*DDL %d and Detector NUMBER %d NOT MATCHING *",
			      indexDDL, det));
	      indexsmn = smn;
	    }
	  else if (indexDDL == 4 || indexDDL == 5)
	    {
	      if (det != 1)
		AliError(Form("*DDL %d and Detector NUMBER %d NOT MATCHING *",
			      indexDDL, det));
	      indexsmn = smn + 24;
	    }

	  precpvADC[indexsmn][row][col] = sig;
	}
      
      pmdddlcont.Clear();
      
    } // DDL Loop
      
  // Add the sdigits here
  
  for ( indexsmn = 0; indexsmn < kSMN; indexsmn++)
    {

      if (indexsmn < 23)
	{
	  idet = 0;
	  ismn = indexsmn;
	}
      else if (indexsmn > 23)
	{
	  idet = 0;
	  ismn = indexsmn - 24;
	}
      for (Int_t irow = 0; irow < kRow; irow++)
	{
	  for (Int_t icol = 0; icol < kCol; icol++)
	    {

	      Int_t trno  = -99999;   // when extracted from raw data
	      Int_t trpid = -99999;   // when extracted from raw data
	      Int_t sig1  = precpvADC[indexsmn][irow][icol];
	      
	      // plug in a function to convert to adc to MeV
	      Float_t edep = 0.;
	      if (sig1 > 0)
		{
		  AdcToMeV(sig1,edep);
		  AddSDigit(trno,trpid,idet,ismn,irow,icol,edep);
		}
	    } // row
	}     // col
      
      treeS->Fill();
      ResetSDigit();
    }

  pmdLoader->WriteSDigits("OVERWRITE");

  // Delete all the pointers
  
  for (Int_t i = 0; i < kSMN; i++)
    {
      for (Int_t j = 0; j < kRow; j++)
	{
	  delete [] precpvADC[i][j];
	}
    }
  for (Int_t j = 0; j < kSMN; j++)
    {
      delete [] precpvADC[j];
    }
  delete [] precpvADC;
  
}
// ------------------------------------------------------------------------- //
void AliPMDRawToSDigits::Raw2Digits(AliRunLoader *runLoader, AliRawReader *rawReader)
{
  // Converts RAW data to digits
  //
  TObjArray pmdddlcont;
  
  AliLoader *pmdLoader = runLoader->GetLoader("PMDLoader");
  
  TTree* treeD = pmdLoader->TreeD();
  if (treeD == 0x0)
    {
      pmdLoader->MakeTree("D");
      treeD = pmdLoader->TreeD();
    }
  Int_t bufsize = 16000;
  if (!fDigits) fDigits = new TClonesArray("AliPMDdigit", 1000);
  treeD->Branch("PMDDigit", &fDigits, bufsize); 
  
//  const Int_t kDDL = AliDAQ::NumberOfDdls("PMD");
  const Int_t kRow = 48;
  const Int_t kCol = 96;
  const Int_t kSMN = 48;
  
  Int_t idet = 0;
  Int_t ismn = 0;
  Int_t indexsmn = 0;
  
  Int_t ***precpvADC;
  precpvADC = new int **[kSMN];
  for (Int_t i=0; i<kSMN; i++) precpvADC[i] = new int *[kRow];
  for (Int_t i=0; i<kSMN;i++)
    {
      for (Int_t j=0; j<kRow; j++) precpvADC[i][j] = new int [kCol];
    }
  for (Int_t i = 0; i < kSMN; i++)
    {
      for (Int_t j = 0; j < kRow; j++)
	{
	  for (Int_t k = 0; k < kCol; k++)
	    {
	      precpvADC[i][j][k] = 0;
	    }
	}
    }

  AliPMDRawStream pmdinput(rawReader);
  Int_t indexDDL = -1;
  while ((indexDDL = pmdinput.DdlData(&pmdddlcont)) >=0)
  {
      Int_t ientries = pmdddlcont.GetEntries();
      for (Int_t ient = 0; ient < ientries; ient++)
	{
	  AliPMDddldata *pmdddl = (AliPMDddldata*)pmdddlcont.UncheckedAt(ient);
	  
	  Int_t det = pmdddl->GetDetector();
	  Int_t smn = pmdddl->GetSMN();
	  //Int_t mcm = pmdddl->GetMCM();
	  //Int_t chno = pmdddl->GetChannel();
	  Int_t row = pmdddl->GetRow();
	  Int_t col = pmdddl->GetColumn();
	  Int_t sig = pmdddl->GetSignal();
	  
	  
	  if (indexDDL < 4)
	    {
	      if (det != 0)
		AliError(Form("*DDL %d and Detector NUMBER %d NOT MATCHING *",
			      indexDDL, det));
	      indexsmn = smn ;
	    }
	  else if (indexDDL == 4 || indexDDL == 5)
	    {
	      if (det != 1)
		AliError(Form("*DDL %d and Detector NUMBER %d NOT MATCHING *",
			      indexDDL, det));
	      indexsmn = smn + 24;
	    }	      
	  precpvADC[indexsmn][row][col] = sig;
	}
      
      pmdddlcont.Clear();
    } // DDL Loop  
      
  // Add the digits here
  for (indexsmn = 0; indexsmn < kSMN; indexsmn++)
    {
      if (indexsmn < 23)
	{
	  ismn = indexsmn;
	  idet = 0;
	}
      else if (indexsmn > 23)
	{
	  ismn = indexsmn -24;
	  idet = 1;
	}
      for (Int_t irow = 0; irow < kRow; irow++)
	{
	  for (Int_t icol = 0; icol < kCol; icol++)
	    {
	      Int_t trno  = -99999;    // when extracted from raw
	      Int_t trpid = -99999;    // when extracted from raw
	      Int_t sig1  = precpvADC[indexsmn][irow][icol];
	      
	      // plug in a function to convert to adc to MeV
	      if (sig1 > 0)
		{
		  AddDigit(trno,trpid,idet,ismn,irow,icol,sig1);
		}
	    } // row
	}     // col
      treeD->Fill();
      ResetDigit();
    }	  
  
  pmdLoader->WriteDigits("OVERWRITE");

  // Delete all the pointers

  for (Int_t i = 0; i < kSMN; i++)
    {
      for (Int_t j = 0; j < kRow; j++)
	{
	  delete [] precpvADC[i][j];
	}
    }
  for (Int_t j = 0; j < kSMN; j++)
    {
      delete [] precpvADC[j];
    }
  delete [] precpvADC;
}
// ------------------------------------------------------------------------- //

void AliPMDRawToSDigits::AdcToMeV(Int_t adc, Float_t &edep)
{
  // These constants are from Test Beam 2010

  const Float_t kConstant   = 0.612796;
  const Float_t kSlope      = 130.158;

  edep     = (1000.0/kSlope)*(adc - kConstant);
}

// ------------------------------------------------------------------------- //

void AliPMDRawToSDigits::AddSDigit(Int_t trnumber, Int_t trpid, Int_t det,
				   Int_t smnumber, 
				   Int_t irow, Int_t icol, Float_t adc)
{
  // Add SDigit
  //
  if (!fSDigits) fSDigits = new TClonesArray("AliPMDsdigit", 1000);
  TClonesArray &lsdigits = *fSDigits;
  new(lsdigits[fNsdigit++]) AliPMDsdigit(trnumber,trpid,det,smnumber,irow,icol,adc);
}

// ------------------------------------------------------------------------- //
void AliPMDRawToSDigits::AddDigit(Int_t trnumber, Int_t trpid, Int_t det,
				  Int_t smnumber, 
				  Int_t irow, Int_t icol, Float_t adc)
{
  // Add Digit
  //
  if (!fDigits) fDigits = new TClonesArray("AliPMDdigit", 1000);
  TClonesArray &ldigits = *fDigits;
  new(ldigits[fNdigit++]) AliPMDdigit(trnumber,trpid,det,smnumber,irow,icol,adc);
}

// ------------------------------------------------------------------------- //
void AliPMDRawToSDigits::ResetSDigit()
{
  // Clears SDigits
  fNsdigit = 0;
  if (fSDigits) fSDigits->Clear();
}
// ------------------------------------------------------------------------- //
void AliPMDRawToSDigits::ResetDigit()
{
  // Clears SDigits
  fNdigit = 0;
  if (fDigits) fDigits->Clear();
}
 AliPMDRawToSDigits.cxx:1
 AliPMDRawToSDigits.cxx:2
 AliPMDRawToSDigits.cxx:3
 AliPMDRawToSDigits.cxx:4
 AliPMDRawToSDigits.cxx:5
 AliPMDRawToSDigits.cxx:6
 AliPMDRawToSDigits.cxx:7
 AliPMDRawToSDigits.cxx:8
 AliPMDRawToSDigits.cxx:9
 AliPMDRawToSDigits.cxx:10
 AliPMDRawToSDigits.cxx:11
 AliPMDRawToSDigits.cxx:12
 AliPMDRawToSDigits.cxx:13
 AliPMDRawToSDigits.cxx:14
 AliPMDRawToSDigits.cxx:15
 AliPMDRawToSDigits.cxx:16
 AliPMDRawToSDigits.cxx:17
 AliPMDRawToSDigits.cxx:18
 AliPMDRawToSDigits.cxx:19
 AliPMDRawToSDigits.cxx:20
 AliPMDRawToSDigits.cxx:21
 AliPMDRawToSDigits.cxx:22
 AliPMDRawToSDigits.cxx:23
 AliPMDRawToSDigits.cxx:24
 AliPMDRawToSDigits.cxx:25
 AliPMDRawToSDigits.cxx:26
 AliPMDRawToSDigits.cxx:27
 AliPMDRawToSDigits.cxx:28
 AliPMDRawToSDigits.cxx:29
 AliPMDRawToSDigits.cxx:30
 AliPMDRawToSDigits.cxx:31
 AliPMDRawToSDigits.cxx:32
 AliPMDRawToSDigits.cxx:33
 AliPMDRawToSDigits.cxx:34
 AliPMDRawToSDigits.cxx:35
 AliPMDRawToSDigits.cxx:36
 AliPMDRawToSDigits.cxx:37
 AliPMDRawToSDigits.cxx:38
 AliPMDRawToSDigits.cxx:39
 AliPMDRawToSDigits.cxx:40
 AliPMDRawToSDigits.cxx:41
 AliPMDRawToSDigits.cxx:42
 AliPMDRawToSDigits.cxx:43
 AliPMDRawToSDigits.cxx:44
 AliPMDRawToSDigits.cxx:45
 AliPMDRawToSDigits.cxx:46
 AliPMDRawToSDigits.cxx:47
 AliPMDRawToSDigits.cxx:48
 AliPMDRawToSDigits.cxx:49
 AliPMDRawToSDigits.cxx:50
 AliPMDRawToSDigits.cxx:51
 AliPMDRawToSDigits.cxx:52
 AliPMDRawToSDigits.cxx:53
 AliPMDRawToSDigits.cxx:54
 AliPMDRawToSDigits.cxx:55
 AliPMDRawToSDigits.cxx:56
 AliPMDRawToSDigits.cxx:57
 AliPMDRawToSDigits.cxx:58
 AliPMDRawToSDigits.cxx:59
 AliPMDRawToSDigits.cxx:60
 AliPMDRawToSDigits.cxx:61
 AliPMDRawToSDigits.cxx:62
 AliPMDRawToSDigits.cxx:63
 AliPMDRawToSDigits.cxx:64
 AliPMDRawToSDigits.cxx:65
 AliPMDRawToSDigits.cxx:66
 AliPMDRawToSDigits.cxx:67
 AliPMDRawToSDigits.cxx:68
 AliPMDRawToSDigits.cxx:69
 AliPMDRawToSDigits.cxx:70
 AliPMDRawToSDigits.cxx:71
 AliPMDRawToSDigits.cxx:72
 AliPMDRawToSDigits.cxx:73
 AliPMDRawToSDigits.cxx:74
 AliPMDRawToSDigits.cxx:75
 AliPMDRawToSDigits.cxx:76
 AliPMDRawToSDigits.cxx:77
 AliPMDRawToSDigits.cxx:78
 AliPMDRawToSDigits.cxx:79
 AliPMDRawToSDigits.cxx:80
 AliPMDRawToSDigits.cxx:81
 AliPMDRawToSDigits.cxx:82
 AliPMDRawToSDigits.cxx:83
 AliPMDRawToSDigits.cxx:84
 AliPMDRawToSDigits.cxx:85
 AliPMDRawToSDigits.cxx:86
 AliPMDRawToSDigits.cxx:87
 AliPMDRawToSDigits.cxx:88
 AliPMDRawToSDigits.cxx:89
 AliPMDRawToSDigits.cxx:90
 AliPMDRawToSDigits.cxx:91
 AliPMDRawToSDigits.cxx:92
 AliPMDRawToSDigits.cxx:93
 AliPMDRawToSDigits.cxx:94
 AliPMDRawToSDigits.cxx:95
 AliPMDRawToSDigits.cxx:96
 AliPMDRawToSDigits.cxx:97
 AliPMDRawToSDigits.cxx:98
 AliPMDRawToSDigits.cxx:99
 AliPMDRawToSDigits.cxx:100
 AliPMDRawToSDigits.cxx:101
 AliPMDRawToSDigits.cxx:102
 AliPMDRawToSDigits.cxx:103
 AliPMDRawToSDigits.cxx:104
 AliPMDRawToSDigits.cxx:105
 AliPMDRawToSDigits.cxx:106
 AliPMDRawToSDigits.cxx:107
 AliPMDRawToSDigits.cxx:108
 AliPMDRawToSDigits.cxx:109
 AliPMDRawToSDigits.cxx:110
 AliPMDRawToSDigits.cxx:111
 AliPMDRawToSDigits.cxx:112
 AliPMDRawToSDigits.cxx:113
 AliPMDRawToSDigits.cxx:114
 AliPMDRawToSDigits.cxx:115
 AliPMDRawToSDigits.cxx:116
 AliPMDRawToSDigits.cxx:117
 AliPMDRawToSDigits.cxx:118
 AliPMDRawToSDigits.cxx:119
 AliPMDRawToSDigits.cxx:120
 AliPMDRawToSDigits.cxx:121
 AliPMDRawToSDigits.cxx:122
 AliPMDRawToSDigits.cxx:123
 AliPMDRawToSDigits.cxx:124
 AliPMDRawToSDigits.cxx:125
 AliPMDRawToSDigits.cxx:126
 AliPMDRawToSDigits.cxx:127
 AliPMDRawToSDigits.cxx:128
 AliPMDRawToSDigits.cxx:129
 AliPMDRawToSDigits.cxx:130
 AliPMDRawToSDigits.cxx:131
 AliPMDRawToSDigits.cxx:132
 AliPMDRawToSDigits.cxx:133
 AliPMDRawToSDigits.cxx:134
 AliPMDRawToSDigits.cxx:135
 AliPMDRawToSDigits.cxx:136
 AliPMDRawToSDigits.cxx:137
 AliPMDRawToSDigits.cxx:138
 AliPMDRawToSDigits.cxx:139
 AliPMDRawToSDigits.cxx:140
 AliPMDRawToSDigits.cxx:141
 AliPMDRawToSDigits.cxx:142
 AliPMDRawToSDigits.cxx:143
 AliPMDRawToSDigits.cxx:144
 AliPMDRawToSDigits.cxx:145
 AliPMDRawToSDigits.cxx:146
 AliPMDRawToSDigits.cxx:147
 AliPMDRawToSDigits.cxx:148
 AliPMDRawToSDigits.cxx:149
 AliPMDRawToSDigits.cxx:150
 AliPMDRawToSDigits.cxx:151
 AliPMDRawToSDigits.cxx:152
 AliPMDRawToSDigits.cxx:153
 AliPMDRawToSDigits.cxx:154
 AliPMDRawToSDigits.cxx:155
 AliPMDRawToSDigits.cxx:156
 AliPMDRawToSDigits.cxx:157
 AliPMDRawToSDigits.cxx:158
 AliPMDRawToSDigits.cxx:159
 AliPMDRawToSDigits.cxx:160
 AliPMDRawToSDigits.cxx:161
 AliPMDRawToSDigits.cxx:162
 AliPMDRawToSDigits.cxx:163
 AliPMDRawToSDigits.cxx:164
 AliPMDRawToSDigits.cxx:165
 AliPMDRawToSDigits.cxx:166
 AliPMDRawToSDigits.cxx:167
 AliPMDRawToSDigits.cxx:168
 AliPMDRawToSDigits.cxx:169
 AliPMDRawToSDigits.cxx:170
 AliPMDRawToSDigits.cxx:171
 AliPMDRawToSDigits.cxx:172
 AliPMDRawToSDigits.cxx:173
 AliPMDRawToSDigits.cxx:174
 AliPMDRawToSDigits.cxx:175
 AliPMDRawToSDigits.cxx:176
 AliPMDRawToSDigits.cxx:177
 AliPMDRawToSDigits.cxx:178
 AliPMDRawToSDigits.cxx:179
 AliPMDRawToSDigits.cxx:180
 AliPMDRawToSDigits.cxx:181
 AliPMDRawToSDigits.cxx:182
 AliPMDRawToSDigits.cxx:183
 AliPMDRawToSDigits.cxx:184
 AliPMDRawToSDigits.cxx:185
 AliPMDRawToSDigits.cxx:186
 AliPMDRawToSDigits.cxx:187
 AliPMDRawToSDigits.cxx:188
 AliPMDRawToSDigits.cxx:189
 AliPMDRawToSDigits.cxx:190
 AliPMDRawToSDigits.cxx:191
 AliPMDRawToSDigits.cxx:192
 AliPMDRawToSDigits.cxx:193
 AliPMDRawToSDigits.cxx:194
 AliPMDRawToSDigits.cxx:195
 AliPMDRawToSDigits.cxx:196
 AliPMDRawToSDigits.cxx:197
 AliPMDRawToSDigits.cxx:198
 AliPMDRawToSDigits.cxx:199
 AliPMDRawToSDigits.cxx:200
 AliPMDRawToSDigits.cxx:201
 AliPMDRawToSDigits.cxx:202
 AliPMDRawToSDigits.cxx:203
 AliPMDRawToSDigits.cxx:204
 AliPMDRawToSDigits.cxx:205
 AliPMDRawToSDigits.cxx:206
 AliPMDRawToSDigits.cxx:207
 AliPMDRawToSDigits.cxx:208
 AliPMDRawToSDigits.cxx:209
 AliPMDRawToSDigits.cxx:210
 AliPMDRawToSDigits.cxx:211
 AliPMDRawToSDigits.cxx:212
 AliPMDRawToSDigits.cxx:213
 AliPMDRawToSDigits.cxx:214
 AliPMDRawToSDigits.cxx:215
 AliPMDRawToSDigits.cxx:216
 AliPMDRawToSDigits.cxx:217
 AliPMDRawToSDigits.cxx:218
 AliPMDRawToSDigits.cxx:219
 AliPMDRawToSDigits.cxx:220
 AliPMDRawToSDigits.cxx:221
 AliPMDRawToSDigits.cxx:222
 AliPMDRawToSDigits.cxx:223
 AliPMDRawToSDigits.cxx:224
 AliPMDRawToSDigits.cxx:225
 AliPMDRawToSDigits.cxx:226
 AliPMDRawToSDigits.cxx:227
 AliPMDRawToSDigits.cxx:228
 AliPMDRawToSDigits.cxx:229
 AliPMDRawToSDigits.cxx:230
 AliPMDRawToSDigits.cxx:231
 AliPMDRawToSDigits.cxx:232
 AliPMDRawToSDigits.cxx:233
 AliPMDRawToSDigits.cxx:234
 AliPMDRawToSDigits.cxx:235
 AliPMDRawToSDigits.cxx:236
 AliPMDRawToSDigits.cxx:237
 AliPMDRawToSDigits.cxx:238
 AliPMDRawToSDigits.cxx:239
 AliPMDRawToSDigits.cxx:240
 AliPMDRawToSDigits.cxx:241
 AliPMDRawToSDigits.cxx:242
 AliPMDRawToSDigits.cxx:243
 AliPMDRawToSDigits.cxx:244
 AliPMDRawToSDigits.cxx:245
 AliPMDRawToSDigits.cxx:246
 AliPMDRawToSDigits.cxx:247
 AliPMDRawToSDigits.cxx:248
 AliPMDRawToSDigits.cxx:249
 AliPMDRawToSDigits.cxx:250
 AliPMDRawToSDigits.cxx:251
 AliPMDRawToSDigits.cxx:252
 AliPMDRawToSDigits.cxx:253
 AliPMDRawToSDigits.cxx:254
 AliPMDRawToSDigits.cxx:255
 AliPMDRawToSDigits.cxx:256
 AliPMDRawToSDigits.cxx:257
 AliPMDRawToSDigits.cxx:258
 AliPMDRawToSDigits.cxx:259
 AliPMDRawToSDigits.cxx:260
 AliPMDRawToSDigits.cxx:261
 AliPMDRawToSDigits.cxx:262
 AliPMDRawToSDigits.cxx:263
 AliPMDRawToSDigits.cxx:264
 AliPMDRawToSDigits.cxx:265
 AliPMDRawToSDigits.cxx:266
 AliPMDRawToSDigits.cxx:267
 AliPMDRawToSDigits.cxx:268
 AliPMDRawToSDigits.cxx:269
 AliPMDRawToSDigits.cxx:270
 AliPMDRawToSDigits.cxx:271
 AliPMDRawToSDigits.cxx:272
 AliPMDRawToSDigits.cxx:273
 AliPMDRawToSDigits.cxx:274
 AliPMDRawToSDigits.cxx:275
 AliPMDRawToSDigits.cxx:276
 AliPMDRawToSDigits.cxx:277
 AliPMDRawToSDigits.cxx:278
 AliPMDRawToSDigits.cxx:279
 AliPMDRawToSDigits.cxx:280
 AliPMDRawToSDigits.cxx:281
 AliPMDRawToSDigits.cxx:282
 AliPMDRawToSDigits.cxx:283
 AliPMDRawToSDigits.cxx:284
 AliPMDRawToSDigits.cxx:285
 AliPMDRawToSDigits.cxx:286
 AliPMDRawToSDigits.cxx:287
 AliPMDRawToSDigits.cxx:288
 AliPMDRawToSDigits.cxx:289
 AliPMDRawToSDigits.cxx:290
 AliPMDRawToSDigits.cxx:291
 AliPMDRawToSDigits.cxx:292
 AliPMDRawToSDigits.cxx:293
 AliPMDRawToSDigits.cxx:294
 AliPMDRawToSDigits.cxx:295
 AliPMDRawToSDigits.cxx:296
 AliPMDRawToSDigits.cxx:297
 AliPMDRawToSDigits.cxx:298
 AliPMDRawToSDigits.cxx:299
 AliPMDRawToSDigits.cxx:300
 AliPMDRawToSDigits.cxx:301
 AliPMDRawToSDigits.cxx:302
 AliPMDRawToSDigits.cxx:303
 AliPMDRawToSDigits.cxx:304
 AliPMDRawToSDigits.cxx:305
 AliPMDRawToSDigits.cxx:306
 AliPMDRawToSDigits.cxx:307
 AliPMDRawToSDigits.cxx:308
 AliPMDRawToSDigits.cxx:309
 AliPMDRawToSDigits.cxx:310
 AliPMDRawToSDigits.cxx:311
 AliPMDRawToSDigits.cxx:312
 AliPMDRawToSDigits.cxx:313
 AliPMDRawToSDigits.cxx:314
 AliPMDRawToSDigits.cxx:315
 AliPMDRawToSDigits.cxx:316
 AliPMDRawToSDigits.cxx:317
 AliPMDRawToSDigits.cxx:318
 AliPMDRawToSDigits.cxx:319
 AliPMDRawToSDigits.cxx:320
 AliPMDRawToSDigits.cxx:321
 AliPMDRawToSDigits.cxx:322
 AliPMDRawToSDigits.cxx:323
 AliPMDRawToSDigits.cxx:324
 AliPMDRawToSDigits.cxx:325
 AliPMDRawToSDigits.cxx:326
 AliPMDRawToSDigits.cxx:327
 AliPMDRawToSDigits.cxx:328
 AliPMDRawToSDigits.cxx:329
 AliPMDRawToSDigits.cxx:330
 AliPMDRawToSDigits.cxx:331
 AliPMDRawToSDigits.cxx:332
 AliPMDRawToSDigits.cxx:333
 AliPMDRawToSDigits.cxx:334
 AliPMDRawToSDigits.cxx:335
 AliPMDRawToSDigits.cxx:336
 AliPMDRawToSDigits.cxx:337
 AliPMDRawToSDigits.cxx:338
 AliPMDRawToSDigits.cxx:339
 AliPMDRawToSDigits.cxx:340
 AliPMDRawToSDigits.cxx:341
 AliPMDRawToSDigits.cxx:342
 AliPMDRawToSDigits.cxx:343
 AliPMDRawToSDigits.cxx:344
 AliPMDRawToSDigits.cxx:345
 AliPMDRawToSDigits.cxx:346
 AliPMDRawToSDigits.cxx:347
 AliPMDRawToSDigits.cxx:348
 AliPMDRawToSDigits.cxx:349
 AliPMDRawToSDigits.cxx:350
 AliPMDRawToSDigits.cxx:351
 AliPMDRawToSDigits.cxx:352
 AliPMDRawToSDigits.cxx:353
 AliPMDRawToSDigits.cxx:354
 AliPMDRawToSDigits.cxx:355
 AliPMDRawToSDigits.cxx:356
 AliPMDRawToSDigits.cxx:357
 AliPMDRawToSDigits.cxx:358
 AliPMDRawToSDigits.cxx:359
 AliPMDRawToSDigits.cxx:360
 AliPMDRawToSDigits.cxx:361
 AliPMDRawToSDigits.cxx:362
 AliPMDRawToSDigits.cxx:363
 AliPMDRawToSDigits.cxx:364
 AliPMDRawToSDigits.cxx:365
 AliPMDRawToSDigits.cxx:366
 AliPMDRawToSDigits.cxx:367
 AliPMDRawToSDigits.cxx:368
 AliPMDRawToSDigits.cxx:369
 AliPMDRawToSDigits.cxx:370
 AliPMDRawToSDigits.cxx:371
 AliPMDRawToSDigits.cxx:372
 AliPMDRawToSDigits.cxx:373
 AliPMDRawToSDigits.cxx:374
 AliPMDRawToSDigits.cxx:375
 AliPMDRawToSDigits.cxx:376
 AliPMDRawToSDigits.cxx:377
 AliPMDRawToSDigits.cxx:378
 AliPMDRawToSDigits.cxx:379
 AliPMDRawToSDigits.cxx:380
 AliPMDRawToSDigits.cxx:381
 AliPMDRawToSDigits.cxx:382
 AliPMDRawToSDigits.cxx:383
 AliPMDRawToSDigits.cxx:384
 AliPMDRawToSDigits.cxx:385
 AliPMDRawToSDigits.cxx:386
 AliPMDRawToSDigits.cxx:387
 AliPMDRawToSDigits.cxx:388
 AliPMDRawToSDigits.cxx:389
 AliPMDRawToSDigits.cxx:390
 AliPMDRawToSDigits.cxx:391
 AliPMDRawToSDigits.cxx:392
 AliPMDRawToSDigits.cxx:393
 AliPMDRawToSDigits.cxx:394
 AliPMDRawToSDigits.cxx:395
 AliPMDRawToSDigits.cxx:396
 AliPMDRawToSDigits.cxx:397
 AliPMDRawToSDigits.cxx:398
 AliPMDRawToSDigits.cxx:399
 AliPMDRawToSDigits.cxx:400
 AliPMDRawToSDigits.cxx:401
 AliPMDRawToSDigits.cxx:402
 AliPMDRawToSDigits.cxx:403
 AliPMDRawToSDigits.cxx:404
 AliPMDRawToSDigits.cxx:405
 AliPMDRawToSDigits.cxx:406
 AliPMDRawToSDigits.cxx:407
 AliPMDRawToSDigits.cxx:408
 AliPMDRawToSDigits.cxx:409
 AliPMDRawToSDigits.cxx:410
 AliPMDRawToSDigits.cxx:411
 AliPMDRawToSDigits.cxx:412
 AliPMDRawToSDigits.cxx:413
 AliPMDRawToSDigits.cxx:414
 AliPMDRawToSDigits.cxx:415
 AliPMDRawToSDigits.cxx:416
 AliPMDRawToSDigits.cxx:417
 AliPMDRawToSDigits.cxx:418