]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRDtrackerFitter.h
added protection
[u/mrichter/AliRoot.git] / TRD / AliTRDtrackerFitter.h
CommitLineData
e4f2f73d 1#ifndef ALITRDTRACKERFITTER_H
2#define ALITRDTRACKERFITTER_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8///////////////////////////////////////////////////////////////////////////////
9// //
10// Track fitter //
11// //
12// Authors: //
13// Alex Bercuci <A.Bercuci@gsi.de> //
14// Markus Fasel <M.Fasel@gsi.de> //
15// //
16///////////////////////////////////////////////////////////////////////////////
17
18#ifndef AliRIEMAN_H
19#include <AliRieman.h>
20#endif
21
22#ifndef ROOT_Rtypes
23#include "Rtypes.h"
24#endif
25
26// implementations in the future
27class TObject;
28class TLinearFitter;
29class TTreeSRedirector;
30
31class AliTRDcluster;
32class AliTRDseedV1;
33
34class AliTRDtrackerFitter : public TObject {
35
36 public:
37
38 AliTRDtrackerFitter();
d76231c8 39 AliTRDtrackerFitter(const AliTRDtrackerFitter &f);
40 AliTRDtrackerFitter& operator=(const AliTRDtrackerFitter &f);
e4f2f73d 41 virtual ~AliTRDtrackerFitter();
42
43 void Copy(TObject &f) const;
44 AliRieman *GetRiemanFitter() const { return fRieman1; }
45 void GetHyperplaneFitChi2(Double_t *chisquares) const;
46 void GetHyperplaneFitResults(Double_t *params) const;
47 Double_t GetRiemanCurvature() const { return fRieman1->GetC(); }
48
49 void FitRieman(AliTRDcluster **cl, Int_t nLayers);
50 void FitRieman(AliTRDseedV1 *cseed, Int_t *planes=0x0);
51 Double_t FitHyperplane(AliTRDseedV1 *cseed, Double_t chi2ZF, Double_t zval);
52 void Reset();
53 void SetDebugStream(TTreeSRedirector *debug){fDebugStream = debug;}
54 void SetLayers(const Int_t nlayers) {fNlayers = nlayers;}
55
56 private:
57
58 // Linear fitters in planes
59 TLinearFitter *fFitterTC; // Fitting with tilting pads - kz fixed - kz= Z/x, + vertex const
60 TLinearFitter *fFitterT2; // Fitting with tilting pads - kz not fixed
61 AliRieman *fRieman1; // Rieman fitter
62 AliRieman *fRieman2; // Rieman fitter
63 // Linear Fitter chisquares
64 Double_t fChi2TR; // Chisquared
65 Double_t fChi2TC; // Chisquared
66 // Hyperplane Fit results
67 Double_t fCR; // Track radius
68 Double_t fCC; // Track curvature
69 Double_t fDca; // DCA
70 // Helping Parameters
71 Double_t fDzmf; // Something
72 Double_t fZmf; // Something else
73 Int_t fNlayers; // Some layers
74
75 // Debug
76 TTreeSRedirector *fDebugStream; //! debugger
77
78 ClassDef(AliTRDtrackerFitter,1) // TRD track fitter
79};
80#endif // ALITRDTRACKERFITTER_H