1 #ifndef ALITRACKFITTERRIEMAN_H
2 #define ALITRACKFITTERRIEMAN_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 ///////////////////////////////////////////////////////////////////////////////
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
15 //////////////////////////////////////////////////////////////////////////////
17 #include "AliTrackFitter.h"
18 #include "AliRieman.h"
19 class TTreeSRedirector;
22 class AliTrackFitterRieman : public AliTrackFitter{
24 AliTrackFitterRieman();
25 AliTrackFitterRieman(AliTrackPointArray *array, Bool_t owner = kTRUE);
26 AliTrackFitterRieman(const AliTrackFitterRieman &rieman);
27 AliTrackFitterRieman &operator =(const AliTrackFitterRieman& rieman);
28 virtual ~AliTrackFitterRieman();
30 Bool_t Fit(const TArrayI *volIds,const TArrayI *volIdsFit = 0x0,
31 AliAlignObj::ELayerID layerRangeMin = AliAlignObj::kFirstLayer,
32 AliAlignObj::ELayerID layerRangeMax = AliAlignObj::kLastLayer);
33 Bool_t GetPCA(const AliTrackPoint &p, AliTrackPoint &p2) const;
34 void SetMaxDelta(Float_t maxDelta) { fMaxDelta = maxDelta;}
35 Float_t GetMaxDelta() const { return fMaxDelta;}
38 void AddPoint(Float_t x, Float_t y, Float_t z, Float_t sy, Float_t sz);
41 Double_t GetC() const {return fRieman->GetC();}
42 Double_t GetYat(Double_t x) const {return fRieman->GetYat(x);}
43 Double_t GetZat(Double_t x) const {return fRieman->GetZat(x);}
44 Double_t GetDYat(Double_t x) const {return fRieman->GetDYat(x);}
45 Double_t GetDZat(Double_t x) const {return fRieman->GetDZat(x);}
46 Bool_t GetXYZat(Double_t r, Float_t *xyz) const {return fRieman->GetXYZat(r, fAlpha,xyz);}
47 AliRieman *GetRieman() const {return fRieman;}
50 Double_t fAlpha; //angle to transform to the fitting coordinate system
51 Int_t fNUsed; //actual number of space-points used in the fit
52 Bool_t fConv; //indicates convergation
53 Float_t fMaxDelta; // maximal allowed delta in PCA exported for PCA minimization
54 AliRieman *fRieman; // rieman fitter
56 TTreeSRedirector *fDebugStream; //!debug streamer
57 ClassDef(AliTrackFitterRieman,2) // Fast fit of helices on ITS RecPoints