]>
Commit | Line | Data |
---|---|---|
98937d93 | 1 | #ifndef ALITRACKFITTERRIEMAN_H |
2 | #define ALITRACKFITTERRIEMAN_H | |
6b6cba33 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
98937d93 | 5 | |
6b6cba33 | 6 | /* $Id$ */ |
7 | ||
8 | /////////////////////////////////////////////////////////////////////////////// | |
9 | // | |
10 | // Class to the track points on the Riemann sphere. Inputs are | |
11 | // the set of id's (volids) of the volumes in which residuals are | |
12 | // calculated to construct a chi2 function to be minimized during | |
13 | // the alignment procedures | |
14 | // | |
15 | ////////////////////////////////////////////////////////////////////////////// | |
98937d93 | 16 | |
17 | #include "AliTrackFitter.h" | |
8849da04 | 18 | #include "AliRieman.h" |
19 | class TTreeSRedirector; | |
20 | class AliRieman; | |
98937d93 | 21 | |
22 | class AliTrackFitterRieman : public AliTrackFitter{ | |
23 | public: | |
24 | AliTrackFitterRieman(); | |
25 | AliTrackFitterRieman(AliTrackPointArray *array, Bool_t owner = kTRUE); | |
26 | AliTrackFitterRieman(const AliTrackFitterRieman &rieman); | |
27 | AliTrackFitterRieman &operator =(const AliTrackFitterRieman& rieman); | |
8849da04 | 28 | virtual ~AliTrackFitterRieman(); |
98937d93 | 29 | |
cc345ce3 | 30 | Bool_t Fit(const TArrayI *volIds,const TArrayI *volIdsFit = 0x0, |
98937d93 | 31 | AliAlignObj::ELayerID layerRangeMin = AliAlignObj::kFirstLayer, |
32 | AliAlignObj::ELayerID layerRangeMax = AliAlignObj::kLastLayer); | |
33 | Bool_t GetPCA(const AliTrackPoint &p, AliTrackPoint &p2) const; | |
186e6ced | 34 | void SetMaxDelta(Float_t maxDelta) { fMaxDelta = maxDelta;} |
35 | Float_t GetMaxDelta() const { return fMaxDelta;} | |
dfce6628 | 36 | void SetCorrection(Bool_t correction){ fBCorrection=correction;} |
37 | Bool_t GetCorrection() const {return fBCorrection ;} | |
98937d93 | 38 | void Reset(); |
39 | void AddPoint(Float_t x, Float_t y, Float_t z, Float_t sy, Float_t sz); | |
40 | void Update(); | |
41 | ||
1501484e | 42 | Double_t GetC() const {return fRieman->GetC();} |
dfce6628 | 43 | Double_t GetYat(Double_t x) const; |
44 | Double_t GetZat(Double_t x) const; | |
8849da04 | 45 | Double_t GetDYat(Double_t x) const {return fRieman->GetDYat(x);} |
dfce6628 | 46 | Double_t GetDZat(Double_t x) const {return fRieman->GetDZat(x);} |
47 | Double_t GetErrY2at(Double_t x) const; | |
48 | Double_t GetErrZ2at(Double_t x) const; | |
49 | ||
8849da04 | 50 | Bool_t GetXYZat(Double_t r, Float_t *xyz) const {return fRieman->GetXYZat(r, fAlpha,xyz);} |
51 | AliRieman *GetRieman() const {return fRieman;} | |
98937d93 | 52 | protected: |
dfce6628 | 53 | Bool_t fBCorrection; //add correction for non-helicity |
98937d93 | 54 | Double_t fAlpha; //angle to transform to the fitting coordinate system |
46ae650f | 55 | Int_t fNUsed; //actual number of space-points used in the fit |
8849da04 | 56 | Bool_t fConv; //indicates convergation |
186e6ced | 57 | Float_t fMaxDelta; // maximal allowed delta in PCA exported for PCA minimization |
8849da04 | 58 | AliRieman *fRieman; // rieman fitter |
dfce6628 | 59 | Double_t fCorrY[4]; // correction polynom coef |
60 | Double_t fCorrZ[4]; // correction polynom coef | |
98937d93 | 61 | private: |
8849da04 | 62 | TTreeSRedirector *fDebugStream; //!debug streamer |
186e6ced | 63 | ClassDef(AliTrackFitterRieman,2) // Fast fit of helices on ITS RecPoints |
98937d93 | 64 | |
65 | }; | |
66 | ||
67 | #endif |