]>
Commit | Line | Data |
---|---|---|
9318a5b4 | 1 | #ifndef ALITPCCALIBALIGN_H |
2 | #define ALITPCCALIBALIGN_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | //// | |
8 | //// | |
9 | //// | |
10 | ||
11 | #include "TObject.h" | |
12 | #include "TObjArray.h" | |
13 | #include "TLinearFitter.h" | |
14 | ||
15 | class AliExternalTrackParam; | |
16 | ||
17 | class AliTPCcalibAlign:public TObject { | |
18 | public: | |
19 | AliTPCcalibAlign(); | |
20 | ||
21 | virtual ~AliTPCcalibAlign(); | |
22 | ||
23 | void Process(const AliExternalTrackParam &t1, | |
24 | const AliExternalTrackParam &t2, | |
25 | Int_t s1,Int_t s2); | |
26 | void Eval(); | |
27 | TLinearFitter* GetFitter12(Int_t s1,Int_t s2) { | |
28 | return static_cast<TLinearFitter*>(fFitterArray12[s1*72+s2]); | |
29 | } | |
30 | TLinearFitter* GetFitter9(Int_t s1,Int_t s2) { | |
31 | return static_cast<TLinearFitter*>(fFitterArray9[s1*72+s2]); | |
32 | } | |
33 | TLinearFitter* GetFitter6(Int_t s1,Int_t s2) { | |
34 | return static_cast<TLinearFitter*>(fFitterArray6[s1*72+s2]); | |
35 | } | |
36 | Bool_t GetTransformation12(Int_t s1,Int_t s2,TMatrixD &a); | |
37 | Bool_t GetTransformation9(Int_t s1,Int_t s2,TMatrixD &a); | |
38 | Bool_t GetTransformation6(Int_t s1,Int_t s2,TMatrixD &a); | |
39 | private: | |
40 | void Process12(Double_t *t1, | |
41 | Double_t *t2, | |
42 | TLinearFitter *fitter); | |
43 | void Process9(Double_t *t1, | |
44 | Double_t *t2, | |
45 | TLinearFitter *fitter); | |
46 | void Process6(Double_t *t1, | |
47 | Double_t *t2, | |
48 | TLinearFitter *fitter); | |
49 | TLinearFitter* GetOrMakeFitter12(Int_t s1,Int_t s2) { | |
50 | //get or make fitter | |
51 | if (!fFitterArray12[s1*72+s2]) | |
52 | fFitterArray12[s1*72+s2]=new TLinearFitter(12,"x0++x1++x2++x3++x4++x5++x6++x7++x8++x9++x10++x11"); | |
53 | return GetFitter12(s1,s2); | |
54 | } | |
55 | TLinearFitter* GetOrMakeFitter9(Int_t s1,Int_t s2) { | |
56 | //get or make fitter | |
57 | if (!fFitterArray9[s1*72+s2]) | |
58 | fFitterArray9[s1*72+s2]=new TLinearFitter(9,"x0++x1++x2++x3++x4++x5++x6++x7++x8"); | |
59 | return GetFitter9(s1,s2); | |
60 | } | |
61 | TLinearFitter* GetOrMakeFitter6(Int_t s1,Int_t s2) { | |
62 | //get or make fitter | |
63 | if (!fFitterArray6[s1*72+s2]) | |
64 | fFitterArray6[s1*72+s2]=new TLinearFitter(6,"x0++x1++x2++x3++x4++x5"); | |
65 | return GetFitter6(s1,s2); | |
66 | } | |
67 | TObjArray fFitterArray12; | |
68 | TObjArray fFitterArray9; | |
69 | TObjArray fFitterArray6; | |
70 | Int_t fPoints[72*72]; | |
71 | ||
72 | ClassDef(AliTPCcalibAlign,1) | |
73 | }; | |
74 | ||
75 | #endif |