#include "AliEveTPCSectorData.h"
#include <AliTPCParamSR.h>
#include <set>
#include <string.h>
ClassImp(AliEveTPCSectorData)
AliTPCParam* AliEveTPCSectorData::fgParam = 0;
Float_t AliEveTPCSectorData::fgZLength = 0;
Int_t AliEveTPCSectorData::fgNAllRows = 0;
Int_t AliEveTPCSectorData::fgNAllPads = 0;
Int_t* AliEveTPCSectorData::fgRowBegs = 0;
AliEveTPCSectorData::SegmentInfo AliEveTPCSectorData::fgInnSeg;
AliEveTPCSectorData::SegmentInfo AliEveTPCSectorData::fgOut1Seg;
AliEveTPCSectorData::SegmentInfo AliEveTPCSectorData::fgOut2Seg;
AliEveTPCSectorData::SegmentInfo* AliEveTPCSectorData::fgSegInfoPtrs[3] = {0};
void AliEveTPCSectorData::InitStatics()
{
if (fgParam != 0) return;
fgParam = new AliTPCParamSR;
fgZLength = fgParam->GetZLength(0) + 0.275;
fgNAllRows = fgParam->GetNRowLow() + fgParam->GetNRowUp();
fgNAllPads = 0;
fgRowBegs = new Int_t[fgNAllRows + 1];
{
Int_t row = 0;
for (Int_t i=0; i<fgParam->GetNRowLow(); ++i, ++row)
{
fgRowBegs[row] = fgNAllPads;
fgNAllPads += fgParam->GetNPadsLow(i);
}
for (Int_t i=0; i<fgParam->GetNRowUp(); ++i, ++row)
{
fgRowBegs[row] = fgNAllPads;
fgNAllPads += fgParam->GetNPadsUp(i);
}
fgRowBegs[fgNAllRows] = fgNAllPads;
}
fgInnSeg.fPadWidth = fgParam->GetInnerPadPitchWidth();
fgInnSeg.fPadHeight = fgParam->GetInnerPadPitchLength();
fgInnSeg.fRLow = fgParam->GetPadRowRadiiLow(0);
fgInnSeg.fNRows = fgParam->GetNRowLow();
fgInnSeg.fFirstRow = 0;
fgInnSeg.fLastRow = fgInnSeg.fNRows - 1;
fgInnSeg.fNMaxPads = fgParam->GetNPadsLow(fgInnSeg.fNRows - 1);
fgSegInfoPtrs[0] = &fgInnSeg;
fgOut1Seg.fPadWidth = fgParam->GetOuterPadPitchWidth();
fgOut1Seg.fPadHeight = fgParam->GetOuter1PadPitchLength();
fgOut1Seg.fRLow = fgParam->GetPadRowRadiiUp(0);
fgOut1Seg.fNRows = fgParam->GetNRowUp1();
fgOut1Seg.fFirstRow = fgInnSeg.fNRows;
fgOut1Seg.fLastRow = fgOut1Seg.fFirstRow + fgOut1Seg.fNRows - 1;
fgOut1Seg.fNMaxPads = fgParam->GetNPadsUp(fgOut1Seg.fNRows - 1);
fgSegInfoPtrs[1] = &fgOut1Seg;
fgOut2Seg.fPadWidth = fgParam->GetOuterPadPitchWidth();
fgOut2Seg.fPadHeight = fgParam->GetOuter2PadPitchLength();
fgOut2Seg.fRLow = fgParam->GetPadRowRadiiUp(fgOut1Seg.fNRows);
fgOut2Seg.fNRows = fgParam->GetNRowUp() - fgOut1Seg.fNRows;
fgOut2Seg.fFirstRow = fgOut1Seg.fLastRow + 1;
fgOut2Seg.fLastRow = fgOut2Seg.fFirstRow + fgOut2Seg.fNRows - 1;
fgOut2Seg.fNMaxPads = fgParam->GetNPadsUp(fgParam->GetNRowUp() - 1);
fgSegInfoPtrs[2] = &fgOut2Seg;
{
Int_t k=0, npads = fgParam->GetNPadsLow(0);
for (Int_t row = 0; row < fgInnSeg.fNRows; ++row)
{
if (fgParam->GetNPadsLow(row) > npads)
{
npads = fgParam->GetNPadsLow(row);
fgInnSeg.fYStep[k] = row*fgInnSeg.fPadHeight + fgInnSeg.fRLow;
k++;
}
}
fgInnSeg.fNYSteps = k;
}
{
Int_t k=0, npads = fgParam->GetNPadsUp(0);
for (Int_t row = 0; row < fgOut1Seg.fNRows; ++row)
{
if (fgParam->GetNPadsUp(row) > npads)
{
npads = fgParam->GetNPadsUp(row);
fgOut1Seg.fYStep[k] = row*fgOut1Seg.fPadHeight + fgOut1Seg.fRLow ;
k++;
}
}
fgOut1Seg.fNYSteps = k;
}
{
Int_t k=0, npads = fgParam->GetNPadsUp(fgOut1Seg.fNRows);
for (Int_t row = fgOut1Seg.fNRows; row < fgParam->GetNRowUp(); ++row)
{
if (fgParam->GetNPadsUp(row) > npads)
{
npads = fgParam->GetNPadsUp(row);
fgOut2Seg.fYStep[k] = (row - fgOut1Seg.fNRows)*fgOut2Seg.fPadHeight + fgOut2Seg.fRLow ;
k++;
}
}
fgOut2Seg.fNYSteps = k;
}
}
Int_t AliEveTPCSectorData::GetNPadsInRow(Int_t row)
{
if (row < 0 || row >= fgNAllRows) return 0;
return fgRowBegs[row + 1] - fgRowBegs[row];
}
const AliEveTPCSectorData::SegmentInfo& AliEveTPCSectorData::GetSeg(Int_t seg)
{
static const SegmentInfo null;
if (seg < 0 || seg > 2)
return null;
else
return *fgSegInfoPtrs[seg];
}
void AliEveTPCSectorData::NewBlock()
{
fBlocks.push_back(new Short_t[fkBlockSize]);
fBlockPos = 0;
}
AliEveTPCSectorData::AliEveTPCSectorData(Int_t sector, Int_t bsize) :
fSectorID(sector), fNPadsFilled(0), fPads(),
fkBlockSize(bsize), fBlockPos(0), fBlocks(),
fCurrentRow(0), fCurrentPad(0), fCurrentPos(0), fCurrentStep(0)
{
memset(fPadBuffer,0,2048*sizeof(Short_t));
if (fgParam == 0) InitStatics();
fPads.assign(fgNAllPads, PadData());
fBlocks.reserve(16);
fBlockPos = fkBlockSize;
}
AliEveTPCSectorData::~AliEveTPCSectorData()
{
for (std::vector<Short_t*>::iterator b=fBlocks.begin(); b!=fBlocks.end(); ++b)
delete [] *b;
}
void AliEveTPCSectorData::DropData()
{
fPads.assign(fgNAllPads, PadData());
for (std::vector<Short_t*>::iterator b=fBlocks.begin(); b!=fBlocks.end(); ++b)
delete [] *b;
fBlocks.clear();
fBlockPos = fkBlockSize;
}
void AliEveTPCSectorData::Print(Option_t* ) const
{
printf("AliEveTPCSectorData sector=%d, NPadsFilled=%d, NBlocks=%d, BlockPos=%d\n",
fSectorID, fNPadsFilled, (Int_t) fBlocks.size(), fBlockPos);
}
void AliEveTPCSectorData::BeginPad(Int_t row, Int_t pad, Bool_t reverseTime)
{
fCurrentRow = row;
fCurrentPad = pad;
if (reverseTime) {
fCurrentPos = 2046;
fCurrentStep = -2;
} else {
fCurrentPos = 0;
fCurrentStep = 2;
}
}
void AliEveTPCSectorData::EndPad(Bool_t autoPedestal, Short_t threshold)
{
Short_t *beg, *end;
if (fCurrentStep > 0) {
beg = fPadBuffer;
end = fPadBuffer + fCurrentPos;
} else {
beg = fPadBuffer + fCurrentPos + 2;
end = fPadBuffer + 2048;
}
if (beg >= end)
return;
if (autoPedestal) {
Short_t array[1024];
Short_t* val;
val = beg + 1;
while (val <= end) {
array[(val-beg)/2] = *val;
val += 2;
}
Short_t pedestal = TMath::Nint(TMath::Median((end-beg)/2, array));
val = beg + 1;
while (val <= end) {
*val -= pedestal;
val += 2;
}
Short_t* wpos = beg;
Short_t* rpos = beg;
while (rpos < end) {
if (rpos[1] >= threshold) {
wpos[0] = rpos[0];
wpos[1] = rpos[1];
wpos += 2;
}
rpos += 2;
}
end = wpos;
}
Short_t* wpos = beg;
Short_t* rpos = beg;
while (rpos < end) {
Short_t* spos = rpos;
Short_t t = spos[0];
while (true) {
rpos += 2;
if (rpos >= end || *rpos > t + 1 || t == 0)
break;
++t;
}
Short_t n = t - spos[0] + 1;
if (n == 1) {
wpos[0] = -spos[0];
wpos[1] = spos[1];
wpos += 2;
} else {
wpos[0] = spos[0];
wpos[2] = spos[1];
wpos[1] = n;
wpos += 3; spos += 3;
while (--n) {
*wpos = *spos;
++wpos; spos += 2;
}
}
}
if (wpos > beg) {
Short_t len = wpos - beg;
if (len > fkBlockSize - fBlockPos)
NewBlock();
Short_t *dest = fBlocks.back() + fBlockPos;
memcpy(dest, beg, len*sizeof(Short_t));
fBlockPos += len;
PadData& pad = fPads[PadIndex(fCurrentRow, fCurrentPad)];
pad.SetDataLength(dest, len);
}
++fNPadsFilled;
}
const AliEveTPCSectorData::PadData& AliEveTPCSectorData::GetPadData(Int_t padAddr) const
{
static const PadData kNull;
if (padAddr < 0 || padAddr >= fgNAllPads) return kNull;
return fPads[padAddr];
}
const AliEveTPCSectorData::PadData& AliEveTPCSectorData::GetPadData(Int_t row, Int_t pad) const
{
static const PadData kNull;
Int_t np = GetNPadsInRow(row);
if (np == 0 || pad < 0 || pad >= np) return kNull;
return GetPadData(fgRowBegs[row] + pad);
}
AliEveTPCSectorData::PadIterator AliEveTPCSectorData::MakePadIterator(Int_t padAddr, Short_t thr)
{
return PadIterator(GetPadData(padAddr), thr);
}
AliEveTPCSectorData::PadIterator AliEveTPCSectorData::MakePadIterator(Int_t row, Int_t pad, Short_t thr)
{
return PadIterator(GetPadData(row, pad), thr);
}
AliEveTPCSectorData::RowIterator AliEveTPCSectorData::MakeRowIterator(Int_t row, Short_t thr)
{
Short_t npads = GetNPadsInRow(row);
if (npads > 0)
return RowIterator(&fPads[fgRowBegs[row]], npads, thr);
else
return RowIterator(0, 0);
}
void AliEveTPCSectorData::PadData::Print(Option_t* )
{
printf("addr=%p, len=%hd>\n", (void*)fData, fLength);
for (Int_t i=0; i<fLength; ++i)
printf(" %3d %hd\n", i, fData[i]);
}
Bool_t AliEveTPCSectorData::PadIterator::Next()
{
if (fPos >= fEnd) return kFALSE;
if (fNChunk > 0) {
++fTime;
--fNChunk;
fSignal = *fPos; ++fPos;
} else {
fTime = fPos[0];
if (fTime <= 0) {
fTime = -fTime;
fSignal = fPos[1];
fPos += 2;
} else {
fNChunk = fPos[1] - 1;
fSignal = fPos[2];
fPos += 3;
}
}
return (fSignal > fThreshold) ? kTRUE : Next();
}
void AliEveTPCSectorData::PadIterator::Reset()
{
fPos = fBeg;
fTime = -1;
fSignal = -1;
fNChunk = 0;
}
void AliEveTPCSectorData::PadIterator::Reset(const PadData& pd)
{
fBeg = pd.Data();
fEnd = pd.Data() + pd.Length();
fPos = pd.Data();
Reset();
}
void AliEveTPCSectorData::PadIterator::Test()
{
while (Next())
printf(" %3d %d\n", fTime, fSignal);
}
Bool_t AliEveTPCSectorData::RowIterator::NextPad()
{
++fPad;
if(fPad >= fNPads) return kFALSE;
Reset(fPadArray[fPad]);
return kTRUE;
}
void AliEveTPCSectorData::RowIterator::ResetRow()
{
fPad = -1;
}
void AliEveTPCSectorData::RowIterator::ResetRow(const PadData* first, Short_t npads)
{
fPadArray = first;
fNPads = npads;
fPad = -1;
}
ClassImp(AliEveTPCSectorData::SegmentInfo)
AliEveTPCSectorData::SegmentInfo::SegmentInfo() :
TObject(),
fPadWidth(0), fPadHeight(0),
fRLow(0), fNRows(0), fFirstRow(0), fLastRow(0),
fNMaxPads(0),
fNYSteps(0)
{
memset(fYStep, 0, sizeof(fYStep));
}
AliEveTPCSectorData.cxx:1 AliEveTPCSectorData.cxx:2 AliEveTPCSectorData.cxx:3 AliEveTPCSectorData.cxx:4 AliEveTPCSectorData.cxx:5 AliEveTPCSectorData.cxx:6 AliEveTPCSectorData.cxx:7 AliEveTPCSectorData.cxx:8 AliEveTPCSectorData.cxx:9 AliEveTPCSectorData.cxx:10 AliEveTPCSectorData.cxx:11 AliEveTPCSectorData.cxx:12 AliEveTPCSectorData.cxx:13 AliEveTPCSectorData.cxx:14 AliEveTPCSectorData.cxx:15 AliEveTPCSectorData.cxx:16 AliEveTPCSectorData.cxx:17 AliEveTPCSectorData.cxx:18 AliEveTPCSectorData.cxx:19 AliEveTPCSectorData.cxx:20 AliEveTPCSectorData.cxx:21 AliEveTPCSectorData.cxx:22 AliEveTPCSectorData.cxx:23 AliEveTPCSectorData.cxx:24 AliEveTPCSectorData.cxx:25 AliEveTPCSectorData.cxx:26 AliEveTPCSectorData.cxx:27 AliEveTPCSectorData.cxx:28 AliEveTPCSectorData.cxx:29 AliEveTPCSectorData.cxx:30 AliEveTPCSectorData.cxx:31 AliEveTPCSectorData.cxx:32 AliEveTPCSectorData.cxx:33 AliEveTPCSectorData.cxx:34 AliEveTPCSectorData.cxx:35 AliEveTPCSectorData.cxx:36 AliEveTPCSectorData.cxx:37 AliEveTPCSectorData.cxx:38 AliEveTPCSectorData.cxx:39 AliEveTPCSectorData.cxx:40 AliEveTPCSectorData.cxx:41 AliEveTPCSectorData.cxx:42 AliEveTPCSectorData.cxx:43 AliEveTPCSectorData.cxx:44 AliEveTPCSectorData.cxx:45 AliEveTPCSectorData.cxx:46 AliEveTPCSectorData.cxx:47 AliEveTPCSectorData.cxx:48 AliEveTPCSectorData.cxx:49 AliEveTPCSectorData.cxx:50 AliEveTPCSectorData.cxx:51 AliEveTPCSectorData.cxx:52 AliEveTPCSectorData.cxx:53 AliEveTPCSectorData.cxx:54 AliEveTPCSectorData.cxx:55 AliEveTPCSectorData.cxx:56 AliEveTPCSectorData.cxx:57 AliEveTPCSectorData.cxx:58 AliEveTPCSectorData.cxx:59 AliEveTPCSectorData.cxx:60 AliEveTPCSectorData.cxx:61 AliEveTPCSectorData.cxx:62 AliEveTPCSectorData.cxx:63 AliEveTPCSectorData.cxx:64 AliEveTPCSectorData.cxx:65 AliEveTPCSectorData.cxx:66 AliEveTPCSectorData.cxx:67 AliEveTPCSectorData.cxx:68 AliEveTPCSectorData.cxx:69 AliEveTPCSectorData.cxx:70 AliEveTPCSectorData.cxx:71 AliEveTPCSectorData.cxx:72 AliEveTPCSectorData.cxx:73 AliEveTPCSectorData.cxx:74 AliEveTPCSectorData.cxx:75 AliEveTPCSectorData.cxx:76 AliEveTPCSectorData.cxx:77 AliEveTPCSectorData.cxx:78 AliEveTPCSectorData.cxx:79 AliEveTPCSectorData.cxx:80 AliEveTPCSectorData.cxx:81 AliEveTPCSectorData.cxx:82 AliEveTPCSectorData.cxx:83 AliEveTPCSectorData.cxx:84 AliEveTPCSectorData.cxx:85 AliEveTPCSectorData.cxx:86 AliEveTPCSectorData.cxx:87 AliEveTPCSectorData.cxx:88 AliEveTPCSectorData.cxx:89 AliEveTPCSectorData.cxx:90 AliEveTPCSectorData.cxx:91 AliEveTPCSectorData.cxx:92 AliEveTPCSectorData.cxx:93 AliEveTPCSectorData.cxx:94 AliEveTPCSectorData.cxx:95 AliEveTPCSectorData.cxx:96 AliEveTPCSectorData.cxx:97 AliEveTPCSectorData.cxx:98 AliEveTPCSectorData.cxx:99 AliEveTPCSectorData.cxx:100 AliEveTPCSectorData.cxx:101 AliEveTPCSectorData.cxx:102 AliEveTPCSectorData.cxx:103 AliEveTPCSectorData.cxx:104 AliEveTPCSectorData.cxx:105 AliEveTPCSectorData.cxx:106 AliEveTPCSectorData.cxx:107 AliEveTPCSectorData.cxx:108 AliEveTPCSectorData.cxx:109 AliEveTPCSectorData.cxx:110 AliEveTPCSectorData.cxx:111 AliEveTPCSectorData.cxx:112 AliEveTPCSectorData.cxx:113 AliEveTPCSectorData.cxx:114 AliEveTPCSectorData.cxx:115 AliEveTPCSectorData.cxx:116 AliEveTPCSectorData.cxx:117 AliEveTPCSectorData.cxx:118 AliEveTPCSectorData.cxx:119 AliEveTPCSectorData.cxx:120 AliEveTPCSectorData.cxx:121 AliEveTPCSectorData.cxx:122 AliEveTPCSectorData.cxx:123 AliEveTPCSectorData.cxx:124 AliEveTPCSectorData.cxx:125 AliEveTPCSectorData.cxx:126 AliEveTPCSectorData.cxx:127 AliEveTPCSectorData.cxx:128 AliEveTPCSectorData.cxx:129 AliEveTPCSectorData.cxx:130 AliEveTPCSectorData.cxx:131 AliEveTPCSectorData.cxx:132 AliEveTPCSectorData.cxx:133 AliEveTPCSectorData.cxx:134 AliEveTPCSectorData.cxx:135 AliEveTPCSectorData.cxx:136 AliEveTPCSectorData.cxx:137 AliEveTPCSectorData.cxx:138 AliEveTPCSectorData.cxx:139 AliEveTPCSectorData.cxx:140 AliEveTPCSectorData.cxx:141 AliEveTPCSectorData.cxx:142 AliEveTPCSectorData.cxx:143 AliEveTPCSectorData.cxx:144 AliEveTPCSectorData.cxx:145 AliEveTPCSectorData.cxx:146 AliEveTPCSectorData.cxx:147 AliEveTPCSectorData.cxx:148 AliEveTPCSectorData.cxx:149 AliEveTPCSectorData.cxx:150 AliEveTPCSectorData.cxx:151 AliEveTPCSectorData.cxx:152 AliEveTPCSectorData.cxx:153 AliEveTPCSectorData.cxx:154 AliEveTPCSectorData.cxx:155 AliEveTPCSectorData.cxx:156 AliEveTPCSectorData.cxx:157 AliEveTPCSectorData.cxx:158 AliEveTPCSectorData.cxx:159 AliEveTPCSectorData.cxx:160 AliEveTPCSectorData.cxx:161 AliEveTPCSectorData.cxx:162 AliEveTPCSectorData.cxx:163 AliEveTPCSectorData.cxx:164 AliEveTPCSectorData.cxx:165 AliEveTPCSectorData.cxx:166 AliEveTPCSectorData.cxx:167 AliEveTPCSectorData.cxx:168 AliEveTPCSectorData.cxx:169 AliEveTPCSectorData.cxx:170 AliEveTPCSectorData.cxx:171 AliEveTPCSectorData.cxx:172 AliEveTPCSectorData.cxx:173 AliEveTPCSectorData.cxx:174 AliEveTPCSectorData.cxx:175 AliEveTPCSectorData.cxx:176 AliEveTPCSectorData.cxx:177 AliEveTPCSectorData.cxx:178 AliEveTPCSectorData.cxx:179 AliEveTPCSectorData.cxx:180 AliEveTPCSectorData.cxx:181 AliEveTPCSectorData.cxx:182 AliEveTPCSectorData.cxx:183 AliEveTPCSectorData.cxx:184 AliEveTPCSectorData.cxx:185 AliEveTPCSectorData.cxx:186 AliEveTPCSectorData.cxx:187 AliEveTPCSectorData.cxx:188 AliEveTPCSectorData.cxx:189 AliEveTPCSectorData.cxx:190 AliEveTPCSectorData.cxx:191 AliEveTPCSectorData.cxx:192 AliEveTPCSectorData.cxx:193 AliEveTPCSectorData.cxx:194 AliEveTPCSectorData.cxx:195 AliEveTPCSectorData.cxx:196 AliEveTPCSectorData.cxx:197 AliEveTPCSectorData.cxx:198 AliEveTPCSectorData.cxx:199 AliEveTPCSectorData.cxx:200 AliEveTPCSectorData.cxx:201 AliEveTPCSectorData.cxx:202 AliEveTPCSectorData.cxx:203 AliEveTPCSectorData.cxx:204 AliEveTPCSectorData.cxx:205 AliEveTPCSectorData.cxx:206 AliEveTPCSectorData.cxx:207 AliEveTPCSectorData.cxx:208 AliEveTPCSectorData.cxx:209 AliEveTPCSectorData.cxx:210 AliEveTPCSectorData.cxx:211 AliEveTPCSectorData.cxx:212 AliEveTPCSectorData.cxx:213 AliEveTPCSectorData.cxx:214 AliEveTPCSectorData.cxx:215 AliEveTPCSectorData.cxx:216 AliEveTPCSectorData.cxx:217 AliEveTPCSectorData.cxx:218 AliEveTPCSectorData.cxx:219 AliEveTPCSectorData.cxx:220 AliEveTPCSectorData.cxx:221 AliEveTPCSectorData.cxx:222 AliEveTPCSectorData.cxx:223 AliEveTPCSectorData.cxx:224 AliEveTPCSectorData.cxx:225 AliEveTPCSectorData.cxx:226 AliEveTPCSectorData.cxx:227 AliEveTPCSectorData.cxx:228 AliEveTPCSectorData.cxx:229 AliEveTPCSectorData.cxx:230 AliEveTPCSectorData.cxx:231 AliEveTPCSectorData.cxx:232 AliEveTPCSectorData.cxx:233 AliEveTPCSectorData.cxx:234 AliEveTPCSectorData.cxx:235 AliEveTPCSectorData.cxx:236 AliEveTPCSectorData.cxx:237 AliEveTPCSectorData.cxx:238 AliEveTPCSectorData.cxx:239 AliEveTPCSectorData.cxx:240 AliEveTPCSectorData.cxx:241 AliEveTPCSectorData.cxx:242 AliEveTPCSectorData.cxx:243 AliEveTPCSectorData.cxx:244 AliEveTPCSectorData.cxx:245 AliEveTPCSectorData.cxx:246 AliEveTPCSectorData.cxx:247 AliEveTPCSectorData.cxx:248 AliEveTPCSectorData.cxx:249 AliEveTPCSectorData.cxx:250 AliEveTPCSectorData.cxx:251 AliEveTPCSectorData.cxx:252 AliEveTPCSectorData.cxx:253 AliEveTPCSectorData.cxx:254 AliEveTPCSectorData.cxx:255 AliEveTPCSectorData.cxx:256 AliEveTPCSectorData.cxx:257 AliEveTPCSectorData.cxx:258 AliEveTPCSectorData.cxx:259 AliEveTPCSectorData.cxx:260 AliEveTPCSectorData.cxx:261 AliEveTPCSectorData.cxx:262 AliEveTPCSectorData.cxx:263 AliEveTPCSectorData.cxx:264 AliEveTPCSectorData.cxx:265 AliEveTPCSectorData.cxx:266 AliEveTPCSectorData.cxx:267 AliEveTPCSectorData.cxx:268 AliEveTPCSectorData.cxx:269 AliEveTPCSectorData.cxx:270 AliEveTPCSectorData.cxx:271 AliEveTPCSectorData.cxx:272 AliEveTPCSectorData.cxx:273 AliEveTPCSectorData.cxx:274 AliEveTPCSectorData.cxx:275 AliEveTPCSectorData.cxx:276 AliEveTPCSectorData.cxx:277 AliEveTPCSectorData.cxx:278 AliEveTPCSectorData.cxx:279 AliEveTPCSectorData.cxx:280 AliEveTPCSectorData.cxx:281 AliEveTPCSectorData.cxx:282 AliEveTPCSectorData.cxx:283 AliEveTPCSectorData.cxx:284 AliEveTPCSectorData.cxx:285 AliEveTPCSectorData.cxx:286 AliEveTPCSectorData.cxx:287 AliEveTPCSectorData.cxx:288 AliEveTPCSectorData.cxx:289 AliEveTPCSectorData.cxx:290 AliEveTPCSectorData.cxx:291 AliEveTPCSectorData.cxx:292 AliEveTPCSectorData.cxx:293 AliEveTPCSectorData.cxx:294 AliEveTPCSectorData.cxx:295 AliEveTPCSectorData.cxx:296 AliEveTPCSectorData.cxx:297 AliEveTPCSectorData.cxx:298 AliEveTPCSectorData.cxx:299 AliEveTPCSectorData.cxx:300 AliEveTPCSectorData.cxx:301 AliEveTPCSectorData.cxx:302 AliEveTPCSectorData.cxx:303 AliEveTPCSectorData.cxx:304 AliEveTPCSectorData.cxx:305 AliEveTPCSectorData.cxx:306 AliEveTPCSectorData.cxx:307 AliEveTPCSectorData.cxx:308 AliEveTPCSectorData.cxx:309 AliEveTPCSectorData.cxx:310 AliEveTPCSectorData.cxx:311 AliEveTPCSectorData.cxx:312 AliEveTPCSectorData.cxx:313 AliEveTPCSectorData.cxx:314 AliEveTPCSectorData.cxx:315 AliEveTPCSectorData.cxx:316 AliEveTPCSectorData.cxx:317 AliEveTPCSectorData.cxx:318 AliEveTPCSectorData.cxx:319 AliEveTPCSectorData.cxx:320 AliEveTPCSectorData.cxx:321 AliEveTPCSectorData.cxx:322 AliEveTPCSectorData.cxx:323 AliEveTPCSectorData.cxx:324 AliEveTPCSectorData.cxx:325 AliEveTPCSectorData.cxx:326 AliEveTPCSectorData.cxx:327 AliEveTPCSectorData.cxx:328 AliEveTPCSectorData.cxx:329 AliEveTPCSectorData.cxx:330 AliEveTPCSectorData.cxx:331 AliEveTPCSectorData.cxx:332 AliEveTPCSectorData.cxx:333 AliEveTPCSectorData.cxx:334 AliEveTPCSectorData.cxx:335 AliEveTPCSectorData.cxx:336 AliEveTPCSectorData.cxx:337 AliEveTPCSectorData.cxx:338 AliEveTPCSectorData.cxx:339 AliEveTPCSectorData.cxx:340 AliEveTPCSectorData.cxx:341 AliEveTPCSectorData.cxx:342 AliEveTPCSectorData.cxx:343 AliEveTPCSectorData.cxx:344 AliEveTPCSectorData.cxx:345 AliEveTPCSectorData.cxx:346 AliEveTPCSectorData.cxx:347 AliEveTPCSectorData.cxx:348 AliEveTPCSectorData.cxx:349 AliEveTPCSectorData.cxx:350 AliEveTPCSectorData.cxx:351 AliEveTPCSectorData.cxx:352 AliEveTPCSectorData.cxx:353 AliEveTPCSectorData.cxx:354 AliEveTPCSectorData.cxx:355 AliEveTPCSectorData.cxx:356 AliEveTPCSectorData.cxx:357 AliEveTPCSectorData.cxx:358 AliEveTPCSectorData.cxx:359 AliEveTPCSectorData.cxx:360 AliEveTPCSectorData.cxx:361 AliEveTPCSectorData.cxx:362 AliEveTPCSectorData.cxx:363 AliEveTPCSectorData.cxx:364 AliEveTPCSectorData.cxx:365 AliEveTPCSectorData.cxx:366 AliEveTPCSectorData.cxx:367 AliEveTPCSectorData.cxx:368 AliEveTPCSectorData.cxx:369 AliEveTPCSectorData.cxx:370 AliEveTPCSectorData.cxx:371 AliEveTPCSectorData.cxx:372 AliEveTPCSectorData.cxx:373 AliEveTPCSectorData.cxx:374 AliEveTPCSectorData.cxx:375 AliEveTPCSectorData.cxx:376 AliEveTPCSectorData.cxx:377 AliEveTPCSectorData.cxx:378 AliEveTPCSectorData.cxx:379 AliEveTPCSectorData.cxx:380 AliEveTPCSectorData.cxx:381 AliEveTPCSectorData.cxx:382 AliEveTPCSectorData.cxx:383 AliEveTPCSectorData.cxx:384 AliEveTPCSectorData.cxx:385 AliEveTPCSectorData.cxx:386 AliEveTPCSectorData.cxx:387 AliEveTPCSectorData.cxx:388 AliEveTPCSectorData.cxx:389 AliEveTPCSectorData.cxx:390 AliEveTPCSectorData.cxx:391 AliEveTPCSectorData.cxx:392 AliEveTPCSectorData.cxx:393 AliEveTPCSectorData.cxx:394 AliEveTPCSectorData.cxx:395 AliEveTPCSectorData.cxx:396 AliEveTPCSectorData.cxx:397 AliEveTPCSectorData.cxx:398 AliEveTPCSectorData.cxx:399 AliEveTPCSectorData.cxx:400 AliEveTPCSectorData.cxx:401 AliEveTPCSectorData.cxx:402 AliEveTPCSectorData.cxx:403 AliEveTPCSectorData.cxx:404 AliEveTPCSectorData.cxx:405 AliEveTPCSectorData.cxx:406 AliEveTPCSectorData.cxx:407 AliEveTPCSectorData.cxx:408 AliEveTPCSectorData.cxx:409 AliEveTPCSectorData.cxx:410 AliEveTPCSectorData.cxx:411 AliEveTPCSectorData.cxx:412 AliEveTPCSectorData.cxx:413 AliEveTPCSectorData.cxx:414 AliEveTPCSectorData.cxx:415 AliEveTPCSectorData.cxx:416 AliEveTPCSectorData.cxx:417 AliEveTPCSectorData.cxx:418 AliEveTPCSectorData.cxx:419 AliEveTPCSectorData.cxx:420 AliEveTPCSectorData.cxx:421 AliEveTPCSectorData.cxx:422 AliEveTPCSectorData.cxx:423 AliEveTPCSectorData.cxx:424 AliEveTPCSectorData.cxx:425 AliEveTPCSectorData.cxx:426 AliEveTPCSectorData.cxx:427 AliEveTPCSectorData.cxx:428 AliEveTPCSectorData.cxx:429 AliEveTPCSectorData.cxx:430 AliEveTPCSectorData.cxx:431 AliEveTPCSectorData.cxx:432 AliEveTPCSectorData.cxx:433 AliEveTPCSectorData.cxx:434 AliEveTPCSectorData.cxx:435 AliEveTPCSectorData.cxx:436 AliEveTPCSectorData.cxx:437 AliEveTPCSectorData.cxx:438 AliEveTPCSectorData.cxx:439 AliEveTPCSectorData.cxx:440 AliEveTPCSectorData.cxx:441 AliEveTPCSectorData.cxx:442 AliEveTPCSectorData.cxx:443 AliEveTPCSectorData.cxx:444 AliEveTPCSectorData.cxx:445 AliEveTPCSectorData.cxx:446 AliEveTPCSectorData.cxx:447 AliEveTPCSectorData.cxx:448 AliEveTPCSectorData.cxx:449 AliEveTPCSectorData.cxx:450 AliEveTPCSectorData.cxx:451 AliEveTPCSectorData.cxx:452 AliEveTPCSectorData.cxx:453 AliEveTPCSectorData.cxx:454 AliEveTPCSectorData.cxx:455 AliEveTPCSectorData.cxx:456 AliEveTPCSectorData.cxx:457 AliEveTPCSectorData.cxx:458 AliEveTPCSectorData.cxx:459 AliEveTPCSectorData.cxx:460 AliEveTPCSectorData.cxx:461 AliEveTPCSectorData.cxx:462 AliEveTPCSectorData.cxx:463 AliEveTPCSectorData.cxx:464 AliEveTPCSectorData.cxx:465 AliEveTPCSectorData.cxx:466 AliEveTPCSectorData.cxx:467 AliEveTPCSectorData.cxx:468 AliEveTPCSectorData.cxx:469 AliEveTPCSectorData.cxx:470 AliEveTPCSectorData.cxx:471 AliEveTPCSectorData.cxx:472 AliEveTPCSectorData.cxx:473 AliEveTPCSectorData.cxx:474 AliEveTPCSectorData.cxx:475 AliEveTPCSectorData.cxx:476 AliEveTPCSectorData.cxx:477 AliEveTPCSectorData.cxx:478 AliEveTPCSectorData.cxx:479 AliEveTPCSectorData.cxx:480 AliEveTPCSectorData.cxx:481 AliEveTPCSectorData.cxx:482 AliEveTPCSectorData.cxx:483 AliEveTPCSectorData.cxx:484 AliEveTPCSectorData.cxx:485 AliEveTPCSectorData.cxx:486 AliEveTPCSectorData.cxx:487 AliEveTPCSectorData.cxx:488 AliEveTPCSectorData.cxx:489 AliEveTPCSectorData.cxx:490 AliEveTPCSectorData.cxx:491 AliEveTPCSectorData.cxx:492 AliEveTPCSectorData.cxx:493 AliEveTPCSectorData.cxx:494 AliEveTPCSectorData.cxx:495 AliEveTPCSectorData.cxx:496 AliEveTPCSectorData.cxx:497 AliEveTPCSectorData.cxx:498 AliEveTPCSectorData.cxx:499 AliEveTPCSectorData.cxx:500 AliEveTPCSectorData.cxx:501 AliEveTPCSectorData.cxx:502 AliEveTPCSectorData.cxx:503 AliEveTPCSectorData.cxx:504 AliEveTPCSectorData.cxx:505 AliEveTPCSectorData.cxx:506 AliEveTPCSectorData.cxx:507 AliEveTPCSectorData.cxx:508 AliEveTPCSectorData.cxx:509 AliEveTPCSectorData.cxx:510 AliEveTPCSectorData.cxx:511 AliEveTPCSectorData.cxx:512 AliEveTPCSectorData.cxx:513 AliEveTPCSectorData.cxx:514 AliEveTPCSectorData.cxx:515 AliEveTPCSectorData.cxx:516 AliEveTPCSectorData.cxx:517 AliEveTPCSectorData.cxx:518 AliEveTPCSectorData.cxx:519