]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/Base/AliTPCCorrectionLookupTable.h
o update correction/distortion integration
[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
05da1b4e 19 virtual void GetCorrection(const Float_t x[],const Short_t roc,Float_t dx[]);
20 virtual void GetDistortion(const Float_t x[],const Short_t roc,Float_t dx[]);
21
2d4e971f 22 void CreateLookupTable(AliTPCCorrection &tpcCorr, Float_t stepSize=5.);
05da1b4e 23
24
2d4e971f 25private:
05da1b4e 26
27 // sizes of lookup tables
2d4e971f 28 Int_t fNR; // number of rows (r) used for lookup table
05da1b4e 29 Int_t fNPhi; // number of phi slices used for lookup table
30 Int_t fNZ; // number of columns (z) used for lookup table
31 //
2d4e971f 32 TVectorD fLimitsRows; // bin limits in row direction
33 TVectorD fLimitsPhiSlices; // bin limits in phi direction
34 TVectorD fLimitsColumns; // bin limits in z direction
05da1b4e 35 // for distortion
36 TMatrixF **fLookUpDxDist; //[fNPhi] Array to store electric field integral (int Er/Ez)
2d4e971f 37 TMatrixF **fLookUpDyDist; //[fNPhi] Array to store electric field integral (int Er/Ez)
38 TMatrixF **fLookUpDzDist; //[fNPhi] Array to store electric field integral (int Er/Ez)
05da1b4e 39
40 // for correction
41 TMatrixF **fLookUpDxCorr; //[fNPhi] Array to store electric field integral (int Er/Ez)
2d4e971f 42 TMatrixF **fLookUpDyCorr; //[fNPhi] Array to store electric field integral (int Er/Ez)
43 TMatrixF **fLookUpDzCorr; //[fNPhi] Array to store electric field integral (int Er/Ez)
05da1b4e 44
45 void InitTables();
46 void ResetTables();
47 void SetupDefaultLimits();
48
49 void GetInterpolation(const Float_t x[],const Short_t roc,Float_t dx[],
2d4e971f 50 TMatrixF **mR, TMatrixF **mPhi, TMatrixF **mZ);
05da1b4e 51
52 AliTPCCorrectionLookupTable(const AliTPCCorrectionLookupTable &corr);
53 AliTPCCorrectionLookupTable& operator= (const AliTPCCorrectionLookupTable &corr);
54 ClassDef(AliTPCCorrectionLookupTable,1); // TPC corrections dumped into a lookup table
55};
56
57