Updated macro for ACORDE raw-data visualisation. We use now the ACORDE sym.names...
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibAlign.h
CommitLineData
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"
e4042305 14#include "AliTPCcalibBase.h"
15#include "TH1.h"
9318a5b4 16
17class AliExternalTrackParam;
e4042305 18class AliTPCseed;
9318a5b4 19
e4042305 20class AliTPCcalibAlign:public AliTPCcalibBase {
9318a5b4 21public:
22 AliTPCcalibAlign();
e149f26d 23 AliTPCcalibAlign(const Text_t *name, const Text_t *title);
9318a5b4 24
25 virtual ~AliTPCcalibAlign();
26
e4042305 27 virtual void Process(AliTPCseed *track);
28
29 void ProcessTracklets(const AliExternalTrackParam &t1,
30 const AliExternalTrackParam &t2,
31 Int_t s1,Int_t s2);
9318a5b4 32 void Eval();
33 TLinearFitter* GetFitter12(Int_t s1,Int_t s2) {
34 return static_cast<TLinearFitter*>(fFitterArray12[s1*72+s2]);
35 }
36 TLinearFitter* GetFitter9(Int_t s1,Int_t s2) {
37 return static_cast<TLinearFitter*>(fFitterArray9[s1*72+s2]);
38 }
39 TLinearFitter* GetFitter6(Int_t s1,Int_t s2) {
40 return static_cast<TLinearFitter*>(fFitterArray6[s1*72+s2]);
41 }
42 Bool_t GetTransformation12(Int_t s1,Int_t s2,TMatrixD &a);
43 Bool_t GetTransformation9(Int_t s1,Int_t s2,TMatrixD &a);
44 Bool_t GetTransformation6(Int_t s1,Int_t s2,TMatrixD &a);
e4042305 45
46 TObjArray fDphiHistArray;
47 TObjArray fDthetaHistArray;
48 TObjArray fDyHistArray;
49 TObjArray fDzHistArray;
50
9318a5b4 51private:
52 void Process12(Double_t *t1,
53 Double_t *t2,
54 TLinearFitter *fitter);
55 void Process9(Double_t *t1,
56 Double_t *t2,
57 TLinearFitter *fitter);
58 void Process6(Double_t *t1,
59 Double_t *t2,
60 TLinearFitter *fitter);
61 TLinearFitter* GetOrMakeFitter12(Int_t s1,Int_t s2) {
62 //get or make fitter
63 if (!fFitterArray12[s1*72+s2])
64 fFitterArray12[s1*72+s2]=new TLinearFitter(12,"x0++x1++x2++x3++x4++x5++x6++x7++x8++x9++x10++x11");
65 return GetFitter12(s1,s2);
66 }
67 TLinearFitter* GetOrMakeFitter9(Int_t s1,Int_t s2) {
68 //get or make fitter
69 if (!fFitterArray9[s1*72+s2])
70 fFitterArray9[s1*72+s2]=new TLinearFitter(9,"x0++x1++x2++x3++x4++x5++x6++x7++x8");
71 return GetFitter9(s1,s2);
72 }
73 TLinearFitter* GetOrMakeFitter6(Int_t s1,Int_t s2) {
74 //get or make fitter
75 if (!fFitterArray6[s1*72+s2])
76 fFitterArray6[s1*72+s2]=new TLinearFitter(6,"x0++x1++x2++x3++x4++x5");
77 return GetFitter6(s1,s2);
78 }
79 TObjArray fFitterArray12;
80 TObjArray fFitterArray9;
81 TObjArray fFitterArray6;
82 Int_t fPoints[72*72];
83
84 ClassDef(AliTPCcalibAlign,1)
85};
86
87#endif