#ifndef ALITPCPOINTCORRECTION_H
#define ALITPCPOINTCORRECTION_H
#include "TNamed.h"
#include "TArrayD.h"
#include "TObjArray.h"
#include "TVectorD.h"
class AliTPCPointCorrection:public TNamed {
public:
AliTPCPointCorrection();
AliTPCPointCorrection(const Text_t *name, const Text_t *title);
virtual ~AliTPCPointCorrection();
TVectorD * GetParamOutR(Int_t sector) {return (TVectorD*)fParamsOutR.At(sector);}
TVectorD * GetParamOutZ(Int_t sector) {return (TVectorD*)fParamsOutZ.At(sector);}
Double_t GetDrOut(Bool_t isGlobal, Bool_t type, Double_t cx, Double_t cy, Double_t cz, Int_t sector);
Double_t GetDzOut(Bool_t isGlobal, Bool_t type, Double_t cx, Double_t cy, Double_t cz, Int_t sector);
static Double_t SGetDrOut(Bool_t isGlobal, Bool_t type, Double_t cx, Double_t cy, Double_t cz, Int_t sector);
static Double_t SGetDzOut(Bool_t isGlobal, Bool_t type, Double_t cx, Double_t cy, Double_t cz, Int_t sector);
static AliTPCPointCorrection* Instance();
void SetInstance(AliTPCPointCorrection*param){fgInstance = param;}
Double_t CorrectionOutR0(Bool_t isGlobal, Bool_t type, Double_t cx, Double_t cy, Double_t cz, Int_t sector);
Double_t CorrectionOutZ0(Bool_t isGlobal, Bool_t type, Double_t cx, Double_t cy, Double_t cz, Int_t sector);
Double_t RPhiCOGCorrection(Int_t sector, Int_t padrow, Float_t pad, Float_t cy, Float_t y, Float_t z, Float_t ky, Float_t qMax, Float_t threhsold);
Double_t SRPhiCOGCorrection(Int_t sector, Int_t padrow, Float_t pad, Float_t cy, Float_t y, Float_t z, Float_t ky, Float_t qMax, Float_t threhsold);
Double_t GetEdgeQ0(Int_t sector, Int_t padrow, Float_t y);
static Double_t SGetEdgeQ0(Int_t sector, Int_t padrow, Float_t y);
void AddCorrectionSector(TObjArray & sideAPar, TObjArray &sideCPar, TObjArray & sideACov, TObjArray &sideCCov, Bool_t reset);
Double_t GetCorrectionSector(Int_t coord, Int_t sector, Double_t lx, Double_t ly, Double_t lz, Int_t quadrant =-1);
static Double_t SGetCorrectionSector(Int_t coord, Int_t sector, Double_t lx, Double_t ly, Double_t lz, Int_t quadrant=-1);
Double_t GetCorrection(Int_t coord, Int_t sector, Double_t lx, Double_t ly, Double_t lz);
static Double_t SGetCorrection(Int_t coord, Int_t sector, Double_t lx, Double_t ly, Double_t lz);
public:
TObjArray fParamsOutR;
TObjArray fParamsOutZ;
Int_t fParamOutRVersion;
TObjArray fErrorsOutR;
TObjArray fErrorsOutZ;
Int_t fParamOutZVersion;
Double_t fXIO;
Double_t fXmiddle;
Double_t fXquadrant;
TObjArray fArraySectorIntParam;
TObjArray fArraySectorIntCovar;
TMatrixD *fSectorParam;
TMatrixD *fSectorCovar;
private:
AliTPCPointCorrection(const AliTPCPointCorrection&);
AliTPCPointCorrection& operator=(const AliTPCPointCorrection&);
static AliTPCPointCorrection* fgInstance;
ClassDef(AliTPCPointCorrection, 3);
};
#endif
AliTPCPointCorrection.h:1 AliTPCPointCorrection.h:2 AliTPCPointCorrection.h:3 AliTPCPointCorrection.h:4 AliTPCPointCorrection.h:5 AliTPCPointCorrection.h:6 AliTPCPointCorrection.h:7 AliTPCPointCorrection.h:8 AliTPCPointCorrection.h:9 AliTPCPointCorrection.h:10 AliTPCPointCorrection.h:11 AliTPCPointCorrection.h:12 AliTPCPointCorrection.h:13 AliTPCPointCorrection.h:14 AliTPCPointCorrection.h:15 AliTPCPointCorrection.h:16 AliTPCPointCorrection.h:17 AliTPCPointCorrection.h:18 AliTPCPointCorrection.h:19 AliTPCPointCorrection.h:20 AliTPCPointCorrection.h:21 AliTPCPointCorrection.h:22 AliTPCPointCorrection.h:23 AliTPCPointCorrection.h:24 AliTPCPointCorrection.h:25 AliTPCPointCorrection.h:26 AliTPCPointCorrection.h:27 AliTPCPointCorrection.h:28 AliTPCPointCorrection.h:29 AliTPCPointCorrection.h:30 AliTPCPointCorrection.h:31 AliTPCPointCorrection.h:32 AliTPCPointCorrection.h:33 AliTPCPointCorrection.h:34 AliTPCPointCorrection.h:35 AliTPCPointCorrection.h:36 AliTPCPointCorrection.h:37 AliTPCPointCorrection.h:38 AliTPCPointCorrection.h:39 AliTPCPointCorrection.h:40 AliTPCPointCorrection.h:41 AliTPCPointCorrection.h:42 AliTPCPointCorrection.h:43 AliTPCPointCorrection.h:44 AliTPCPointCorrection.h:45 AliTPCPointCorrection.h:46 AliTPCPointCorrection.h:47 AliTPCPointCorrection.h:48 AliTPCPointCorrection.h:49 AliTPCPointCorrection.h:50 AliTPCPointCorrection.h:51 AliTPCPointCorrection.h:52 AliTPCPointCorrection.h:53 AliTPCPointCorrection.h:54 AliTPCPointCorrection.h:55 AliTPCPointCorrection.h:56 AliTPCPointCorrection.h:57 AliTPCPointCorrection.h:58 AliTPCPointCorrection.h:59 AliTPCPointCorrection.h:60 AliTPCPointCorrection.h:61 AliTPCPointCorrection.h:62 AliTPCPointCorrection.h:63 AliTPCPointCorrection.h:64 AliTPCPointCorrection.h:65 AliTPCPointCorrection.h:66 AliTPCPointCorrection.h:67 AliTPCPointCorrection.h:68 AliTPCPointCorrection.h:69 AliTPCPointCorrection.h:70 AliTPCPointCorrection.h:71 AliTPCPointCorrection.h:72 AliTPCPointCorrection.h:73 AliTPCPointCorrection.h:74 AliTPCPointCorrection.h:75 AliTPCPointCorrection.h:76 AliTPCPointCorrection.h:77 AliTPCPointCorrection.h:78 AliTPCPointCorrection.h:79 AliTPCPointCorrection.h:80 AliTPCPointCorrection.h:81 AliTPCPointCorrection.h:82 AliTPCPointCorrection.h:83 AliTPCPointCorrection.h:84 AliTPCPointCorrection.h:85 AliTPCPointCorrection.h:86 AliTPCPointCorrection.h:87 AliTPCPointCorrection.h:88 AliTPCPointCorrection.h:89 AliTPCPointCorrection.h:90 AliTPCPointCorrection.h:91 AliTPCPointCorrection.h:92