2 // Original: AliHLTDataCompressorHelper.h,v 1.4 2004/06/15 10:26:57 hristov Exp $
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 *
8 #ifndef AliHLTTPC_DataCompressorHelper
9 #define AliHLTTPC_DataCompressorHelper
12 * @class AliHLTTPCDataCompressorHelper
16 class AliHLTTPCDataCompressorHelper {
19 AliHLTTPCDataCompressorHelper();
20 virtual ~AliHLTTPCDataCompressorHelper();
22 static void SetBitNumbers(Int_t pad,Int_t time,Int_t charge,Int_t shape);
23 static void SetTransverseResolutions(Float_t res1,Float_t res2,Float_t res3,Float_t width=0.005);
24 static void SetLongitudinalResolutions(Float_t res1,Float_t res2,Float_t res3,Float_t width=0.005);
25 static void SetRemainingBitNumbers(Int_t pad,Int_t time,Int_t shape);
26 static Int_t GetNPadBits() {return fgNumPadBits;}
27 static Int_t GetNTimeBits() {return fgNumTimeBits;}
28 static Int_t GetNChargeBits() {return fgNumChargeBits;}
29 static Int_t GetNShapeBits() {return fgNumShapeBits;}
30 static Float_t GetXYWidthStep() {return fgXYWidthStep;}
31 static Float_t GetZWidthStep() {return fgZWidthStep;}
32 static Int_t GetClusterCharge() {return fgClusterCharge;}
33 static Float_t GetXYResidualStep(Int_t row);
34 static Float_t GetZResidualStep(Int_t row);
35 static Int_t GetNPadBitsRemaining() {return fgNumPadBitsRemaining;}
36 static Int_t GetNTimeBitsRemaining() {return fgNumTimeBitsRemaining;}
37 static Int_t GetNShapeBitsRemaining() {return fgNumShapeBitsRemaining;}
38 static Float_t GetPadPrecisionFactor();
39 static Float_t GetTimePrecisionFactor();
42 static Int_t Nint(Double_t x);
43 static Int_t Abs(Int_t d) { return (d > 0) ? d : -d; }
44 static Double_t Abs(Double_t d) { return (d > 0) ? d : -d; }
47 static Int_t fgNumPadBits; // Number of pad bits
48 static Int_t fgNumTimeBits; // Number of time bits
49 static Int_t fgNumChargeBits; // Number of charge bits
50 static Int_t fgNumShapeBits; // Number of shape bits
51 static Int_t fgNumPadBitsRemaining; // Number of remaining pad bits
52 static Int_t fgNumTimeBitsRemaining; // Number of remaining time bits
53 static Int_t fgNumShapeBitsRemaining; // Number of remaining shape bits
55 static Float_t fgXYResidualStep1; // XY resbual at step 1
56 static Float_t fgXYResidualStep2; // XY residual at step 2
57 static Float_t fgXYResidualStep3; // XY resudual at step 3
58 static Float_t fgZResidualStep1; // Z residual at step 1
59 static Float_t fgZResidualStep2; // Z resudual at step 2
60 static Float_t fgZResidualStep3; // Z resudual at step 3
61 static Float_t fgXYWidthStep; // Width of XY step
62 static Float_t fgZWidthStep; // Width of Z step
63 static Int_t fgClusterCharge; // Cluster charge
66 ClassDef(AliHLTTPCDataCompressorHelper,1)