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


///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//  Geometry        class for a single ROC                                   //
//                                                                           //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
#include "AliTPCROC.h"
#include "TMath.h"

ClassImp(AliTPCROC)


AliTPCROC* AliTPCROC::fgInstance = 0;




//_ singleton implementation __________________________________________________
AliTPCROC* AliTPCROC::Instance()
{
  //
  // Singleton implementation
  // Returns an instance of this class, it is created if neccessary
  //
  if (fgInstance == 0){
    fgInstance = new AliTPCROC();
    fgInstance->Init();    
  }
  return fgInstance;
}




void AliTPCROC::Init(){
  //
  // initialize static variables
  //
  if (AliTPCROC::fNSectorsAll>0) return;
  fNSectorsAll =72;
  fNSectors[0] =36;
  fNSectors[1] =36;
  //
  fNRows[0]= 63;
  fNRows[1]= 96;
  //
  // number of pads in padrow
  fNPads[0] = new UInt_t[fNRows[0]];
  fNPads[1] = new UInt_t[fNRows[1]];  
  //
  // padrow index in array
  //
  fRowPosIndex[0] = new UInt_t[fNRows[0]];
  fRowPosIndex[1] = new UInt_t[fNRows[1]];
  //
  // inner sectors
  //
  UInt_t index =0;
  for (UInt_t irow=0; irow<fNRows[0];irow++){
    UInt_t npads = (irow==0) ? 68 : 2 *Int_t(Double_t(irow)/3. +33.67);
    fNPads[0][irow] = npads;
    fRowPosIndex[0][irow] = index;
    index+=npads;
  }
  fNChannels[0] = index;
  //
  index =0;
  Double_t k1 = 10.*TMath::Tan(10*TMath::DegToRad())/6.;
  Double_t k2 = 15.*TMath::Tan(10*TMath::DegToRad())/6.;
  for (UInt_t irow=0; irow<fNRows[1];irow++){    
    UInt_t npads = (irow<64) ? 
      2*Int_t(k1*Double_t(irow)+37.75):
      2*Int_t(k2*Double_t(irow-64)+56.66);
    fNPads[1][irow] = npads;
    fRowPosIndex[1][irow] = index;
    index+=npads;
  }
  fNChannels[1] = index;
  SetGeometry();
}




