]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/Base/AliTPCCorrectionLookupTable.h
o add first version of lookup table corrections
[u/mrichter/AliRoot.git] / TPC / Base / AliTPCCorrectionLookupTable.h
CommitLineData
05da1b4e 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
4////////////////////////////////////////////////////////////////////////////
5// AliTPCCorrectionLookupTable class //
6// Authors: Jens Wiechula //
7////////////////////////////////////////////////////////////////////////////
8
9#include "AliTPCCorrection.h"
10#include <TVectorD.h>
11#include <TMatrixFfwd.h>
12
13class AliTPCCorrectionLookupTable : public AliTPCCorrection {
14
15public:
16 AliTPCCorrectionLookupTable();
17 virtual ~AliTPCCorrectionLookupTable();
18
19
20 virtual void GetCorrection(const Float_t x[],const Short_t roc,Float_t dx[]);
21 virtual void GetDistortion(const Float_t x[],const Short_t roc,Float_t dx[]);
22
23 void CreateLookupTable(AliTPCCorrection &tpcCorr, Int_t rows=90, Int_t phiSlices=144, Int_t columns=130 );
24
25
26// private:
27
28 // sizes of lookup tables
29 Int_t fNR; // number of rows (r) used for lookup table
30 Int_t fNPhi; // number of phi slices used for lookup table
31 Int_t fNZ; // number of columns (z) used for lookup table
32 //
33 TVectorD fLimitsRows; // bin limits in row direction
34 TVectorD fLimitsPhiSlices; // bin limits in phi direction
35 TVectorD fLimitsColumns; // bin limits in z direction
36 // for distortion
37 TMatrixF **fLookUpDxDist; //[fNPhi] Array to store electric field integral (int Er/Ez)
38 TMatrixF **fLookUpDyDist; //[fNPhi] Array to store electric field integral (int Er/Ez)
39 TMatrixF **fLookUpDzDist; //[fNPhi] Array to store electric field integral (int Er/Ez)
40
41 // for correction
42 TMatrixF **fLookUpDxCorr; //[fNPhi] Array to store electric field integral (int Er/Ez)
43 TMatrixF **fLookUpDyCorr; //[fNPhi] Array to store electric field integral (int Er/Ez)
44 TMatrixF **fLookUpDzCorr; //[fNPhi] Array to store electric field integral (int Er/Ez)
45
46 void InitTables();
47 void ResetTables();
48 void SetupDefaultLimits();
49
50 void GetInterpolation(const Float_t x[],const Short_t roc,Float_t dx[],
51 TMatrixF **mR, TMatrixF **mPhi, TMatrixF **mZ,
52 Int_t type);
53
54 AliTPCCorrectionLookupTable(const AliTPCCorrectionLookupTable &corr);
55 AliTPCCorrectionLookupTable& operator= (const AliTPCCorrectionLookupTable &corr);
56 ClassDef(AliTPCCorrectionLookupTable,1); // TPC corrections dumped into a lookup table
57};
58
59