]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCkineGrid.h
Updated VZERO source
[u/mrichter/AliRoot.git] / TPC / AliTPCkineGrid.h
CommitLineData
33049b0a 1#ifndef ALITPCKINEGRID_H
2#define ALITPCKINEGRID_H
3/* Copyright(c) 2001-2002, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8#include <TMatrixD.h>
9#include <TArrayD.h>
10#include <TNamed.h>
11
12
13class AliTPCkineGrid : public TNamed {
14 ////////////////////////////////////////////////////////////////////////
15 // Class used by TPC tracking parameterization to handle the tracking
16 // parameters (efficiencies, etc...) on a kinematic grid [pt,eta].
17 // User has to provide the grid steps and the values of the parameter
18 // in the points of the grid. The function GetValueAt(pt,eta) returns
19 // the result of a linear interpolation at the point [pt,eta].
20 //
21 // Origin: Andrea Dainese, Padova - e-mail: andrea.dainese@pd.infn.it
22 ////////////////////////////////////////////////////////////////////////
23 public:
24
25 AliTPCkineGrid();
26 AliTPCkineGrid(Int_t npt,Int_t neta,Double_t* pt,Double_t* eta);
27 AliTPCkineGrid(const AliTPCkineGrid& grid);
28 virtual ~AliTPCkineGrid();
29 void GetArrayEta(Double_t* eta) const;
30 void GetArrayPt(Double_t* pt) const;
31 Int_t GetBin(Double_t pt,Double_t eta) const;
32 Int_t GetBinsEta() const {return fNeta+1;}
33 Int_t GetBinsPt() const {return fNpt+1;}
34 Double_t GetParam(Int_t i) const;
35 Double_t GetParam(Int_t ipt,Int_t ieta) const {return (*fParams)(ipt,ieta);}
36 Int_t GetPointsEta() const {return fNeta;}
37 Int_t GetPointsPt() const {return fNpt;}
38 Int_t GetTotBins() const {return (fNeta+1)*(fNpt+1);}
39 Int_t GetTotPoints() const {return fNeta*fNpt;}
40 Double_t GetValueAt(Double_t pt,Double_t eta) const;
41 void SetParam(Int_t i,Double_t par);
42 void SetParam(Int_t ipt,Int_t ieta,Double_t par) {
43 (*fParams)(ipt,ieta)=par; return; }
44
45
46 private:
47
48 Int_t fNpt; // number of points in the grid: pt
49 Int_t fNeta; // " eta
50 TArrayD* fPt; // grid points in pt
51 TArrayD* fEta; // grid points in eta
52 TMatrixD* fParams; // matrix of parameters in the grid points
53
54
55 ClassDef(AliTPCkineGrid,1) // Parameters used by AliTPCtrackerParam
56};
57
58
59#endif
60
61
62