]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliTrackFitterStraight.h
Corrected call to the static method AliBitPacking::UnpackWord
[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              AliAlignObj::ELayerID layerRangeMin = AliAlignObj::kFirstLayer,
16              AliAlignObj::ELayerID layerRangeMax = AliAlignObj::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   void 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
42   ClassDef(AliTrackFitterStraight,1)  // Fast fit of straight tracks
43
44 };
45
46 #endif