]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliTrackFitterRieman.h
PropagateToDCA in case of track and vertex (M.Ivanov)
[u/mrichter/AliRoot.git] / STEER / AliTrackFitterRieman.h
CommitLineData
98937d93 1#ifndef ALITRACKFITTERRIEMAN_H
2#define ALITRACKFITTERRIEMAN_H
3
4#include "TMatrixDSym.h"
5
6#include "AliTrackFitter.h"
7
8class AliTrackFitterRieman : public AliTrackFitter{
9 public:
10 AliTrackFitterRieman();
11 AliTrackFitterRieman(AliTrackPointArray *array, Bool_t owner = kTRUE);
12 AliTrackFitterRieman(const AliTrackFitterRieman &rieman);
13 AliTrackFitterRieman &operator =(const AliTrackFitterRieman& rieman);
14 virtual ~AliTrackFitterRieman();
15
cc345ce3 16 Bool_t Fit(const TArrayI *volIds,const TArrayI *volIdsFit = 0x0,
98937d93 17 AliAlignObj::ELayerID layerRangeMin = AliAlignObj::kFirstLayer,
18 AliAlignObj::ELayerID layerRangeMax = AliAlignObj::kLastLayer);
19 Bool_t GetPCA(const AliTrackPoint &p, AliTrackPoint &p2) const;
20
21 void Reset();
22 void AddPoint(Float_t x, Float_t y, Float_t z, Float_t sy, Float_t sz);
23 void Update();
24
25 Double_t GetC();
26 Double_t GetYat(Double_t x);
cc345ce3 27 Double_t GetZat(Double_t x) const;
28 Double_t GetDYat(Double_t x) const;
29 Double_t GetDZat(Double_t x) const;
98937d93 30 Bool_t GetXYZat(Double_t r, Float_t *xyz);
31
32 protected:
33
34 Double_t fAlpha; //angle to transform to the fitting coordinate system
35 Double_t fSumXY[9]; //sums for XY part
46ae650f 36 Double_t fSumYY; //sum for YY part
98937d93 37 Double_t fSumXZ[9]; //sums for XZ part
46ae650f 38 Double_t fSumZZ; //sum for ZZ part
39 Int_t fNUsed; //actual number of space-points used in the fit
98937d93 40 Bool_t fConv; // indicates convergation
cc345ce3 41 Float_t *fX;
42 Float_t *fY;
43 Float_t *fZ;
44 Float_t *fSy;
45 Float_t *fSz;
98937d93 46
47 private:
48
49 ClassDef(AliTrackFitterRieman,1) // Fast fit of helices on ITS RecPoints
50
51};
52
53#endif