]>
Commit | Line | Data |
---|---|---|
326c2d4b | 1 | //-*- Mode: C++ -*- |
2 | // @(#) $Id$ | |
3 | ||
4 | //* This file is property of and copyright by the ALICE HLT Project * | |
5 | //* ALICE Experiment at CERN, All rights reserved. * | |
6 | //* See cxx source for full Copyright notice * | |
7 | ||
8 | #ifndef ALIHLTTPCCAPARAM_H | |
9 | #define ALIHLTTPCCAPARAM_H | |
10 | ||
11 | #include "Rtypes.h" | |
12 | ||
13 | /** | |
14 | * @class ALIHLTTPCCAParam | |
15 | * parameters of the CATracker, including geometry information | |
16 | * and some reconstructon constants. | |
17 | */ | |
18 | class AliHLTTPCCAParam | |
19 | { | |
20 | public: | |
21 | ||
22 | AliHLTTPCCAParam(); | |
23 | virtual ~AliHLTTPCCAParam(){;} | |
24 | ||
25 | void Initialize( Int_t iSec, Int_t NRows, Double_t RowXFirst, Double_t RowXStep, | |
26 | Double_t Alpha, Double_t DAlpha, | |
27 | Double_t RMin, Double_t RMax, Double_t ZMin, Double_t ZMax, | |
28 | Double_t PadPitch, Double_t ZSigma, Double_t Bz ); | |
29 | void Update(); | |
30 | ||
31 | void Sec2Global( Double_t x, Double_t y, Double_t z, | |
32 | Double_t *X, Double_t *Y, Double_t *Z ) const; | |
33 | void Global2Sec( Double_t x, Double_t y, Double_t z, | |
34 | Double_t *X, Double_t *Y, Double_t *Z ) const; | |
35 | Int_t &ISec(){ return fISec;} | |
36 | Int_t &NRows(){ return fNRows;} | |
37 | Double_t &RowXFirst(){ return fRowXFirst; } | |
38 | Double_t &RowXStep(){ return fRowXStep; } | |
39 | ||
40 | Double_t &Alpha(){ return fAlpha;} | |
41 | Double_t &DAlpha(){ return fDAlpha;} | |
42 | Double_t &CosAlpha(){ return fCosAlpha;} | |
43 | Double_t &SinAlpha(){ return fSinAlpha;} | |
44 | Double_t &AngleMin(){ return fAngleMin;} | |
45 | Double_t &AngleMax(){ return fAngleMax;} | |
46 | Double_t &RMin(){ return fRMin;} | |
47 | Double_t &RMax(){ return fRMax;} | |
48 | Double_t &ZMin(){ return fZMin;} | |
49 | Double_t &ZMax(){ return fZMax;} | |
50 | Double_t &ErrZ(){ return fErrZ;} | |
51 | Double_t &ErrX(){ return fErrX;} | |
52 | Double_t &ErrY(){ return fErrY;} | |
53 | Double_t &Bz(){ return fBz;} | |
54 | ||
55 | Double_t &CellConnectionFactor(){ return fCellConnectionFactor; } | |
56 | Double_t &TrackChiCut() { return fTrackChiCut; } | |
57 | Double_t TrackChi2Cut(){ return fTrackChi2Cut; } | |
58 | Int_t &MaxTrackMatchDRow(){ return fMaxTrackMatchDRow; } | |
59 | Double_t &YErrorCorrection(){ return fYErrorCorrection; } | |
60 | Double_t &ZErrorCorrection(){ return fZErrorCorrection; } | |
61 | ||
62 | protected: | |
63 | ||
64 | Int_t fISec; // sector number | |
65 | Int_t fNRows; // number of rows | |
66 | Double_t fRowXFirst, fRowXStep; // X coordinate of the first row and step between rows | |
67 | Double_t fAlpha, fDAlpha; // sector angle and angular size | |
68 | Double_t fCosAlpha, fSinAlpha;// sign and cosine of the sector angle | |
69 | Double_t fAngleMin, fAngleMax; // minimal and maximal angle | |
70 | Double_t fRMin, fRMax;// sector R range | |
71 | Double_t fZMin, fZMax;// sector Z range | |
72 | Double_t fErrZ, fErrX, fErrY;// default cluster errors | |
73 | Double_t fPadPitch; // pad pitch | |
74 | Double_t fBz; // magnetic field value (only constant field can be used) | |
75 | ||
76 | Double_t fCellConnectionFactor; // allowed distance in Chi^2/3.5 for neighbouring cells | |
77 | Double_t fTrackChiCut; // cut for track Sqrt(Chi2/NDF); | |
78 | Double_t fTrackChi2Cut;// cut for track Chi^2/NDF | |
79 | Int_t fMaxTrackMatchDRow;// maximal jump in TPC row for connecting track segments | |
80 | Double_t fYErrorCorrection;// correction factor for Y error of input clusters | |
81 | Double_t fZErrorCorrection;// correction factor for Z error of input clusters | |
82 | ||
83 | ClassDef(AliHLTTPCCAParam,1); | |
84 | }; | |
85 | ||
86 | ||
87 | #endif |