/*
<img src="gif/AliTPCTrackHitsV2.gif">
*/
//End_Html
#include <TClonesArray.h>
#include <TMath.h>
#include "AliTPCTrackHitsV2.h"
#include "AliTPC.h"
ClassImp(AliTPCTrackHitsV2)
ClassImp(AliTrackHitsParamV2)
Int_t AliTrackHitsParamV2::fgCounter1 =0;
Int_t AliTrackHitsParamV2::fgCounter2 =0;
Int_t AliTPCTrackHitsV2::fgCounter1 =0;
Int_t AliTPCTrackHitsV2::fgCounter2 =0;
const Double_t AliTPCTrackHitsV2::fgkPrecision=1e-6;
const Double_t AliTPCTrackHitsV2::fgkPrecision2=1e-20;
const Double_t AliTPCTrackHitsV2::fgkTimePrecision=20.e-9;
class AliTPCTempHitInfoV2 {
public:
AliTPCTempHitInfoV2();
void SetHit(Double_t r, Double_t z, Double_t fi, Int_t q, Float_t time);
UInt_t GetStackIndex() const {return fStackIndex;}
void SetStackIndex(UInt_t i) {fStackIndex=i;}
UInt_t GetParamIndex() const {return fParamIndex;}
void SetParamIndex(UInt_t i) {fParamIndex=i;}
Float_t GetTimeStack(Int_t i) const {return fTimeStack[i];}
const Float_t* GetTimeStackP(Int_t i) const {return &fTimeStack[i];}
UInt_t GetQStack(Int_t i) const {return fQStack[i];}
const UInt_t* GetQStackP(Int_t i) const {return &fQStack[i];}
Double_t * GetPosition(Int_t index){return &fPositionStack[index*3];}
Double_t GetOldR() const {return fOldR;}
void SetOldR(Double_t r) {fOldR=r;}
AliTrackHitsParamV2 * GetParam() const {return fParam;}
void SetParam(AliTrackHitsParamV2 * p) {fParam=p;}
void UpdateParam(Double_t maxdelta);
void NewParam(Double_t r, Double_t z, Double_t fi, Int_t q, Float_t time);
enum {kStackSize = 10000};
protected:
AliTPCTempHitInfoV2(const AliTPCTempHitInfoV2 &hit);
AliTPCTempHitInfoV2& operator = (const AliTPCTempHitInfoV2 &hit);
void Fit2(Double_t fSumY, Double_t fSumYX, Double_t fSumYX2,
Double_t fSumX, Double_t fSumX2, Double_t fSumX3,
Double_t fSumX4, Int_t n,
Double_t &a, Double_t &b, Double_t &c);
void Fit(AliTrackHitsParamV2 * param);
Double_t fSumDr;
Double_t fSumDr2;
Double_t fSumDr3;
Double_t fSumDr4;
Double_t fSumDFi;
Double_t fSumDFiDr;
Double_t fSumDFiDr2;
Double_t fSumDZ;
Double_t fSumDZDr;
Double_t fSumDZDr2;
Double_t fOldR;
Double_t fPositionStack[3*kStackSize];
UInt_t fQStack[kStackSize];
Float_t fTimeStack[kStackSize];
UInt_t fStackIndex;
UInt_t fParamIndex;
AliTrackHitsParamV2 * fParam;
};
AliTPCTempHitInfoV2::AliTPCTempHitInfoV2()
:fSumDr(0.),
fSumDr2(0.),
fSumDr3(0.),
fSumDr4(0.),
fSumDFi(0.),
fSumDFiDr(0.),
fSumDFiDr2(0.),
fSumDZ(0.),
fSumDZDr(0.),
fSumDZDr2(0.),
fOldR(0.),
fStackIndex(0),
fParamIndex(0),
fParam(0)
{
fSumDr=fSumDr2=fSumDr3=fSumDr4=
fSumDFi=fSumDFiDr=fSumDFiDr2=
fSumDZ=fSumDZDr=fSumDZDr2=0;
fStackIndex = 0;
fParamIndex = 0;
for(Int_t i=0;i<3*kStackSize;i++) fPositionStack[i]=0.;
for(Int_t i=0;i<kStackSize;i++){
fQStack[i]=0;
fTimeStack[i]=0.;
}
}
void AliTPCTempHitInfoV2::NewParam(Double_t r, Double_t z, Double_t fi, Int_t q, Float_t time)
{
fSumDr=fSumDr2=fSumDr3=fSumDr4=
fSumDFi=fSumDFiDr=fSumDFiDr2=
fSumDZ=fSumDZDr=fSumDZDr2=0;
fStackIndex=0;
fParam->SetR(r);
fOldR = r;
fParam->SetZ(z);
fParam->SetFi(fi);
fParam->SetAn(0.);
fParam->SetAd(0.);
fParam->SetTheta(0.);
fParam->SetThetaD(0.);
SetHit(r,z,fi,q,time);
}
void AliTPCTempHitInfoV2::SetHit(Double_t r, Double_t z, Double_t fi, Int_t q, Float_t time)
{
Double_t *f = GetPosition(fStackIndex);
f[0] = r;
f[1] = z;
f[2] = fi;
fQStack[fStackIndex]=q;
fTimeStack[fStackIndex]=time;
if (fStackIndex==0) return;
Double_t dr = (r-fParam->GetR());
if (TMath::Abs(dr)<AliTPCTrackHitsV2::GetKPrecision()) dr =AliTPCTrackHitsV2::GetKPrecision();
Double_t dfi = fi-fParam->GetFi();
Double_t dz = z -fParam->GetZ();
Double_t dr2 =dr*dr;
Double_t dr3 =dr2*dr;
Double_t dr4 =dr3*dr;
fSumDr +=dr;
fSumDr2+=dr2;
fSumDr3+=dr3;
fSumDr4+=dr4;
fSumDFi +=dfi;
fSumDFiDr+=dfi*dr;
fSumDFiDr2+=dfi*dr2;
fSumDZ +=dz;
fSumDZDr+=dz*dr;
fSumDZDr2+=dz*dr2;
Double_t det = fSumDr2*fSumDr4-fSumDr3*fSumDr3;
if (TMath::Abs(det)<AliTPCTrackHitsV2::GetKPrecision2()) return;
if ( ( fStackIndex>1 ) ){
fParam->SetAn((fSumDr4*fSumDFiDr-fSumDr3*fSumDFiDr2)/det);
fParam->SetAd((fSumDr2*fSumDFiDr2-fSumDr3*fSumDFiDr)/det);
}
else
fParam->SetAn(fSumDFiDr/fSumDr2);
if ( ( fStackIndex>1 ) ){
fParam->SetTheta((fSumDr4*fSumDZDr-fSumDr3*fSumDZDr2)/det);
fParam->SetThetaD((fSumDr2*fSumDZDr2-fSumDr3*fSumDZDr)/det);
}
else
fParam->SetTheta(fSumDZDr/fSumDr2);
}
void AliTPCTempHitInfoV2::UpdateParam(Double_t maxdelta)
{
if (fStackIndex>5){
Double_t a,b,c;
a=b=c=0;
Fit2(fSumDFi, fSumDFiDr, fSumDFiDr2, fSumDr,fSumDr2,fSumDr3,fSumDr4,
fStackIndex, a,b,c);
if (TMath::Abs(a)<maxdelta){
fParam->SetFi(fParam->GetFi()+a/fParam->GetR());
fParam->SetAn(b);
fParam->SetAd(c);
}
Fit2(fSumDZ, fSumDZDr, fSumDZDr2, fSumDr,fSumDr2,fSumDr3,fSumDr4,
fStackIndex, a,b,c) ;
if (TMath::Abs(a)<maxdelta){
fParam->SetZ(fParam->GetZ()+a);
fParam->SetTheta(b);
fParam->SetThetaD(c);
}
}
}
void AliTPCTempHitInfoV2::Fit2(Double_t fSumY, Double_t fSumYX, Double_t fSumYX2,
Double_t fSumX, Double_t fSumX2, Double_t fSumX3,
Double_t fSumX4, Int_t n,
Double_t &a, Double_t &b, Double_t &c)
{
Double_t det =
n* (fSumX2*fSumX4-fSumX3*fSumX3) -
fSumX* (fSumX*fSumX4-fSumX3*fSumX2)+
fSumX2* (fSumX*fSumX3-fSumX2*fSumX2);
if (TMath::Abs(det)> AliTPCTrackHitsV2::GetKPrecision()) {
a =
(fSumY * (fSumX2*fSumX4-fSumX3*fSumX3)-
fSumX *(fSumYX*fSumX4-fSumYX2*fSumX3)+
fSumX2*(fSumYX*fSumX3-fSumYX2*fSumX2))/det;
b=
(n*(fSumYX*fSumX4-fSumX3*fSumYX2)-
fSumY*(fSumX*fSumX4-fSumX3*fSumX2)+
fSumX2*(fSumX*fSumYX2-fSumYX*fSumX2))/det;
c=
(n*(fSumX2*fSumYX2-fSumYX*fSumX3)-
fSumX*(fSumX*fSumYX2-fSumYX*fSumX2)+
fSumY*(fSumX*fSumX3-fSumX2*fSumX2))/det;
}
}
void AliTPCTempHitInfoV2::Fit(AliTrackHitsParamV2 * param)
{
Double_t dx2 = (GetPosition(fStackIndex))[0]-fParam->GetR();
Double_t det = fSumDr4+dx2*fSumDr2-2*dx2*fSumDr3;
if ( (TMath::Abs(det)> AliTPCTrackHitsV2::GetKPrecision()) &&
((TMath::Abs(dx2)> AliTPCTrackHitsV2::GetKPrecision()))){
Double_t dfi2 = (GetPosition(fStackIndex))[1]-fParam->GetFi();
param->SetAd((fSumDFiDr2+dfi2*fSumDr-dx2*fSumDFiDr-dfi2*fSumDr3/dx2)/det);
param->SetAn((dfi2-param->GetAd()*dx2*dx2)/dx2);
Double_t dz2 = (GetPosition(fStackIndex))[1]-fParam->GetZ();
param->SetTheta((fSumDZDr2+dz2*fSumDr-dx2*fSumDZDr-dz2*fSumDr3/dx2)/det);
param->SetTheta((dz2-param->GetAd()*dx2*dx2)/dx2);
}
}
AliTrackHitsParamV2::AliTrackHitsParamV2():TObject(),
fTrackID(0),
fVolumeID(0),
fR(0.),
fZ(0.),
fFi(0.),
fAn(0.),
fAd(0.),
fTheta(0.),
fThetaD(0.),
fNHits(0),
fHitDistance(0),
fCharge(0),
fTime(0)
{
fgCounter1++;
fgCounter2++;
}
AliTrackHitsParamV2::~AliTrackHitsParamV2()
{
fgCounter1--;
if (fHitDistance) {
delete[]fHitDistance;
fHitDistance=0;
}
if (fCharge){
delete[]fCharge;
fCharge =0;
}
if (fTime){
delete[]fTime;
fTime =0;
}
}
Float_t AliTrackHitsParamV2::Eta() const
{
Float_t ctg = fZ / fR;
Float_t eta = -TMath::Log(TMath::Hypot(1,ctg)-TMath::Abs(ctg));
if(ctg < 0) eta = -eta;
return eta;
}
AliTPCTrackHitsV2::AliTPCTrackHitsV2():TObject(),
fArray(0),
fSize(0),
fPrecision(0.),
fStep(0.),
fMaxDistance(0),
fNVolumes(0),
fVolumes(0),
fTempInfo(0),
fCurrentHit(0),
fHit(0)
{
const Float_t kHitPrecision=0.002;
const Float_t kStep =0.003;
const UShort_t kMaxDistance =100;
fPrecision=kHitPrecision;
fStep = kStep;
fMaxDistance = kMaxDistance;
fArray = new TClonesArray("AliTrackHitsParamV2");
fCurrentHit = new AliTPCCurrentHitV2;
fgCounter1++;
fgCounter2++;
}
AliTPCTrackHitsV2::~AliTPCTrackHitsV2()
{
if (fArray) {
delete fArray;
fArray =0;
}
if (fCurrentHit) delete fCurrentHit;
if (fTempInfo) delete fTempInfo;
if (fVolumes) {
delete [] fVolumes;
fVolumes =0;
fNVolumes=0;
}
if (fHit){
delete fHit;
fHit=0;
}
fgCounter1--;
}
void AliTPCTrackHitsV2::Clear(Option_t * )
{
fSize = 0;
if (fArray){
for (Int_t i=0;i<fArray->GetEntriesFast();i++){
AliTrackHitsParamV2 * par = (AliTrackHitsParamV2 *)fArray->UncheckedAt(i);
par->~AliTrackHitsParamV2();
}
fArray->Clear();
}
if (fTempInfo){
delete fTempInfo;
delete fHit;
fHit =0;
fTempInfo =0;
}
if (fVolumes){
delete [] fVolumes;
fVolumes=0;
fNVolumes=0;
}
}
void AliTPCTrackHitsV2::AddHitKartez(Int_t volumeID, Int_t trackID, Double_t x,
Double_t y, Double_t z,Int_t q, Float_t time)
{
Double_t r = TMath::Sqrt(x*x+y*y);
Double_t fi = TMath::ACos(x/r);
if (y<0) fi*=-1.;
AddHit(volumeID,trackID,r,z,fi,q,time);
}
void AliTPCTrackHitsV2::AddHit(Int_t volumeID, Int_t trackID,
Double_t r, Double_t z, Double_t fi, Int_t q, Float_t time)
{
fSize++;
Bool_t diff=kFALSE;
if (!fTempInfo) {
fTempInfo = new AliTPCTempHitInfoV2;
fTempInfo->SetParam(new((*fArray)[0]) AliTrackHitsParamV2);
fTempInfo->GetParam()->SetVolumeID(volumeID);
fTempInfo->GetParam()->SetTrackID(trackID);
AddVolume(volumeID);
fTempInfo->SetParamIndex(0);
fTempInfo->NewParam(r,z,fi,q,time);
return;
}
if ( (volumeID!=fTempInfo->GetParam()->GetVolumeID()) ||
(trackID!=fTempInfo->GetParam()->GetTrackID())){
if (volumeID!=fTempInfo->GetParam()->GetVolumeID()) AddVolume(volumeID);
diff=kTRUE;
FlushHitStack(kTRUE);
fTempInfo->SetParamIndex(fTempInfo->GetParamIndex()+1);
fTempInfo->SetParam(new((*fArray)[fTempInfo->GetParamIndex()]) AliTrackHitsParamV2);
fTempInfo->GetParam()->SetVolumeID(volumeID);
fTempInfo->GetParam()->SetTrackID(trackID);
fTempInfo->NewParam(r,z,fi,q,time);
return;
}
AliTrackHitsParamV2 ¶m = *(fTempInfo->GetParam());
Double_t dd=0;
Double_t dl=0;
Double_t ratio=0;
Double_t dr,dz,dfi,ddz,ddfi;
Double_t drhit,ddl;
dr=dz=dfi=ddz=ddfi=0;
drhit = r-fTempInfo->GetOldR();
{
Double_t dfi2 = param.GetAn();
dfi2*=dfi2*fTempInfo->GetOldR()*fTempInfo->GetOldR();
Double_t ddz2 = param.GetTheta();
ddz2*=ddz2;
ratio = TMath::Sqrt(1.+ dfi2+ ddz2);
}
dl = drhit*ratio/fStep;
if (TMath::Abs(dl)>32765) dl =0;
dl = fStep * Short_t(TMath::Nint(dl));
ddl = dl - drhit*ratio;
fTempInfo->SetOldR(fTempInfo->GetOldR()+dl/ratio);
if (fTempInfo->GetStackIndex()>2){
dr = r-param.GetR();
dz = z-param.GetZ();
dfi = fi-param.GetFi();
ddz = dr*param.GetTheta()+dr*dr*param.GetThetaD()-dz;
ddfi= dr*param.GetAn()+dr*dr*param.GetAd()-dfi;
dd = TMath::Sqrt(ddz*ddz+r*r*ddfi*ddfi+ddl*ddl);
}
if ( ( (dd*1.25>fPrecision) ) ||
(fTempInfo->GetStackIndex()+4>fTempInfo->kStackSize) ||
(TMath::Abs(dl/fStep)>fMaxDistance) )
diff=kTRUE;
else{
fTempInfo->SetStackIndex(fTempInfo->GetStackIndex()+1);
fTempInfo->SetHit(r,z,fi,q,time);
return;
}
if (FlushHitStack(kFALSE)){
fTempInfo->SetParamIndex(fTempInfo->GetParamIndex()+1);
fTempInfo->SetParam(new((*fArray)[fTempInfo->GetParamIndex()]) AliTrackHitsParamV2);
fTempInfo->GetParam()->SetVolumeID(volumeID);
fTempInfo->GetParam()->SetTrackID(trackID);
fTempInfo->NewParam(r,z,fi,q,time);
}
else{
fTempInfo->SetStackIndex(fTempInfo->GetStackIndex()+1);
fTempInfo->SetHit(r,z,fi,q,time);
}
}
Bool_t AliTPCTrackHitsV2::FlushHitStack(Bool_t force)
{
if (!fTempInfo) return kFALSE;
AliTrackHitsParamV2 & param = *(fTempInfo->GetParam());
fTempInfo->UpdateParam(fStep/4.);
Double_t oldr = param.GetR();
UInt_t i;
Double_t dd;
param.SetNHits(fTempInfo->GetStackIndex()+1);
param.SetHitDistance(param.GetNHits());
param.SetCharge(param.GetNHits());
param.SetTime(param.GetNHits());
for (i=0; i <= fTempInfo->GetStackIndex(); i++){
Double_t * position = fTempInfo->GetPosition(i);
Double_t dr = position[0]-oldr;
Double_t ratio;
{
Double_t dfi2 = param.GetAn();
dfi2*=dfi2*oldr*oldr;
Double_t ddz2 = param.GetTheta();
ddz2*=ddz2;
ratio = TMath::Sqrt(1.+ dfi2+ ddz2);
}
Double_t dl = dr*ratio/fStep;
if (TMath::Abs(dl)>32765) dl =0;
dl = fStep * Short_t(TMath::Nint(dl));
dr = dl/ratio;
oldr+=dr;
AliTrackHitsParamV2 ¶ml = *(fTempInfo->GetParam());
Double_t dr1= position[0]-paraml.GetR();
Double_t dz = position[1]-paraml.GetZ();
Double_t dfi = position[2]-paraml.GetFi();
Double_t dr2 = oldr-paraml.GetR();
Double_t ddr = dr2-dr1;
Double_t ddz = dr2*paraml.GetTheta()+dr2*dr2*paraml.GetThetaD()-dz;
Double_t ddfi= dr2*paraml.GetAn()+dr2*dr2*paraml.GetAd()-dfi;
dd = TMath::Sqrt(ddz*ddz+oldr*oldr*ddfi*ddfi+ddr*ddr);
if ( (dd>fPrecision) ){
if (i==0){
paraml.SetAn(0);
paraml.SetAd(0);
paraml.SetTheta(0);
paraml.SetThetaD(0);
Double_t ddz1 = dr2*paraml.GetTheta()+dr2*dr2*paraml.GetThetaD()-dz;
Double_t ddfi1= dr2*paraml.GetAn()+dr2*dr2*paraml.GetAd()-dfi;
dl = 0;
dd = TMath::Sqrt(ddz1*ddz1+oldr*oldr*ddfi1*ddfi1+ddr*ddr);
}
else
break;
}
paraml.HitDistance(i)= Short_t(TMath::Nint(dl/fStep));
paraml.Charge(i)= Short_t(fTempInfo->GetQStack(i));
paraml.Time(i)= Short_t(fTempInfo->GetTimeStack(i)/AliTPCTrackHitsV2::fgkTimePrecision);
}
if (i<=fTempInfo->GetStackIndex()){
param.SetNHits(i);
param.ResizeCharge(i);
param.ResizeTime(i);
param.ResizeHitDistance(i);
Int_t volumeID = fTempInfo->GetParam()->GetVolumeID();
Int_t trackID =fTempInfo->GetParam()->GetTrackID();
fTempInfo->SetParamIndex(fTempInfo->GetParamIndex()+1);
fTempInfo->SetParam(new((*fArray)[fTempInfo->GetParamIndex()]) AliTrackHitsParamV2);
Double_t * p = fTempInfo->GetPosition(i);
UInt_t index2 = fTempInfo->GetStackIndex();
fTempInfo->NewParam(p[0],p[1],p[2],fTempInfo->GetQStack(i),fTempInfo->GetTimeStack(i));
fTempInfo->GetParam()->SetVolumeID(volumeID);
fTempInfo->GetParam()->SetTrackID(trackID);
if (i+1<=index2) FlushHitStack2(i+1,index2);
if (force) return FlushHitStack(kTRUE);
return kFALSE;
}
return kTRUE;
}
void AliTPCTrackHitsV2::FlushHitStack2(Int_t index1, Int_t index2)
{
Double_t * positionstack = new Double_t[3*(index2-index1+1)];
UInt_t * qstack = new UInt_t[index2-index1+1];
Float_t * timestack = new Float_t[index2-index1+1];
memcpy(positionstack, fTempInfo->GetPosition(index1),
(3*(index2-index1+1))*sizeof(Double_t));
memcpy(qstack, fTempInfo->GetQStackP(index1),(index2-index1+1)*sizeof(UInt_t));
memcpy(timestack, fTempInfo->GetTimeStackP(index1),(index2-index1+1)*sizeof(Float_t));
Double_t *p = positionstack;
for (Int_t j=0; j<=index2-index1;j++){
fTempInfo->SetStackIndex(fTempInfo->GetStackIndex()+1);
fTempInfo->SetHit(p[3*j+0],p[3*j+1],p[3*j+2],qstack[j],timestack[j]);
}
delete []positionstack;
delete []qstack;
delete []timestack;
}
void AliTPCTrackHitsV2::AddVolume(Int_t volume)
{
Int_t * volumes = new Int_t[fNVolumes+1];
if (fVolumes) memcpy(volumes,fVolumes,(fNVolumes)*sizeof(Int_t));
volumes[fNVolumes]=volume;
fNVolumes++;
if (fVolumes) delete []fVolumes;
fVolumes = volumes;
}
Bool_t AliTPCTrackHitsV2::First()
{
if (fArray->GetSize()<=0) {
fCurrentHit->SetStatus(kFALSE);
return kFALSE;
}
AliTrackHitsParamV2 *param = (AliTrackHitsParamV2 *)fArray->At(0);
if (!fHit) fHit = new AliTPChit;
if (!(param) ) {
fCurrentHit->SetStatus(kFALSE);
return kFALSE;
}
fCurrentHit->SetParamIndex(0);
fCurrentHit->SetStackIndex(0);
((AliTPChit*)fHit)->fSector = param->GetVolumeID();
((AliTPChit*)fHit)->SetTrack(param->GetTrackID());
((AliTPChit*)fHit)->SetX(param->GetR()*TMath::Cos(param->GetFi()));
((AliTPChit*)fHit)->SetY(param->GetR()*TMath::Sin(param->GetFi()));
((AliTPChit*)fHit)->SetZ(param->GetZ());
((AliTPChit*)fHit)->fQ = param->Charge(0);
((AliTPChit*)fHit)->fTime = (Float_t)(param->Time(0)*AliTPCTrackHitsV2::fgkTimePrecision);
fCurrentHit->SetR(param->GetR());
fCurrentHit->SetStatus(kTRUE);
return fCurrentHit->GetStatus();
}
Bool_t AliTPCTrackHitsV2::Next()
{
if (!(fCurrentHit->GetStatus()))
return kFALSE;
fCurrentHit->SetStackIndex(fCurrentHit->GetStackIndex()+1);
AliTrackHitsParamV2 *param = (AliTrackHitsParamV2 *)fArray->At(fCurrentHit->GetParamIndex());
if (fCurrentHit->GetStackIndex()>=param->GetNHits()){
fCurrentHit->SetParamIndex(fCurrentHit->GetParamIndex()+1);
if (fCurrentHit->GetParamIndex()>=fArray->GetEntriesFast()){
fCurrentHit->SetStatus(kFALSE);
return kFALSE;
}
param = (AliTrackHitsParamV2 *)fArray->At(fCurrentHit->GetParamIndex());
fCurrentHit->SetStackIndex(0);
fCurrentHit->SetR(param->GetR());
}
Double_t ratio;
{
Double_t dfi2 = param->GetAn();
dfi2*=dfi2*fCurrentHit->GetR()*fCurrentHit->GetR();
Double_t ddz2 = param->GetTheta();
ddz2*=ddz2;
ratio = TMath::Sqrt(1.+ dfi2+ ddz2);
}
fCurrentHit->SetR(fCurrentHit->GetR()+fStep*param->HitDistance(fCurrentHit->GetStackIndex())/ratio);
Double_t dR = fCurrentHit->GetR() - param->GetR();
Double_t fi = param->GetFi() + (param->GetAn()*dR+param->GetAd()*dR*dR);
Double_t z = param->GetZ() + (param->GetTheta()*dR+param->GetThetaD()*dR*dR);
((AliTPChit*)fHit)->fQ = param->Charge(fCurrentHit->GetStackIndex());
((AliTPChit*)fHit)->fTime = (Float_t)(param->Time(fCurrentHit->GetStackIndex())*AliTPCTrackHitsV2::fgkTimePrecision);
((AliTPChit*)fHit)->SetX(fCurrentHit->GetR()*TMath::Cos(fi));
((AliTPChit*)fHit)->SetY(fCurrentHit->GetR()*TMath::Sin(fi));
((AliTPChit*)fHit)->SetZ(z);
((AliTPChit*)fHit)->fSector = param->GetVolumeID();
((AliTPChit*)fHit)->SetTrack(param->GetTrackID());
return kTRUE;
}
AliHit * AliTPCTrackHitsV2::GetHit() const
{
return (fCurrentHit->GetStatus())? fHit:0;
}
AliTrackHitsParamV2 * AliTPCTrackHitsV2::GetParam()
{
return (fCurrentHit->GetStatus())?
(AliTrackHitsParamV2 *)fArray->At(fCurrentHit->GetParamIndex()):0;
}
AliTPCTrackHitsV2.cxx:100 AliTPCTrackHitsV2.cxx:101 AliTPCTrackHitsV2.cxx:102 AliTPCTrackHitsV2.cxx:103 AliTPCTrackHitsV2.cxx:104 AliTPCTrackHitsV2.cxx:105 AliTPCTrackHitsV2.cxx:106 AliTPCTrackHitsV2.cxx:107 AliTPCTrackHitsV2.cxx:108 AliTPCTrackHitsV2.cxx:109 AliTPCTrackHitsV2.cxx:110 AliTPCTrackHitsV2.cxx:111 AliTPCTrackHitsV2.cxx:112 AliTPCTrackHitsV2.cxx:113 AliTPCTrackHitsV2.cxx:114 AliTPCTrackHitsV2.cxx:115 AliTPCTrackHitsV2.cxx:116 AliTPCTrackHitsV2.cxx:117 AliTPCTrackHitsV2.cxx:118 AliTPCTrackHitsV2.cxx:119 AliTPCTrackHitsV2.cxx:120 AliTPCTrackHitsV2.cxx:121 AliTPCTrackHitsV2.cxx:122 AliTPCTrackHitsV2.cxx:123 AliTPCTrackHitsV2.cxx:124 AliTPCTrackHitsV2.cxx:125 AliTPCTrackHitsV2.cxx:126 AliTPCTrackHitsV2.cxx:127 AliTPCTrackHitsV2.cxx:128 AliTPCTrackHitsV2.cxx:129 AliTPCTrackHitsV2.cxx:130 AliTPCTrackHitsV2.cxx:131 AliTPCTrackHitsV2.cxx:132 AliTPCTrackHitsV2.cxx:133 AliTPCTrackHitsV2.cxx:134 AliTPCTrackHitsV2.cxx:135 AliTPCTrackHitsV2.cxx:136 AliTPCTrackHitsV2.cxx:137 AliTPCTrackHitsV2.cxx:138 AliTPCTrackHitsV2.cxx:139 AliTPCTrackHitsV2.cxx:140 AliTPCTrackHitsV2.cxx:141 AliTPCTrackHitsV2.cxx:142 AliTPCTrackHitsV2.cxx:143 AliTPCTrackHitsV2.cxx:144 AliTPCTrackHitsV2.cxx:145 AliTPCTrackHitsV2.cxx:146 AliTPCTrackHitsV2.cxx:147 AliTPCTrackHitsV2.cxx:148 AliTPCTrackHitsV2.cxx:149 AliTPCTrackHitsV2.cxx:150 AliTPCTrackHitsV2.cxx:151 AliTPCTrackHitsV2.cxx:152 AliTPCTrackHitsV2.cxx:153 AliTPCTrackHitsV2.cxx:154 AliTPCTrackHitsV2.cxx:155 AliTPCTrackHitsV2.cxx:156 AliTPCTrackHitsV2.cxx:157 AliTPCTrackHitsV2.cxx:158 AliTPCTrackHitsV2.cxx:159 AliTPCTrackHitsV2.cxx:160 AliTPCTrackHitsV2.cxx:161 AliTPCTrackHitsV2.cxx:162 AliTPCTrackHitsV2.cxx:163 AliTPCTrackHitsV2.cxx:164 AliTPCTrackHitsV2.cxx:165 AliTPCTrackHitsV2.cxx:166 AliTPCTrackHitsV2.cxx:167 AliTPCTrackHitsV2.cxx:168 AliTPCTrackHitsV2.cxx:169 AliTPCTrackHitsV2.cxx:170 AliTPCTrackHitsV2.cxx:171 AliTPCTrackHitsV2.cxx:172 AliTPCTrackHitsV2.cxx:173 AliTPCTrackHitsV2.cxx:174 AliTPCTrackHitsV2.cxx:175 AliTPCTrackHitsV2.cxx:176 AliTPCTrackHitsV2.cxx:177 AliTPCTrackHitsV2.cxx:178 AliTPCTrackHitsV2.cxx:179 AliTPCTrackHitsV2.cxx:180 AliTPCTrackHitsV2.cxx:181 AliTPCTrackHitsV2.cxx:182 AliTPCTrackHitsV2.cxx:183 AliTPCTrackHitsV2.cxx:184 AliTPCTrackHitsV2.cxx:185 AliTPCTrackHitsV2.cxx:186 AliTPCTrackHitsV2.cxx:187 AliTPCTrackHitsV2.cxx:188 AliTPCTrackHitsV2.cxx:189 AliTPCTrackHitsV2.cxx:190 AliTPCTrackHitsV2.cxx:191 AliTPCTrackHitsV2.cxx:192 AliTPCTrackHitsV2.cxx:193 AliTPCTrackHitsV2.cxx:194 AliTPCTrackHitsV2.cxx:195 AliTPCTrackHitsV2.cxx:196 AliTPCTrackHitsV2.cxx:197 AliTPCTrackHitsV2.cxx:198 AliTPCTrackHitsV2.cxx:199 AliTPCTrackHitsV2.cxx:200 AliTPCTrackHitsV2.cxx:201 AliTPCTrackHitsV2.cxx:202 AliTPCTrackHitsV2.cxx:203 AliTPCTrackHitsV2.cxx:204 AliTPCTrackHitsV2.cxx:205 AliTPCTrackHitsV2.cxx:206 AliTPCTrackHitsV2.cxx:207 AliTPCTrackHitsV2.cxx:208 AliTPCTrackHitsV2.cxx:209 AliTPCTrackHitsV2.cxx:210 AliTPCTrackHitsV2.cxx:211 AliTPCTrackHitsV2.cxx:212 AliTPCTrackHitsV2.cxx:213 AliTPCTrackHitsV2.cxx:214 AliTPCTrackHitsV2.cxx:215 AliTPCTrackHitsV2.cxx:216 AliTPCTrackHitsV2.cxx:217 AliTPCTrackHitsV2.cxx:218 AliTPCTrackHitsV2.cxx:219 AliTPCTrackHitsV2.cxx:220 AliTPCTrackHitsV2.cxx:221 AliTPCTrackHitsV2.cxx:222 AliTPCTrackHitsV2.cxx:223 AliTPCTrackHitsV2.cxx:224 AliTPCTrackHitsV2.cxx:225 AliTPCTrackHitsV2.cxx:226 AliTPCTrackHitsV2.cxx:227 AliTPCTrackHitsV2.cxx:228 AliTPCTrackHitsV2.cxx:229 AliTPCTrackHitsV2.cxx:230 AliTPCTrackHitsV2.cxx:231 AliTPCTrackHitsV2.cxx:232 AliTPCTrackHitsV2.cxx:233 AliTPCTrackHitsV2.cxx:234 AliTPCTrackHitsV2.cxx:235 AliTPCTrackHitsV2.cxx:236 AliTPCTrackHitsV2.cxx:237 AliTPCTrackHitsV2.cxx:238 AliTPCTrackHitsV2.cxx:239 AliTPCTrackHitsV2.cxx:240 AliTPCTrackHitsV2.cxx:241 AliTPCTrackHitsV2.cxx:242 AliTPCTrackHitsV2.cxx:243 AliTPCTrackHitsV2.cxx:244 AliTPCTrackHitsV2.cxx:245 AliTPCTrackHitsV2.cxx:246 AliTPCTrackHitsV2.cxx:247 AliTPCTrackHitsV2.cxx:248 AliTPCTrackHitsV2.cxx:249 AliTPCTrackHitsV2.cxx:250 AliTPCTrackHitsV2.cxx:251 AliTPCTrackHitsV2.cxx:252 AliTPCTrackHitsV2.cxx:253 AliTPCTrackHitsV2.cxx:254 AliTPCTrackHitsV2.cxx:255 AliTPCTrackHitsV2.cxx:256 AliTPCTrackHitsV2.cxx:257 AliTPCTrackHitsV2.cxx:258 AliTPCTrackHitsV2.cxx:259 AliTPCTrackHitsV2.cxx:260 AliTPCTrackHitsV2.cxx:261 AliTPCTrackHitsV2.cxx:262 AliTPCTrackHitsV2.cxx:263 AliTPCTrackHitsV2.cxx:264 AliTPCTrackHitsV2.cxx:265 AliTPCTrackHitsV2.cxx:266 AliTPCTrackHitsV2.cxx:267 AliTPCTrackHitsV2.cxx:268 AliTPCTrackHitsV2.cxx:269 AliTPCTrackHitsV2.cxx:270 AliTPCTrackHitsV2.cxx:271 AliTPCTrackHitsV2.cxx:272 AliTPCTrackHitsV2.cxx:273 AliTPCTrackHitsV2.cxx:274 AliTPCTrackHitsV2.cxx:275 AliTPCTrackHitsV2.cxx:276 AliTPCTrackHitsV2.cxx:277 AliTPCTrackHitsV2.cxx:278 AliTPCTrackHitsV2.cxx:279 AliTPCTrackHitsV2.cxx:280 AliTPCTrackHitsV2.cxx:281 AliTPCTrackHitsV2.cxx:282 AliTPCTrackHitsV2.cxx:283 AliTPCTrackHitsV2.cxx:284 AliTPCTrackHitsV2.cxx:285 AliTPCTrackHitsV2.cxx:286 AliTPCTrackHitsV2.cxx:287 AliTPCTrackHitsV2.cxx:288 AliTPCTrackHitsV2.cxx:289 AliTPCTrackHitsV2.cxx:290 AliTPCTrackHitsV2.cxx:291 AliTPCTrackHitsV2.cxx:292 AliTPCTrackHitsV2.cxx:293 AliTPCTrackHitsV2.cxx:294 AliTPCTrackHitsV2.cxx:295 AliTPCTrackHitsV2.cxx:296 AliTPCTrackHitsV2.cxx:297 AliTPCTrackHitsV2.cxx:298 AliTPCTrackHitsV2.cxx:299 AliTPCTrackHitsV2.cxx:300 AliTPCTrackHitsV2.cxx:301 AliTPCTrackHitsV2.cxx:302 AliTPCTrackHitsV2.cxx:303 AliTPCTrackHitsV2.cxx:304 AliTPCTrackHitsV2.cxx:305 AliTPCTrackHitsV2.cxx:306 AliTPCTrackHitsV2.cxx:307 AliTPCTrackHitsV2.cxx:308 AliTPCTrackHitsV2.cxx:309 AliTPCTrackHitsV2.cxx:310 AliTPCTrackHitsV2.cxx:311 AliTPCTrackHitsV2.cxx:312 AliTPCTrackHitsV2.cxx:313 AliTPCTrackHitsV2.cxx:314 AliTPCTrackHitsV2.cxx:315 AliTPCTrackHitsV2.cxx:316 AliTPCTrackHitsV2.cxx:317 AliTPCTrackHitsV2.cxx:318 AliTPCTrackHitsV2.cxx:319 AliTPCTrackHitsV2.cxx:320 AliTPCTrackHitsV2.cxx:321 AliTPCTrackHitsV2.cxx:322 AliTPCTrackHitsV2.cxx:323 AliTPCTrackHitsV2.cxx:324 AliTPCTrackHitsV2.cxx:325 AliTPCTrackHitsV2.cxx:326 AliTPCTrackHitsV2.cxx:327 AliTPCTrackHitsV2.cxx:328 AliTPCTrackHitsV2.cxx:329 AliTPCTrackHitsV2.cxx:330 AliTPCTrackHitsV2.cxx:331 AliTPCTrackHitsV2.cxx:332 AliTPCTrackHitsV2.cxx:333 AliTPCTrackHitsV2.cxx:334 AliTPCTrackHitsV2.cxx:335 AliTPCTrackHitsV2.cxx:336 AliTPCTrackHitsV2.cxx:337 AliTPCTrackHitsV2.cxx:338 AliTPCTrackHitsV2.cxx:339 AliTPCTrackHitsV2.cxx:340 AliTPCTrackHitsV2.cxx:341 AliTPCTrackHitsV2.cxx:342 AliTPCTrackHitsV2.cxx:343 AliTPCTrackHitsV2.cxx:344 AliTPCTrackHitsV2.cxx:345 AliTPCTrackHitsV2.cxx:346 AliTPCTrackHitsV2.cxx:347 AliTPCTrackHitsV2.cxx:348 AliTPCTrackHitsV2.cxx:349 AliTPCTrackHitsV2.cxx:350 AliTPCTrackHitsV2.cxx:351 AliTPCTrackHitsV2.cxx:352 AliTPCTrackHitsV2.cxx:353 AliTPCTrackHitsV2.cxx:354 AliTPCTrackHitsV2.cxx:355 AliTPCTrackHitsV2.cxx:356 AliTPCTrackHitsV2.cxx:357 AliTPCTrackHitsV2.cxx:358 AliTPCTrackHitsV2.cxx:359 AliTPCTrackHitsV2.cxx:360 AliTPCTrackHitsV2.cxx:361 AliTPCTrackHitsV2.cxx:362 AliTPCTrackHitsV2.cxx:363 AliTPCTrackHitsV2.cxx:364 AliTPCTrackHitsV2.cxx:365 AliTPCTrackHitsV2.cxx:366 AliTPCTrackHitsV2.cxx:367 AliTPCTrackHitsV2.cxx:368 AliTPCTrackHitsV2.cxx:369 AliTPCTrackHitsV2.cxx:370 AliTPCTrackHitsV2.cxx:371 AliTPCTrackHitsV2.cxx:372 AliTPCTrackHitsV2.cxx:373 AliTPCTrackHitsV2.cxx:374 AliTPCTrackHitsV2.cxx:375 AliTPCTrackHitsV2.cxx:376 AliTPCTrackHitsV2.cxx:377 AliTPCTrackHitsV2.cxx:378 AliTPCTrackHitsV2.cxx:379 AliTPCTrackHitsV2.cxx:380 AliTPCTrackHitsV2.cxx:381 AliTPCTrackHitsV2.cxx:382 AliTPCTrackHitsV2.cxx:383 AliTPCTrackHitsV2.cxx:384 AliTPCTrackHitsV2.cxx:385 AliTPCTrackHitsV2.cxx:386 AliTPCTrackHitsV2.cxx:387 AliTPCTrackHitsV2.cxx:388 AliTPCTrackHitsV2.cxx:389 AliTPCTrackHitsV2.cxx:390 AliTPCTrackHitsV2.cxx:391 AliTPCTrackHitsV2.cxx:392 AliTPCTrackHitsV2.cxx:393 AliTPCTrackHitsV2.cxx:394 AliTPCTrackHitsV2.cxx:395 AliTPCTrackHitsV2.cxx:396 AliTPCTrackHitsV2.cxx:397 AliTPCTrackHitsV2.cxx:398 AliTPCTrackHitsV2.cxx:399 AliTPCTrackHitsV2.cxx:400 AliTPCTrackHitsV2.cxx:401 AliTPCTrackHitsV2.cxx:402 AliTPCTrackHitsV2.cxx:403 AliTPCTrackHitsV2.cxx:404 AliTPCTrackHitsV2.cxx:405 AliTPCTrackHitsV2.cxx:406 AliTPCTrackHitsV2.cxx:407 AliTPCTrackHitsV2.cxx:408 AliTPCTrackHitsV2.cxx:409 AliTPCTrackHitsV2.cxx:410 AliTPCTrackHitsV2.cxx:411 AliTPCTrackHitsV2.cxx:412 AliTPCTrackHitsV2.cxx:413 AliTPCTrackHitsV2.cxx:414 AliTPCTrackHitsV2.cxx:415 AliTPCTrackHitsV2.cxx:416 AliTPCTrackHitsV2.cxx:417 AliTPCTrackHitsV2.cxx:418 AliTPCTrackHitsV2.cxx:419 AliTPCTrackHitsV2.cxx:420 AliTPCTrackHitsV2.cxx:421 AliTPCTrackHitsV2.cxx:422 AliTPCTrackHitsV2.cxx:423 AliTPCTrackHitsV2.cxx:424 AliTPCTrackHitsV2.cxx:425 AliTPCTrackHitsV2.cxx:426 AliTPCTrackHitsV2.cxx:427 AliTPCTrackHitsV2.cxx:428 AliTPCTrackHitsV2.cxx:429 AliTPCTrackHitsV2.cxx:430 AliTPCTrackHitsV2.cxx:431 AliTPCTrackHitsV2.cxx:432 AliTPCTrackHitsV2.cxx:433 AliTPCTrackHitsV2.cxx:434 AliTPCTrackHitsV2.cxx:435 AliTPCTrackHitsV2.cxx:436 AliTPCTrackHitsV2.cxx:437 AliTPCTrackHitsV2.cxx:438 AliTPCTrackHitsV2.cxx:439 AliTPCTrackHitsV2.cxx:440 AliTPCTrackHitsV2.cxx:441 AliTPCTrackHitsV2.cxx:442 AliTPCTrackHitsV2.cxx:443 AliTPCTrackHitsV2.cxx:444 AliTPCTrackHitsV2.cxx:445 AliTPCTrackHitsV2.cxx:446 AliTPCTrackHitsV2.cxx:447 AliTPCTrackHitsV2.cxx:448 AliTPCTrackHitsV2.cxx:449 AliTPCTrackHitsV2.cxx:450 AliTPCTrackHitsV2.cxx:451 AliTPCTrackHitsV2.cxx:452 AliTPCTrackHitsV2.cxx:453 AliTPCTrackHitsV2.cxx:454 AliTPCTrackHitsV2.cxx:455 AliTPCTrackHitsV2.cxx:456 AliTPCTrackHitsV2.cxx:457 AliTPCTrackHitsV2.cxx:458 AliTPCTrackHitsV2.cxx:459 AliTPCTrackHitsV2.cxx:460 AliTPCTrackHitsV2.cxx:461 AliTPCTrackHitsV2.cxx:462 AliTPCTrackHitsV2.cxx:463 AliTPCTrackHitsV2.cxx:464 AliTPCTrackHitsV2.cxx:465 AliTPCTrackHitsV2.cxx:466 AliTPCTrackHitsV2.cxx:467 AliTPCTrackHitsV2.cxx:468 AliTPCTrackHitsV2.cxx:469 AliTPCTrackHitsV2.cxx:470 AliTPCTrackHitsV2.cxx:471 AliTPCTrackHitsV2.cxx:472 AliTPCTrackHitsV2.cxx:473 AliTPCTrackHitsV2.cxx:474 AliTPCTrackHitsV2.cxx:475 AliTPCTrackHitsV2.cxx:476 AliTPCTrackHitsV2.cxx:477 AliTPCTrackHitsV2.cxx:478 AliTPCTrackHitsV2.cxx:479 AliTPCTrackHitsV2.cxx:480 AliTPCTrackHitsV2.cxx:481 AliTPCTrackHitsV2.cxx:482 AliTPCTrackHitsV2.cxx:483 AliTPCTrackHitsV2.cxx:484 AliTPCTrackHitsV2.cxx:485 AliTPCTrackHitsV2.cxx:486 AliTPCTrackHitsV2.cxx:487 AliTPCTrackHitsV2.cxx:488 AliTPCTrackHitsV2.cxx:489 AliTPCTrackHitsV2.cxx:490 AliTPCTrackHitsV2.cxx:491 AliTPCTrackHitsV2.cxx:492 AliTPCTrackHitsV2.cxx:493 AliTPCTrackHitsV2.cxx:494 AliTPCTrackHitsV2.cxx:495 AliTPCTrackHitsV2.cxx:496 AliTPCTrackHitsV2.cxx:497 AliTPCTrackHitsV2.cxx:498 AliTPCTrackHitsV2.cxx:499 AliTPCTrackHitsV2.cxx:500 AliTPCTrackHitsV2.cxx:501 AliTPCTrackHitsV2.cxx:502 AliTPCTrackHitsV2.cxx:503 AliTPCTrackHitsV2.cxx:504 AliTPCTrackHitsV2.cxx:505 AliTPCTrackHitsV2.cxx:506 AliTPCTrackHitsV2.cxx:507 AliTPCTrackHitsV2.cxx:508 AliTPCTrackHitsV2.cxx:509 AliTPCTrackHitsV2.cxx:510 AliTPCTrackHitsV2.cxx:511 AliTPCTrackHitsV2.cxx:512 AliTPCTrackHitsV2.cxx:513 AliTPCTrackHitsV2.cxx:514 AliTPCTrackHitsV2.cxx:515 AliTPCTrackHitsV2.cxx:516 AliTPCTrackHitsV2.cxx:517 AliTPCTrackHitsV2.cxx:518 AliTPCTrackHitsV2.cxx:519 AliTPCTrackHitsV2.cxx:520 AliTPCTrackHitsV2.cxx:521 AliTPCTrackHitsV2.cxx:522 AliTPCTrackHitsV2.cxx:523 AliTPCTrackHitsV2.cxx:524 AliTPCTrackHitsV2.cxx:525 AliTPCTrackHitsV2.cxx:526 AliTPCTrackHitsV2.cxx:527 AliTPCTrackHitsV2.cxx:528 AliTPCTrackHitsV2.cxx:529 AliTPCTrackHitsV2.cxx:530 AliTPCTrackHitsV2.cxx:531 AliTPCTrackHitsV2.cxx:532 AliTPCTrackHitsV2.cxx:533 AliTPCTrackHitsV2.cxx:534 AliTPCTrackHitsV2.cxx:535 AliTPCTrackHitsV2.cxx:536 AliTPCTrackHitsV2.cxx:537 AliTPCTrackHitsV2.cxx:538 AliTPCTrackHitsV2.cxx:539 AliTPCTrackHitsV2.cxx:540 AliTPCTrackHitsV2.cxx:541 AliTPCTrackHitsV2.cxx:542 AliTPCTrackHitsV2.cxx:543 AliTPCTrackHitsV2.cxx:544 AliTPCTrackHitsV2.cxx:545 AliTPCTrackHitsV2.cxx:546 AliTPCTrackHitsV2.cxx:547 AliTPCTrackHitsV2.cxx:548 AliTPCTrackHitsV2.cxx:549 AliTPCTrackHitsV2.cxx:550 AliTPCTrackHitsV2.cxx:551 AliTPCTrackHitsV2.cxx:552 AliTPCTrackHitsV2.cxx:553 AliTPCTrackHitsV2.cxx:554 AliTPCTrackHitsV2.cxx:555 AliTPCTrackHitsV2.cxx:556 AliTPCTrackHitsV2.cxx:557 AliTPCTrackHitsV2.cxx:558 AliTPCTrackHitsV2.cxx:559 AliTPCTrackHitsV2.cxx:560 AliTPCTrackHitsV2.cxx:561 AliTPCTrackHitsV2.cxx:562 AliTPCTrackHitsV2.cxx:563 AliTPCTrackHitsV2.cxx:564 AliTPCTrackHitsV2.cxx:565 AliTPCTrackHitsV2.cxx:566 AliTPCTrackHitsV2.cxx:567 AliTPCTrackHitsV2.cxx:568 AliTPCTrackHitsV2.cxx:569 AliTPCTrackHitsV2.cxx:570 AliTPCTrackHitsV2.cxx:571 AliTPCTrackHitsV2.cxx:572 AliTPCTrackHitsV2.cxx:573 AliTPCTrackHitsV2.cxx:574 AliTPCTrackHitsV2.cxx:575 AliTPCTrackHitsV2.cxx:576 AliTPCTrackHitsV2.cxx:577 AliTPCTrackHitsV2.cxx:578 AliTPCTrackHitsV2.cxx:579 AliTPCTrackHitsV2.cxx:580 AliTPCTrackHitsV2.cxx:581 AliTPCTrackHitsV2.cxx:582 AliTPCTrackHitsV2.cxx:583 AliTPCTrackHitsV2.cxx:584 AliTPCTrackHitsV2.cxx:585 AliTPCTrackHitsV2.cxx:586 AliTPCTrackHitsV2.cxx:587 AliTPCTrackHitsV2.cxx:588 AliTPCTrackHitsV2.cxx:589 AliTPCTrackHitsV2.cxx:590 AliTPCTrackHitsV2.cxx:591 AliTPCTrackHitsV2.cxx:592 AliTPCTrackHitsV2.cxx:593 AliTPCTrackHitsV2.cxx:594 AliTPCTrackHitsV2.cxx:595 AliTPCTrackHitsV2.cxx:596 AliTPCTrackHitsV2.cxx:597 AliTPCTrackHitsV2.cxx:598 AliTPCTrackHitsV2.cxx:599 AliTPCTrackHitsV2.cxx:600 AliTPCTrackHitsV2.cxx:601 AliTPCTrackHitsV2.cxx:602 AliTPCTrackHitsV2.cxx:603 AliTPCTrackHitsV2.cxx:604 AliTPCTrackHitsV2.cxx:605 AliTPCTrackHitsV2.cxx:606 AliTPCTrackHitsV2.cxx:607 AliTPCTrackHitsV2.cxx:608 AliTPCTrackHitsV2.cxx:609 AliTPCTrackHitsV2.cxx:610 AliTPCTrackHitsV2.cxx:611 AliTPCTrackHitsV2.cxx:612 AliTPCTrackHitsV2.cxx:613 AliTPCTrackHitsV2.cxx:614 AliTPCTrackHitsV2.cxx:615 AliTPCTrackHitsV2.cxx:616 AliTPCTrackHitsV2.cxx:617 AliTPCTrackHitsV2.cxx:618 AliTPCTrackHitsV2.cxx:619 AliTPCTrackHitsV2.cxx:620 AliTPCTrackHitsV2.cxx:621 AliTPCTrackHitsV2.cxx:622 AliTPCTrackHitsV2.cxx:623 AliTPCTrackHitsV2.cxx:624 AliTPCTrackHitsV2.cxx:625 AliTPCTrackHitsV2.cxx:626 AliTPCTrackHitsV2.cxx:627 AliTPCTrackHitsV2.cxx:628 AliTPCTrackHitsV2.cxx:629 AliTPCTrackHitsV2.cxx:630 AliTPCTrackHitsV2.cxx:631 AliTPCTrackHitsV2.cxx:632 AliTPCTrackHitsV2.cxx:633 AliTPCTrackHitsV2.cxx:634 AliTPCTrackHitsV2.cxx:635 AliTPCTrackHitsV2.cxx:636 AliTPCTrackHitsV2.cxx:637 AliTPCTrackHitsV2.cxx:638 AliTPCTrackHitsV2.cxx:639 AliTPCTrackHitsV2.cxx:640 AliTPCTrackHitsV2.cxx:641 AliTPCTrackHitsV2.cxx:642 AliTPCTrackHitsV2.cxx:643 AliTPCTrackHitsV2.cxx:644 AliTPCTrackHitsV2.cxx:645 AliTPCTrackHitsV2.cxx:646 AliTPCTrackHitsV2.cxx:647 AliTPCTrackHitsV2.cxx:648 AliTPCTrackHitsV2.cxx:649 AliTPCTrackHitsV2.cxx:650 AliTPCTrackHitsV2.cxx:651 AliTPCTrackHitsV2.cxx:652 AliTPCTrackHitsV2.cxx:653 AliTPCTrackHitsV2.cxx:654 AliTPCTrackHitsV2.cxx:655 AliTPCTrackHitsV2.cxx:656 AliTPCTrackHitsV2.cxx:657 AliTPCTrackHitsV2.cxx:658 AliTPCTrackHitsV2.cxx:659 AliTPCTrackHitsV2.cxx:660 AliTPCTrackHitsV2.cxx:661 AliTPCTrackHitsV2.cxx:662 AliTPCTrackHitsV2.cxx:663 AliTPCTrackHitsV2.cxx:664 AliTPCTrackHitsV2.cxx:665 AliTPCTrackHitsV2.cxx:666 AliTPCTrackHitsV2.cxx:667 AliTPCTrackHitsV2.cxx:668 AliTPCTrackHitsV2.cxx:669 AliTPCTrackHitsV2.cxx:670 AliTPCTrackHitsV2.cxx:671 AliTPCTrackHitsV2.cxx:672 AliTPCTrackHitsV2.cxx:673 AliTPCTrackHitsV2.cxx:674 AliTPCTrackHitsV2.cxx:675 AliTPCTrackHitsV2.cxx:676 AliTPCTrackHitsV2.cxx:677 AliTPCTrackHitsV2.cxx:678 AliTPCTrackHitsV2.cxx:679 AliTPCTrackHitsV2.cxx:680 AliTPCTrackHitsV2.cxx:681 AliTPCTrackHitsV2.cxx:682 AliTPCTrackHitsV2.cxx:683 AliTPCTrackHitsV2.cxx:684 AliTPCTrackHitsV2.cxx:685 AliTPCTrackHitsV2.cxx:686 AliTPCTrackHitsV2.cxx:687 AliTPCTrackHitsV2.cxx:688 AliTPCTrackHitsV2.cxx:689 AliTPCTrackHitsV2.cxx:690 AliTPCTrackHitsV2.cxx:691 AliTPCTrackHitsV2.cxx:692 AliTPCTrackHitsV2.cxx:693 AliTPCTrackHitsV2.cxx:694 AliTPCTrackHitsV2.cxx:695 AliTPCTrackHitsV2.cxx:696 AliTPCTrackHitsV2.cxx:697 AliTPCTrackHitsV2.cxx:698 AliTPCTrackHitsV2.cxx:699 AliTPCTrackHitsV2.cxx:700 AliTPCTrackHitsV2.cxx:701 AliTPCTrackHitsV2.cxx:702 AliTPCTrackHitsV2.cxx:703 AliTPCTrackHitsV2.cxx:704 AliTPCTrackHitsV2.cxx:705 AliTPCTrackHitsV2.cxx:706 AliTPCTrackHitsV2.cxx:707 AliTPCTrackHitsV2.cxx:708 AliTPCTrackHitsV2.cxx:709 AliTPCTrackHitsV2.cxx:710 AliTPCTrackHitsV2.cxx:711 AliTPCTrackHitsV2.cxx:712 AliTPCTrackHitsV2.cxx:713 AliTPCTrackHitsV2.cxx:714 AliTPCTrackHitsV2.cxx:715 AliTPCTrackHitsV2.cxx:716 AliTPCTrackHitsV2.cxx:717 AliTPCTrackHitsV2.cxx:718 AliTPCTrackHitsV2.cxx:719 AliTPCTrackHitsV2.cxx:720 AliTPCTrackHitsV2.cxx:721 AliTPCTrackHitsV2.cxx:722 AliTPCTrackHitsV2.cxx:723 AliTPCTrackHitsV2.cxx:724 AliTPCTrackHitsV2.cxx:725 AliTPCTrackHitsV2.cxx:726 AliTPCTrackHitsV2.cxx:727 AliTPCTrackHitsV2.cxx:728 AliTPCTrackHitsV2.cxx:729 AliTPCTrackHitsV2.cxx:730 AliTPCTrackHitsV2.cxx:731 AliTPCTrackHitsV2.cxx:732 AliTPCTrackHitsV2.cxx:733 AliTPCTrackHitsV2.cxx:734 AliTPCTrackHitsV2.cxx:735 AliTPCTrackHitsV2.cxx:736 AliTPCTrackHitsV2.cxx:737 AliTPCTrackHitsV2.cxx:738 AliTPCTrackHitsV2.cxx:739 AliTPCTrackHitsV2.cxx:740 AliTPCTrackHitsV2.cxx:741 AliTPCTrackHitsV2.cxx:742 AliTPCTrackHitsV2.cxx:743 AliTPCTrackHitsV2.cxx:744 AliTPCTrackHitsV2.cxx:745 AliTPCTrackHitsV2.cxx:746 AliTPCTrackHitsV2.cxx:747 AliTPCTrackHitsV2.cxx:748 AliTPCTrackHitsV2.cxx:749 AliTPCTrackHitsV2.cxx:750 AliTPCTrackHitsV2.cxx:751 AliTPCTrackHitsV2.cxx:752 AliTPCTrackHitsV2.cxx:753 AliTPCTrackHitsV2.cxx:754 AliTPCTrackHitsV2.cxx:755 AliTPCTrackHitsV2.cxx:756 AliTPCTrackHitsV2.cxx:757 AliTPCTrackHitsV2.cxx:758 AliTPCTrackHitsV2.cxx:759 AliTPCTrackHitsV2.cxx:760 AliTPCTrackHitsV2.cxx:761 AliTPCTrackHitsV2.cxx:762 AliTPCTrackHitsV2.cxx:763 AliTPCTrackHitsV2.cxx:764 AliTPCTrackHitsV2.cxx:765 AliTPCTrackHitsV2.cxx:766 AliTPCTrackHitsV2.cxx:767 AliTPCTrackHitsV2.cxx:768 AliTPCTrackHitsV2.cxx:769 AliTPCTrackHitsV2.cxx:770 AliTPCTrackHitsV2.cxx:771 AliTPCTrackHitsV2.cxx:772 AliTPCTrackHitsV2.cxx:773 AliTPCTrackHitsV2.cxx:774 AliTPCTrackHitsV2.cxx:775 AliTPCTrackHitsV2.cxx:776 AliTPCTrackHitsV2.cxx:777 AliTPCTrackHitsV2.cxx:778 AliTPCTrackHitsV2.cxx:779 AliTPCTrackHitsV2.cxx:780 AliTPCTrackHitsV2.cxx:781 AliTPCTrackHitsV2.cxx:782 AliTPCTrackHitsV2.cxx:783 AliTPCTrackHitsV2.cxx:784 AliTPCTrackHitsV2.cxx:785 AliTPCTrackHitsV2.cxx:786 AliTPCTrackHitsV2.cxx:787 AliTPCTrackHitsV2.cxx:788 AliTPCTrackHitsV2.cxx:789 AliTPCTrackHitsV2.cxx:790 AliTPCTrackHitsV2.cxx:791 AliTPCTrackHitsV2.cxx:792 AliTPCTrackHitsV2.cxx:793 AliTPCTrackHitsV2.cxx:794 AliTPCTrackHitsV2.cxx:795 AliTPCTrackHitsV2.cxx:796 AliTPCTrackHitsV2.cxx:797 AliTPCTrackHitsV2.cxx:798 AliTPCTrackHitsV2.cxx:799 AliTPCTrackHitsV2.cxx:800 AliTPCTrackHitsV2.cxx:801 AliTPCTrackHitsV2.cxx:802 AliTPCTrackHitsV2.cxx:803 AliTPCTrackHitsV2.cxx:804 AliTPCTrackHitsV2.cxx:805 AliTPCTrackHitsV2.cxx:806 AliTPCTrackHitsV2.cxx:807 AliTPCTrackHitsV2.cxx:808 AliTPCTrackHitsV2.cxx:809 AliTPCTrackHitsV2.cxx:810 AliTPCTrackHitsV2.cxx:811 AliTPCTrackHitsV2.cxx:812 AliTPCTrackHitsV2.cxx:813 AliTPCTrackHitsV2.cxx:814 AliTPCTrackHitsV2.cxx:815 AliTPCTrackHitsV2.cxx:816 AliTPCTrackHitsV2.cxx:817 AliTPCTrackHitsV2.cxx:818 AliTPCTrackHitsV2.cxx:819 AliTPCTrackHitsV2.cxx:820 AliTPCTrackHitsV2.cxx:821 AliTPCTrackHitsV2.cxx:822 AliTPCTrackHitsV2.cxx:823 AliTPCTrackHitsV2.cxx:824 AliTPCTrackHitsV2.cxx:825 AliTPCTrackHitsV2.cxx:826 AliTPCTrackHitsV2.cxx:827 AliTPCTrackHitsV2.cxx:828 AliTPCTrackHitsV2.cxx:829 AliTPCTrackHitsV2.cxx:830 AliTPCTrackHitsV2.cxx:831 AliTPCTrackHitsV2.cxx:832 AliTPCTrackHitsV2.cxx:833