]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliTrackFitter.h
Correct bug in MakeSlidingCell and define 3 new data members related to the number...
[u/mrichter/AliRoot.git] / STEER / AliTrackFitter.h
CommitLineData
98937d93 1#ifndef ALITRACKFITTER_H
2#define ALITRACKFITTER_H
3
4/*************************************************************************
5 * AliTrackFitter: base class for the fast track fitters *
6 * *
7 * *
8 * *
9 *************************************************************************/
10
11#include "TObject.h"
12
13#include "AliTrackPointArray.h"
14#include "AliAlignObj.h"
15
16class TMatrixDSym;
17
18class AliTrackFitter : public TObject {
19
20 public:
21
22 AliTrackFitter();
23 AliTrackFitter(AliTrackPointArray *array, Bool_t owner = kTRUE);
24 AliTrackFitter(const AliTrackFitter &fitter);
25 AliTrackFitter& operator= (const AliTrackFitter& fitter);
26 virtual ~AliTrackFitter();
27
28 virtual void Reset();
29 virtual void SetTrackPointArray(AliTrackPointArray *array, Bool_t owner = kTRUE);
30 virtual Bool_t Fit(UShort_t volId,
31 AliTrackPointArray *pVolId, AliTrackPointArray *pTrack,
32 AliAlignObj::ELayerID layerRangeMin = AliAlignObj::kFirstLayer,
33 AliAlignObj::ELayerID layerRangeMax = AliAlignObj::kLastLayer) = 0;
34 virtual Bool_t GetPCA(const AliTrackPoint &pIn, AliTrackPoint &pOut) const = 0;
35
36 const Float_t* GetX() const {return fPoints->GetX();}
37 const Float_t* GetY() const {return fPoints->GetY();}
38 const Float_t* GetZ() const {return fPoints->GetZ();}
39 const Double_t* GetParam() const {return &fParams[0];}
40 const TMatrixDSym & GetCovariance() const {return *fCov;}
41
42 protected:
43
44 Double_t fParams[6]; // Track parameters
45 TMatrixDSym *fCov; // Track cov matrix
46 AliTrackPointArray *fPoints; // Pointer to the array with track space points
47 Bool_t fIsOwner; // Is the object owner of the space points array
48
49 private:
50
51 ClassDef(AliTrackFitter,1) // Abstract class of fast track fitters
52
53};
54
55#endif