]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/tracking-ca/AliHLTTPCCAParam.h
completely re-worked TPC CA tracking code (Sergey/Ivan)
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCAParam.h
CommitLineData
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 */
18class 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