]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCClusterTransformation.h
bugfix: correct calculation of remaining payload to detect decoding errors
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCClusterTransformation.h
CommitLineData
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 25class AliTPCParam;
26class 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
37class 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