1 #ifndef ALITPCCALIBALIGN_H
2 #define ALITPCCALIBALIGN_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
12 #include "TObjArray.h"
13 #include "TLinearFitter.h"
15 class AliExternalTrackParam;
17 class AliTPCcalibAlign:public TObject {
21 virtual ~AliTPCcalibAlign();
23 void Process(const AliExternalTrackParam &t1,
24 const AliExternalTrackParam &t2,
27 TLinearFitter* GetFitter12(Int_t s1,Int_t s2) {
28 return static_cast<TLinearFitter*>(fFitterArray12[s1*72+s2]);
30 TLinearFitter* GetFitter9(Int_t s1,Int_t s2) {
31 return static_cast<TLinearFitter*>(fFitterArray9[s1*72+s2]);
33 TLinearFitter* GetFitter6(Int_t s1,Int_t s2) {
34 return static_cast<TLinearFitter*>(fFitterArray6[s1*72+s2]);
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);
40 void Process12(Double_t *t1,
42 TLinearFitter *fitter);
43 void Process9(Double_t *t1,
45 TLinearFitter *fitter);
46 void Process6(Double_t *t1,
48 TLinearFitter *fitter);
49 TLinearFitter* GetOrMakeFitter12(Int_t s1,Int_t s2) {
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);
55 TLinearFitter* GetOrMakeFitter9(Int_t s1,Int_t s2) {
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);
61 TLinearFitter* GetOrMakeFitter6(Int_t s1,Int_t s2) {
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);
67 TObjArray fFitterArray12;
68 TObjArray fFitterArray9;
69 TObjArray fFitterArray6;
72 ClassDef(AliTPCcalibAlign,1)