void AliTPCROC::SetGeometry()
{
  //
  //set ROC geometry parameters
  //
  const  Float_t kInnerRadiusLow = 83.65;
  const  Float_t kInnerRadiusUp  = 133.3;
  const  Float_t kOuterRadiusLow = 133.5;
  const  Float_t kOuterRadiusUp  = 247.7;
  const  Float_t kInnerFrameSpace = 1.5;
  const  Float_t kOuterFrameSpace = 1.5;
  const  Float_t kInnerWireMount = 1.2;
  const  Float_t kOuterWireMount = 1.4;
  const  Float_t kZLength =250.;
  const  UInt_t   kNRowLow = 63;
  const  UInt_t   kNRowUp1 = 64;
  const  UInt_t   kNRowUp2 = 32;
  const  UInt_t   kNRowUp  = 96;
  const  Float_t kInnerAngle = 20; // 20 degrees
  const  Float_t kOuterAngle = 20; // 20 degrees
  //
  //  pad     parameters
  // 
  const Float_t  kInnerPadPitchLength = 0.75;
  const Float_t  kInnerPadPitchWidth = 0.40;
  const Float_t  kInnerPadLength = 0.75;
  const Float_t  kInnerPadWidth = 0.40;
  const Float_t  kOuter1PadPitchLength = 1.0;
  const Float_t  kOuterPadPitchWidth = 0.6;
  const Float_t  kOuter1PadLength = 1.0;
  const Float_t  kOuterPadWidth = 0.6;
  const Float_t  kOuter2PadPitchLength = 1.5;
  const Float_t  kOuter2PadLength = 1.5;  

  //
  //wires default parameters
  //
//   const UInt_t    kNInnerWiresPerPad = 3;
//   const UInt_t    kInnerDummyWire = 2;
//   const Float_t  kInnerWWPitch = 0.25;
//   const Float_t  kRInnerFirstWire = 84.475;
//   const Float_t  kRInnerLastWire = 132.475;
//   const Float_t  kInnerOffWire = 0.5;
//   const UInt_t    kNOuter1WiresPerPad = 4;
//   const UInt_t    kNOuter2WiresPerPad = 6;
//   const Float_t  kOuterWWPitch = 0.25;  
//   const Float_t  kROuterFirstWire = 134.225;
//   const Float_t  kROuterLastWire = 246.975;
//   const UInt_t    kOuterDummyWire = 2;
//   const Float_t  kOuterOffWire = 0.5;
  //
  //set sector parameters
  //
  fInnerRadiusLow = kInnerRadiusLow;
  fOuterRadiusLow = kOuterRadiusLow;
  fInnerRadiusUp  = kInnerRadiusUp;
  fOuterRadiusUp  = kOuterRadiusUp;  
  fInnerFrameSpace = kInnerFrameSpace;
  fOuterFrameSpace = kOuterFrameSpace;
  fInnerWireMount  = kInnerWireMount;
  fOuterWireMount  = kOuterWireMount;
  fZLength         = kZLength;
  fInnerAngle      =  TMath::DegToRad()*kInnerAngle;
  fOuterAngle      =  TMath::DegToRad()*kOuterAngle;

  fNRowLow       = kNRowLow;
  fNRowUp1      = kNRowUp1;
  fNRowUp2       = kNRowUp2;
  fNRowUp        = kNRowUp;
  //
  //set pad parameter
  //
  fInnerPadPitchLength = kInnerPadPitchLength;
  fInnerPadPitchWidth  = kInnerPadPitchWidth;
  fInnerPadLength      = kInnerPadLength;
  fInnerPadWidth       = kInnerPadWidth;
  fOuter1PadPitchLength = kOuter1PadPitchLength; 
  fOuter2PadPitchLength = kOuter2PadPitchLength;
  fOuterPadPitchWidth   = kOuterPadPitchWidth;
  fOuter1PadLength      = kOuter1PadLength;
  fOuter2PadLength      = kOuter2PadLength;
  fOuterPadWidth        = kOuterPadWidth; 

  //
  //set wire parameters
  //
  // SetInnerNWires(kNInnerWiresPerPad);
  //   SetInnerDummyWire(kInnerDummyWire);
  //   SetInnerOffWire(kInnerOffWire);
  //   SetOuter1NWires(kNOuter1WiresPerPad);
  //   SetOuter2NWire(kNOuter2WiresPerPad);
  //   SetOuterDummyWire(kOuterDummyWire);
  //   SetOuterOffWire(kOuterOffWire);
  //   SetInnerWWPitch(kInnerWWPitch);
  //   SetRInnerFirstWire(kRInnerFirstWire);
  //   SetRInnerLastWire(kRInnerLastWire);
  //   SetOuterWWPitch(kOuterWWPitch);
  //   SetROuterFirstWire(kROuterFirstWire);
  //   SetROuterLastWire(kROuterLastWire);  

  UInt_t i=0;
  Float_t firstrow = fInnerRadiusLow + 1.575;   
  for( i= 0;i<fNRowLow;i++)
    {
      Float_t x = firstrow + fInnerPadPitchLength*(Float_t)i;  
      fPadRowLow[i]=x;
      fYInner[i+1]  = x*TMath::Tan(fInnerAngle/2.)-fInnerWireMount;
      fNPadsLow[i] = GetNPads(0,i) ;     // ROC implement     
    }
  // cross talk rows
  fYInner[0]=(fPadRowLow[0]-fInnerPadPitchLength)*TMath::Tan(fInnerAngle/2.)-fInnerWireMount;
  fYInner[fNRowLow+1]=(fPadRowLow[fNRowLow-1]+fInnerPadPitchLength)*TMath::Tan(fInnerAngle/2.)-fInnerWireMount; 
  firstrow = fOuterRadiusLow + 1.6;
  for(i=0;i<fNRowUp;i++)
    {
      if(i<fNRowUp1){
	Float_t x = firstrow + fOuter1PadPitchLength*(Float_t)i; 
	fPadRowUp[i]=x;
	fYOuter[i+1]= x*TMath::Tan(fOuterAngle/2.)-fOuterWireMount;
	fNPadsUp[i] =  GetNPads(36,i) ;     // ROC implement      
	if(i==fNRowUp1-1) {
	  fLastWireUp1=fPadRowUp[i] +0.625;
	  firstrow = fPadRowUp[i] + 0.5*(fOuter1PadPitchLength+fOuter2PadPitchLength);
	}
      }
      else
	{
	  Float_t x = firstrow + fOuter2PadPitchLength*(Float_t)(i-64);
	  fPadRowUp[i]=x;
	  fNPadsUp[i] =  GetNPads(36,i) ;     // ROC implement
	}
      fYOuter[i+1]  = fPadRowUp[i]*TMath::Tan(fOuterAngle/2.)-fOuterWireMount;
    }
  


} 




