]>
Commit | Line | Data |
---|---|---|
326c2d4b | 1 | // @(#) $Id$ |
2 | //************************************************************************* | |
3 | // This file is property of and copyright by the ALICE HLT Project * | |
4 | // ALICE Experiment at CERN, All rights reserved. * | |
5 | // * | |
6 | // Primary Authors: Jochen Thaeder <thaeder@kip.uni-heidelberg.de> * | |
7 | // Ivan Kisel <kisel@kip.uni-heidelberg.de> * | |
8 | // for The ALICE HLT Project. * | |
9 | // * | |
10 | // Permission to use, copy, modify and distribute this software and its * | |
11 | // documentation strictly for non-commercial purposes is hereby granted * | |
12 | // without fee, provided that the above copyright notice appears in all * | |
13 | // copies and that both the copyright notice and this permission notice * | |
14 | // appear in the supporting documentation. The authors make no claims * | |
15 | // about the suitability of this software for any purpose. It is * | |
16 | // provided "as is" without express or implied warranty. * | |
17 | //************************************************************************* | |
18 | ||
19 | #include "AliHLTTPCCAParam.h" | |
20 | #include "TMath.h" | |
21 | ||
22 | ||
23 | ClassImp(AliHLTTPCCAParam); | |
24 | ||
25 | AliHLTTPCCAParam::AliHLTTPCCAParam() | |
26 | : fISec(0),fNRows(63),fRowXFirst(85.225), fRowXStep(0.75),fAlpha(0.174533), fDAlpha(0.349066), | |
27 | fCosAlpha(0), fSinAlpha(0), fAngleMin(0), fAngleMax(0), fRMin(83.65), fRMax(133.3), | |
28 | fZMin(0.0529937), fZMax(249.778), fErrZ(0.228808), fErrX(0), fErrY(0),fPadPitch(0.4),fBz(-5.), | |
29 | fCellConnectionFactor(5), fTrackChiCut(6), fTrackChi2Cut(0), fMaxTrackMatchDRow(3), | |
30 | fYErrorCorrection(0.33), fZErrorCorrection(0.45) | |
31 | { | |
32 | Update(); | |
33 | } | |
34 | ||
35 | void AliHLTTPCCAParam::Initialize( Int_t iSec, | |
36 | Int_t NRows, | |
37 | Double_t RowXFirst, Double_t RowXStep, | |
38 | Double_t Alpha, Double_t DAlpha, | |
39 | Double_t RMin, Double_t RMax, | |
40 | Double_t ZMin, Double_t ZMax, | |
41 | Double_t PadPitch, Double_t ZSigma, | |
42 | Double_t Bz | |
43 | ) | |
44 | { | |
45 | // initialization | |
46 | fISec = iSec; | |
47 | fAlpha = Alpha; | |
48 | fDAlpha = DAlpha; | |
49 | fRMin = RMin; | |
50 | fRMax = RMax; | |
51 | fZMin = ZMin; | |
52 | fZMax = ZMax; | |
53 | fPadPitch = PadPitch; | |
54 | fErrY = 1.; // not in use | |
55 | fErrZ = ZSigma; | |
56 | fBz = Bz; | |
57 | fNRows = NRows; | |
58 | fRowXFirst = RowXFirst; | |
59 | fRowXStep = RowXStep; | |
60 | Update(); | |
61 | } | |
62 | ||
63 | void AliHLTTPCCAParam::Update() | |
64 | { | |
65 | // update of calculated values | |
66 | fCosAlpha = TMath::Cos(fAlpha); | |
67 | fSinAlpha = TMath::Sin(fAlpha); | |
68 | fAngleMin = fAlpha - fDAlpha/2.; | |
69 | fAngleMax = fAlpha + fDAlpha/2.; | |
70 | fErrX = fPadPitch/TMath::Sqrt(12.); | |
71 | fTrackChi2Cut = fTrackChiCut * fTrackChiCut; | |
72 | } | |
73 | ||
74 | void AliHLTTPCCAParam::Sec2Global( Double_t x, Double_t y, Double_t z, | |
75 | Double_t *X, Double_t *Y, Double_t *Z ) const | |
76 | { | |
77 | // conversion of coorinates sector->global | |
78 | *X = x*fCosAlpha - y*fSinAlpha; | |
79 | *Y = y*fCosAlpha + x*fSinAlpha; | |
80 | *Z = z; | |
81 | } | |
82 | ||
83 | void AliHLTTPCCAParam::Global2Sec( Double_t X, Double_t Y, Double_t Z, | |
84 | Double_t *x, Double_t *y, Double_t *z ) const | |
85 | { | |
86 | // conversion of coorinates global->sector | |
87 | *x = X*fCosAlpha + Y*fSinAlpha; | |
88 | *y = Y*fCosAlpha - X*fSinAlpha; | |
89 | *z = Z; | |
90 | } |