ROOT logo
/************************************************************************* 
* Copyright(c) 1998-2008, 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: AliTRDarrayDictionary.cxx 25392 2008-04-23 19:40:29Z cblume $ */

/////////////////////////////////////////////////////////
//                                                     //
// Container Class for Dictionary Info                 //
//                                                     //
// Author:                                             //
//   Hermes Leon Vargas (hleon@ikf.uni-frankfurt.de)   //
//                                                     //
/////////////////////////////////////////////////////////

#include <TArray.h>

#include "AliTRDarrayDictionary.h"
#include "AliTRDfeeParam.h"
#include "AliLog.h"

ClassImp(AliTRDarrayDictionary)

Short_t *AliTRDarrayDictionary::fgLutPadNumbering = 0x0;

//________________________________________________________________________________
AliTRDarrayDictionary::AliTRDarrayDictionary()
                      :TObject()
                      ,fNdet(0)
                      ,fNrow(0)
                      ,fNcol(0)
	              ,fNumberOfChannels(0)
                      ,fNtime(0)
                      ,fNDdim(0)
                      ,fDictionary(0)
                      ,fFlag(kFALSE)
{
  //
  // AliTRDarrayDictionary default contructor
  //

  CreateLut();

}

//________________________________________________________________________________
AliTRDarrayDictionary::AliTRDarrayDictionary(Int_t nrow, Int_t ncol, Int_t ntime)
                      :TObject()
		      ,fNdet(0)
                      ,fNrow(0)
                      ,fNcol(0)
          	      ,fNumberOfChannels(0)
                      ,fNtime(0)
		      ,fNDdim(0)
		      ,fDictionary(0)
                      ,fFlag(kFALSE)
{
  //
  // AliTRDarrayDictionary contructor
  //

  CreateLut();
  Allocate(nrow,ncol,ntime);

}

//________________________________________________________________________________
AliTRDarrayDictionary::AliTRDarrayDictionary(const AliTRDarrayDictionary &a)
                      :TObject()
		      ,fNdet(a.fNdet)
                      ,fNrow(a.fNrow)
                      ,fNcol(a.fNcol)
	              ,fNumberOfChannels(a.fNumberOfChannels)
                      ,fNtime(a.fNtime)
		      ,fNDdim(a.fNDdim)
		      ,fDictionary(0)
                      ,fFlag(a.fFlag)
{
  //
  // AliTRDarrayDictionary copy constructor
  //

  fDictionary = new Int_t[fNDdim];
  for(Int_t i=0; i<fNDdim; i++)
    {
      fDictionary[i]=a.fDictionary[i];
    }

}

//________________________________________________________________________________
AliTRDarrayDictionary::~AliTRDarrayDictionary()
{
  //
  //   AliTRDarrayDictionary destructor
  //

  delete [] fDictionary;
  fDictionary=0;

}

//________________________________________________________________________________
AliTRDarrayDictionary &AliTRDarrayDictionary::operator=(const AliTRDarrayDictionary &a)
{
  //
  // Assignment operator
  //

  if(this==&a)
    {
      return *this;
    }

  if(fDictionary)
    {
      delete [] fDictionary;
    }
  fNdet=a.fNdet;
  fNDdim=a.fNDdim;
  fNrow=a.fNrow;
  fNcol=a.fNcol;
  fNumberOfChannels = a.fNumberOfChannels;
  fNtime=a.fNtime;
  fDictionary = new Int_t[fNDdim];
  for(Int_t i=0; i<fNDdim; i++)
    {
      fDictionary[i]=a.fDictionary[i];
    }
  fFlag=a.fFlag;
  return *this;

}

//________________________________________________________________________________
void AliTRDarrayDictionary::Allocate(Int_t nrow, Int_t ncol, Int_t ntime)
{
  //
  // Allocates memory for the dictionary array with dimensions
  // Row*NumberOfNecessaryMCMs*ADCchannelsInMCM*Time
  // To be consistent with AliTRDarrayADC
  // Object initialized to -1
  //

  fNrow=nrow;
  fNcol=ncol;
  fNtime=ntime;
  Int_t adcchannelspermcm = AliTRDfeeParam::GetNadcMcm(); 
  Int_t padspermcm = AliTRDfeeParam::GetNcolMcm(); 
  Int_t numberofmcms = fNcol/padspermcm;
  fNumberOfChannels = numberofmcms*adcchannelspermcm;
  fNDdim=nrow*fNumberOfChannels*ntime;
  if(fDictionary)
    {
      delete [] fDictionary;
      fDictionary=0;
    }
  fDictionary = new Int_t[fNDdim];
  memset(fDictionary,-1,sizeof(Int_t)*fNDdim);

}