//_____________________________________________________________________________
AliTPCROC::AliTPCROC()
          :TObject(), 
           fNSectorsAll(0),
	   fInnerRadiusLow(0.),
	   fInnerRadiusUp(0.),
	   fOuterRadiusUp(0.),
	   fOuterRadiusLow(0.),
	   fInnerFrameSpace(0.),
	   fOuterFrameSpace(0.),
	   fInnerWireMount(0.),
	   fOuterWireMount(0.),
	   fZLength(0.),
	   fInnerAngle(0.),
	   fOuterAngle(0.),
	   fNInnerWiresPerPad(0),
	   fInnerWWPitch(0.),
	   fInnerDummyWire(0),
	   fInnerOffWire(0.),
	   fRInnerFirstWire(0.),
	   fRInnerLastWire(0.),
	   fLastWireUp1(0.),
	   fNOuter1WiresPerPad(0),
	   fNOuter2WiresPerPad(0),
	   fOuterWWPitch(0.),
	   fOuterDummyWire(0),
	   fOuterOffWire(0),
	   fROuterFirstWire(0.),
	   fROuterLastWire(0),
	   fInnerPadPitchLength(0.),
	   fInnerPadPitchWidth(0.),
	   fInnerPadLength(0.),
	   fInnerPadWidth(0.),
	   fOuter1PadPitchLength(0.),
	   fOuter2PadPitchLength(0),
	   fOuterPadPitchWidth(0),
	   fOuter1PadLength(0.),
	   fOuter2PadLength(0),
	   fOuterPadWidth(0),
	   fNRowLow(0),
	   fNRowUp1(0),
	   fNRowUp2(0),
	   fNRowUp(0),
	   fNtRows(0)
{
  //
  // Default constructor
  for (UInt_t i=0;i<2;i++){
    fNSectors[i]  = 0;
    fNRows[i]     = 0;
    fNChannels[i] = 0;
    fNPads[i]     = 0;
    fRowPosIndex[i]= 0;
  }
  
  for (UInt_t i=0;i<100;++i){
    fPadRowLow[i]=0.;
    fPadRowUp[i]=0.;
    fNPadsLow[i]=0;
    fNPadsUp[i]=0;
    fYInner[i]=0.;
    fYOuter[i]=0.;
  }
}


