]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliTrackFitterStraight.h
Moving the alignment-related static methods from AliAlignObj to the new geometry...
[u/mrichter/AliRoot.git] / STEER / AliTrackFitterStraight.h
1 #ifndef ALITRACKFITTERSTRAIGHT_H
2 #define ALITRACKFITTERSTRAIGHT_H
3
4 #include "AliTrackFitter.h"
5
6 class AliTrackFitterStraight : public AliTrackFitter{
7  public:
8   AliTrackFitterStraight();
9   AliTrackFitterStraight(AliTrackPointArray *array, Bool_t owner = kTRUE);
10   AliTrackFitterStraight(const AliTrackFitterStraight &fitter);
11   AliTrackFitterStraight &operator =(const AliTrackFitterStraight& fitter);
12   virtual ~AliTrackFitterStraight();
13
14   Bool_t Fit(const TArrayI *volIdx,const TArrayI *volIdsFit = 0x0,
15              AliGeomManager::ELayerID layerRangeMin = AliGeomManager::kFirstLayer,
16              AliGeomManager::ELayerID layerRangeMax = AliGeomManager::kLastLayer);
17   Bool_t GetPCA(const AliTrackPoint &p, AliTrackPoint &p2) const;
18
19   void Reset();
20   void AddPoint(Float_t x, Float_t y, Float_t z, Float_t sy, Float_t sz);
21   Bool_t Update();
22
23   //  Double_t GetC(); 
24   Double_t GetYat(Double_t x) const;
25   Double_t GetZat(Double_t x) const;
26   Double_t GetDYat(Double_t x) const;
27   Double_t GetDZat(Double_t x) const;
28   Bool_t   GetXYZat(Double_t r, Float_t *xyz) const;
29
30  protected:
31
32   Double_t      fAlpha;     //angle to transform to the fitting coordinate system
33   Double_t      fSumXY[5];  //sums for XY part
34   Double_t      fSumYY;     //sum for YY part
35   Double_t      fSumXZ[5];  //sums for XZ part
36   Double_t      fSumZZ;     //sum for ZZ part
37   Int_t         fNUsed;     //actual number of space-points used in the fit
38   Bool_t        fConv;      // indicates convergation
39
40  private:
41   Bool_t Begin(Int_t, Int_t) {Reset(); return kTRUE;}
42   Bool_t AddPoint(const AliTrackPoint *) {return kTRUE;}
43
44   ClassDef(AliTrackFitterStraight,1)  // Fast fit of straight tracks
45
46 };
47
48 #endif