]>
Commit | Line | Data |
---|---|---|
0bbbbd17 | 1 | // -*- Mode: C++ -*- |
2 | // $Id: AliHLTTPCClusterTransformation.h 40939 2010-05-04 15:35:58Z kkanaki $ | |
3 | ||
4 | #ifndef ALIHLTTPCCLUSTERTRANSFORMATION_H | |
5 | #define ALIHLTTPCCLUSTERTRANSFORMATION_H | |
6 | ||
7 | //* This file is property of and copyright by the ALICE HLT Project * | |
8 | //* ALICE Experiment at CERN, All rights reserved. * | |
9 | //* See cxx source for full Copyright notice * | |
10 | ||
11 | /** @file AliHLTTPCClusterTransformation.h | |
12 | @author Kalliopi Kanaki, Sergey Gorbunov | |
13 | @date | |
14 | @brief | |
15 | */ | |
16 | ||
17 | // see below for class documentation | |
18 | // or | |
19 | // refer to README to build package | |
20 | // or | |
21 | // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt | |
22 | ||
67e7ad4f | 23 | #include"Rtypes.h" |
24 | ||
0bbbbd17 | 25 | class AliTPCParam; |
26 | class AliTPCTransform; | |
27 | ||
28 | /** | |
29 | * @class AliHLTTPCClusterTransformation | |
30 | * | |
31 | * The class transforms internal TPC coordinates (pad,time) to XYZ. | |
32 | * Allnecessary calibration and alignment corrections are applied | |
33 | * | |
34 | * @ingroup alihlt_tpc_components | |
35 | */ | |
36 | ||
37 | class AliHLTTPCClusterTransformation{ | |
38 | ||
39 | public: | |
40 | ||
41 | /** standard constructor */ | |
42 | AliHLTTPCClusterTransformation(); | |
43 | /** destructor */ | |
44 | virtual ~AliHLTTPCClusterTransformation(); | |
45 | ||
46 | int Init( double FieldBz, UInt_t TimeStamp ); | |
67e7ad4f | 47 | void SetCurrentTimeStamp( UInt_t TimeStamp ); |
0bbbbd17 | 48 | int Transform( int Slice, int Row, float Pad, float Time, float XYZ[] ); |
49 | ||
48fd12f9 | 50 | int ReverseAlignment( float XYZ[], int slice, int padrow); |
51 | void SetRotationMatrix(const Double_t *rot=NULL, bool bCalcAdjugate=false); | |
52 | bool CalcAdjugateRotation(bool bCheck=false); | |
53 | ||
54 | void Print(const char* option=NULL) const; | |
55 | ||
0bbbbd17 | 56 | protected: |
57 | ||
58 | AliTPCTransform * fOfflineTransform; //! transient | |
67e7ad4f | 59 | AliTPCParam * fOfflineTPCParam; //! transient |
85b28c8f | 60 | Int_t fLastSector; // last sector |
61 | Double_t fAliT[3]; // alignment - translation | |
62 | Double_t fAliR[9]; // alignment - rotation | |
48fd12f9 | 63 | Double_t fAdjR[9]; // alignment - inverse rotation (adjugate) |
0bbbbd17 | 64 | |
65 | private: | |
67e7ad4f | 66 | |
0bbbbd17 | 67 | /** copy constructor prohibited */ |
68 | AliHLTTPCClusterTransformation(const AliHLTTPCClusterTransformation&); | |
69 | /** assignment operator prohibited */ | |
70 | AliHLTTPCClusterTransformation& operator=(const AliHLTTPCClusterTransformation&); | |
71 | ||
72 | ClassDef(AliHLTTPCClusterTransformation, 0) | |
73 | }; | |
74 | ||
75 | #endif |