//________________________________________________________________________________
void AliTRDarrayDictionary::Compress()
{
  //
  // Compress the array
  //


  //  AliDebug(1,"Compressing");
  Int_t counter=0;
  Int_t newDim=0;
  Int_t j;                 
  Int_t r=0;
  Int_t k=0;

  Int_t *longArr = new Int_t[fNDdim];  

  if(longArr) 
    {

      memset(longArr,0,sizeof(Int_t)*fNDdim);

      for(Int_t i=0;i<fNDdim; i++)
        {
          j=0;
          if(fDictionary[i]==-1)
   	    {
	      for(k=i;k<fNDdim;k++)
	        {
	          if(fDictionary[k]==-1)
		    {
		      j=j+1;
		      longArr[r]=j;
		    }
	          else
		    {
		      break;
		    }
	        } 
	      r=r+1;    
	    }
          i=i+j;
        }

      //Calculate the size of the compressed array
      for(Int_t i=0; i<fNDdim;i++)
        {
          if(longArr[i]!=0)  
	    {
	      counter=counter+longArr[i]-1;
	    }
        }
      newDim=fNDdim-counter;   //Size of the compressed array

      //Fill the buffer of the compressed array
      Int_t* buffer = new Int_t[newDim];
      Int_t counterTwo=0;
      Int_t g=0;
      if(buffer)
        {
          for(Int_t i=0; i<newDim; i++)
            {
              if(counterTwo<fNDdim)
	        {
	          if(fDictionary[counterTwo]!=-1)
	            {
	              buffer[i]=fDictionary[counterTwo];
	            }
	          if(fDictionary[counterTwo]==-1)
	            {
	              buffer[i]=-(longArr[g]);
	              counterTwo=counterTwo+longArr[g]-1;
	              g++;
	            }  
	          counterTwo++;
	        }
            }

          //Copy the buffer
          if(fDictionary)
            {
              delete [] fDictionary;
              fDictionary=0;
            }
	  fDictionary = buffer;
          fNDdim = newDim;
        }
    
      delete [] longArr;
      longArr=0;
    }
  fFlag=kFALSE; // This way it can be expanded afterwards
}

//________________________________________________________________________________
void AliTRDarrayDictionary::Expand()
{
  //  
  //  Expand the array
  //  

  if(fNDdim==0)
    {
      AliError("Called expand with dimension zero");
      return;    
    }


  Int_t dimexp=0;
  
//   if(WasExpandCalled()) 
//     return;

  if(fNDdim==fNrow*fNumberOfChannels*fNtime)
    return;

  if(fDictionary&&fNDdim==1)
    { 
      dimexp = -fDictionary[0];	
      delete [] fDictionary;
      fDictionary=0;
      fDictionary = new Int_t[dimexp];
      fNDdim = dimexp;
      // Re-initialize the array
      memset(fDictionary,-1,sizeof(Int_t)*dimexp);
      fFlag=kTRUE; // Not expand again
      return;
    }

  Int_t *longArr = new Int_t[fNDdim];
  if(longArr && fDictionary)
    {
      //Initialize the array
      memset(longArr,0,sizeof(Int_t)*fNDdim);

      Int_t r2=0;
      for(Int_t i=0; i<fNDdim;i++)
        {
          if((fDictionary[i]<0)&&(fDictionary[i]!=-1))  
	    {
	      longArr[r2]=-fDictionary[i]; 
	      r2++;
	    }
        }

      //Calculate new dimensions
      for(Int_t i=0; i<fNDdim;i++)
        {
          if(longArr[i]!=0)      
	    dimexp=dimexp+longArr[i]-1;
	  if(longArr[i]==0)
	    break;
        }
      dimexp=dimexp+fNDdim;  

      //Write in the buffer the new array
      Int_t contaexp =0;    
      Int_t h=0;
      Int_t* bufferE = new Int_t[dimexp];

      if(bufferE)
	{
	  memset(bufferE,-1,sizeof(Int_t)*dimexp);
          for(Int_t i=0; i<dimexp; i++)
            {
              if(fDictionary[contaexp]>=-1)  
	        {
	          bufferE[i]=fDictionary[contaexp];
	        }
              if(fDictionary[contaexp]<-1)  
	        {
	          i=i+longArr[h]-1;
	          h++;
	        }
              contaexp++;
            }

          //Copy the buffer
          delete [] fDictionary;
          fDictionary=bufferE;
          fNDdim = dimexp;
	}
    }
  if (longArr)
    {
      delete [] longArr; 
    }
  fFlag=kTRUE; // Not expand again

}
//________________________________________________________________________________
void AliTRDarrayDictionary::Reset()
{
  //
  // Reset the array, the old contents are deleted
  // and the data array elements are set to zero.
  //

  memset(fDictionary,0,sizeof(Int_t)*fNDdim);

}
//________________________________________________________________________________
Int_t AliTRDarrayDictionary::GetData(Int_t nrow, Int_t ncol, Int_t ntime) const
{
  //
  // Get the data using the pad numbering.
  // To access data using the mcm scheme use instead
  // the method GetDataByAdcCol
  //

  Int_t corrcolumn = fgLutPadNumbering[ncol];

  return fDictionary[(nrow*fNumberOfChannels+corrcolumn)*fNtime+ntime];

}
//________________________________________________________________________________
void AliTRDarrayDictionary::SetData(Int_t nrow, Int_t ncol, Int_t ntime, Int_t value)
{
  //
  // Set the data using the pad numbering.
  // To write data using the mcm scheme use instead
  // the method SetDataByAdcCol
  //

  Int_t colnumb = fgLutPadNumbering[ncol];

  fDictionary[(nrow*fNumberOfChannels+colnumb)*fNtime+ntime]=value;

}

//________________________________________________________________________________
void AliTRDarrayDictionary::CreateLut()
{
  //
  // Initializes the Look Up Table to relate
  // pad numbering and mcm channel numbering
  //

  if(fgLutPadNumbering)  return;
  
   fgLutPadNumbering = new Short_t[AliTRDfeeParam::GetNcol()];
   memset(fgLutPadNumbering,0,sizeof(Short_t)*AliTRDfeeParam::GetNcol());

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