class AliTRDtrack : public AliKalmanTrack {
- enum { kNdet = 540, kNstacks = 90, kNplane = 6, kNcham = 5, kNsect = 18 };
+ enum { kNdet = 540
+ , kNstacks = 90
+ , kNplane = 6
+ , kNcham = 5
+ , kNsect = 18
+ , kNslice = 3
+ , kNtimeBins = 22 };
friend class AliTRDtracker;
void GetCovariance(Double_t cov[15]) const;
Double_t GetdEdx() const { return fdEdx; }
Double_t GetPIDsignal() const { return GetdEdx(); }
- Float_t GetPIDsignals(Int_t i) const { return fdEdxPlane[i]; }
+ Float_t GetPIDsignals(Int_t iPlane, Int_t iSlice) const
+ { return fdEdxPlane[iPlane][iSlice]; }
Int_t GetPIDTimBin(Int_t i) const { return fTimBinPlane[i];}
Double_t GetEta() const { return fE; }
Int_t Rotate(Double_t angle, Bool_t absolute=kFALSE);
void SetdEdx(Float_t dedx) { fdEdx = dedx; }
- void SetPIDsignals(Float_t dedx, Int_t i) { fdEdxPlane[i] = dedx; }
+ void SetPIDsignals(Float_t dedx, Int_t iPlane, Int_t iSlice)
+ { fdEdxPlane[iPlane][iSlice] = dedx; }
void SetPIDTimBin(Int_t timbin, Int_t i) { fTimBinPlane[i] = timbin; }
void SetLikelihoodElectron(Float_t l) { fLhElectron = l; }
Float_t fdEdx; // dE/dx
Float_t fdEdxT; // dE/dx - truncated mean
Float_t fDE; // integrated delta energy
- Float_t fdEdxPlane[kNplane]; // dE/dx from all 6 planes
+ Float_t fdEdxPlane[kNplane][kNslice]; // dE/dx from all 6 planes in 3 slices each
Int_t fTimBinPlane[kNplane]; // time bin of Max cluster from all 6 planes
Double_t fAlpha; // rotation angle
Float_t fBudget[3]; // integrated material budget
AliTRDtrack *fBackupTrack; //! backup track
- ClassDef(AliTRDtrack,4) // TRD reconstructed tracks
+ ClassDef(AliTRDtrack,5) // TRD reconstructed tracks
};
+inline
+void AliTRDtrack::GetExternalParameters(Double_t& xr, Double_t x[5]) const
+{
+ //
+ // This function returns external TRD track representation
+ //
+ xr = fX;
+ x[0] = GetY(); x[1] = GetZ(); x[2] = GetSnp(); x[3] = GetTgl();
+ x[4] = (TMath::Sign(1e-9,fC) + fC)*GetLocalConvConst();
+}
+
#endif