//_____________________________________________________________________________
AliTPCROC::AliTPCROC(const AliTPCROC &roc)
          :TObject(roc),
           fNSectorsAll(0),
	   fInnerRadiusLow(0.),
	   fInnerRadiusUp(0.),
	   fOuterRadiusUp(0.),
	   fOuterRadiusLow(0.),
	   fInnerFrameSpace(0.),
	   fOuterFrameSpace(0.),
	   fInnerWireMount(0.),
	   fOuterWireMount(0.),
	   fZLength(0.),
	   fInnerAngle(0.),
	   fOuterAngle(0.),
	   fNInnerWiresPerPad(0),
	   fInnerWWPitch(0.),
	   fInnerDummyWire(0),
	   fInnerOffWire(0.),
	   fRInnerFirstWire(0.),
	   fRInnerLastWire(0.),
	   fLastWireUp1(0.),
	   fNOuter1WiresPerPad(0),
	   fNOuter2WiresPerPad(0),
	   fOuterWWPitch(0.),
	   fOuterDummyWire(0),
	   fOuterOffWire(0),
	   fROuterFirstWire(0.),
	   fROuterLastWire(0),
	   fInnerPadPitchLength(0.),
	   fInnerPadPitchWidth(0.),
	   fInnerPadLength(0.),
	   fInnerPadWidth(0.),
	   fOuter1PadPitchLength(0.),
	   fOuter2PadPitchLength(0),
	   fOuterPadPitchWidth(0),
	   fOuter1PadLength(0.),
	   fOuter2PadLength(0),
	   fOuterPadWidth(0),
	   fNRowLow(0),
	   fNRowUp1(0),
	   fNRowUp2(0),
	   fNRowUp(0),
	   fNtRows(0)

{
  //
  // AliTPCROC copy constructor
  //
  fNSectorsAll = roc.fNSectorsAll;
  fNSectors[0] = roc.fNSectors[0];
  fNSectors[1] = roc.fNSectors[1];
  fNRows[0]    = roc.fNRows[0];
  fNRows[1]    = roc.fNRows[1];
  fNChannels[0]= roc.fNChannels[0];
  fNChannels[1]= roc.fNChannels[1];
  //
  // number of pads in padrow
  fNPads[0] = new UInt_t[fNRows[0]];
  fNPads[1] = new UInt_t[fNRows[1]];  
  //
  // padrow index in array
  //
  fRowPosIndex[0] = new UInt_t[fNRows[0]];
  fRowPosIndex[1] = new UInt_t[fNRows[1]];
  //
  for (UInt_t irow =0; irow<fNRows[0];irow++){
    fNPads[0][irow]       = roc.fNPads[0][irow];
    fRowPosIndex[0][irow] = roc.fRowPosIndex[0][irow];
  }
  for (UInt_t irow =0; irow<fNRows[1];irow++){
    fNPads[1][irow]       = roc.fNPads[1][irow];
    fRowPosIndex[1][irow] = roc.fRowPosIndex[1][irow];
  }
  
  for (UInt_t i=0;i<100;++i){
    fPadRowLow[i]=roc.fPadRowLow[i];
    fPadRowUp[i]=roc.fPadRowUp[i];
    fNPadsLow[i]=roc.fNPadsLow[i];
    fNPadsUp[i]=roc.fNPadsUp[i];
    fYInner[i]=roc.fYInner[i];
    fYOuter[i]=roc.fYOuter[i];
  }

}
//____________________________________________________________________________
AliTPCROC & AliTPCROC::operator =(const AliTPCROC & roc)
{
  //
  // assignment operator - dummy
  //
  if (this == &roc) return (*this);

  fZLength = roc.fZLength;
  return (*this);
}
//_____________________________________________________________________________
AliTPCROC::~AliTPCROC()
{
  //
  // AliTPCROC destructor
  //
  delete [] fNPads[0];
  delete [] fNPads[1];
  delete [] fRowPosIndex[0];
  delete [] fRowPosIndex[1];
  fgInstance = 0x0;
  
}




void AliTPCROC::GetPositionLocal(UInt_t sector, UInt_t row, UInt_t pad, Float_t *pos){
  //
  // get position of center of pad - ideal frame used
  //
  pos[2]=fZLength;
  if (sector<36){
   pos[0] = fPadRowLow[row];
   pos[1] = fInnerPadPitchWidth*(Int_t(pad)+0.5-Int_t(fNPads[0][row])/2);
  }else{
    pos[0] = fPadRowUp[row];
    pos[1] = fOuterPadPitchWidth*(Int_t(pad)+0.5-Int_t(fNPads[1][row])/2);    
  }
  if ((sector%36)>=18){
    pos[2] *= -1.;
    pos[1] *= -1.;
  }
}


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