]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCpolyTrack.h
07-oct-2003 NvE Arguments of SetSignal and AddSignal memberfunctions of AliCalmodule...
[u/mrichter/AliRoot.git] / TPC / AliTPCpolyTrack.h
CommitLineData
1627d1c4 1#ifndef ALITPCPOLYTRACK_H
2#define ALITPCPOLYTRACK_H
3
4//-------------------------------------------------------
5// TPC Cluster Class
6//
7// Origin: Marian Ivanov
8//-------------------------------------------------------
9
10#include "TObject.h"
11
12//_____________________________________________________________________________
13class AliTPCpolyTrack : public TObject {
14public:
15 AliTPCpolyTrack();
16 void Reset();
17 void AddPoint(Double_t x, Double_t y, Double_t z, Double_t sy=1, Double_t sz=1);
37264142 18 inline void GetFitPoint(Double_t x, Double_t &y, Double_t &z);
19 inline void GetFitDerivation(Double_t x, Double_t &y, Double_t &z);
1627d1c4 20 void UpdateParameters();
21 Int_t GetN(){return fNPoints;}
22 void GetBoundaries(Double_t &xmin, Double_t &xmax){xmin = fMinX;xmax=fMaxX;}
37264142 23 void Refit(AliTPCpolyTrack & track, Double_t deltay, Double_t deltaz);
1627d1c4 24private:
25 void Fit2(Double_t fSumY, Double_t fSumYX, Double_t fSumYX2,
26 Double_t fSumX, Double_t fSumX2, Double_t fSumX3,
27 Double_t fSumX4, Double_t fSumW, Double_t &a, Double_t &b, Double_t &c);
28 void Fit1(Double_t fSumY, Double_t fSumYX,
29 Double_t fSumX, Double_t fSumX2,
30 Double_t fSumW, Double_t &a, Double_t &b, Double_t &c);
31 //
32 Double_t fA;
33 Double_t fB;
34 Double_t fC;
35 Double_t fD;
36 Double_t fE;
37 Double_t fF;
38 Double_t fMaxX;
39 Double_t fMinX;
40 //
41 Double_t fSumW; // sum of the weight
42
43 Double_t fSumX; //
44 Double_t fSumX2; //
45 Double_t fSumX3; //
46 Double_t fSumX4; //
47 Double_t fSumY; //
48 Double_t fSumYX; //
49 Double_t fSumYX2; //
50 Double_t fSumZ; //
51 Double_t fSumZX; //
52 Double_t fSumZX2; //
53
54 Double_t fX[200];
55 Double_t fY[200];
56 Double_t fSY[200];
57 Double_t fZ[200];
58 Double_t fSZ[200];
59
60 Int_t fNPoints;
61
62 ClassDef(AliTPCpolyTrack,1) // Time Projection "polynomial track"
63};
64
37264142 65void AliTPCpolyTrack::GetFitPoint(Double_t x, Double_t &y, Double_t &z)
66{
67 y = fA+fB*x+fC*x*x;
68 z = fD+fE*x+fF*x*x;
69}
70
71
72void AliTPCpolyTrack::GetFitDerivation(Double_t x, Double_t &y, Double_t &z)
73{
74
75 y = fB+2.*fC*x;
76 z = fE+2.*fF*x;
77
78}
79
1627d1c4 80
81#endif
82
83