2 // $Id: AliHLTTPCClusterTransformation.h 40939 2010-05-04 15:35:58Z kkanaki $
4 #ifndef ALIHLTTPCCLUSTERTRANSFORMATION_H
5 #define ALIHLTTPCCLUSTERTRANSFORMATION_H
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 *
11 /** @file AliHLTTPCClusterTransformation.h
12 @author Kalliopi Kanaki, Sergey Gorbunov
17 // see below for class documentation
19 // refer to README to build package
21 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
29 * @class AliHLTTPCClusterTransformation
31 * The class transforms internal TPC coordinates (pad,time) to XYZ.
32 * Allnecessary calibration and alignment corrections are applied
34 * @ingroup alihlt_tpc_components
37 class AliHLTTPCClusterTransformation{
41 /** standard constructor */
42 AliHLTTPCClusterTransformation();
44 virtual ~AliHLTTPCClusterTransformation();
46 int Init( double FieldBz, UInt_t TimeStamp );
47 void SetCurrentTimeStamp( UInt_t TimeStamp );
48 int Transform( int Slice, int Row, float Pad, float Time, float XYZ[] );
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);
54 void Print(const char* option=NULL) const;
58 AliTPCParam * fOfflineTPCParam; //! transient
59 AliRecoParam * fOfflineRecoParam; //! transient
60 Int_t fLastSector; // last sector
61 Double_t fAliT[3]; // alignment - translation
62 Double_t fAliR[9]; // alignment - rotation
63 Double_t fAdjR[9]; // alignment - inverse rotation (adjugate)
67 /** copy constructor prohibited */
68 AliHLTTPCClusterTransformation(const AliHLTTPCClusterTransformation&);
69 /** assignment operator prohibited */
70 AliHLTTPCClusterTransformation& operator=(const AliHLTTPCClusterTransformation&);
72 ClassDef(AliHLTTPCClusterTransformation, 1)