L3 becomes HLT
[u/mrichter/AliRoot.git] / HLT / misc / AliHLTTransBit.h
1 // @(#) $Id$
2
3 #ifndef ALIL3TRANSBIT_H
4 #define ALIL3TRANSBIT_H
5
6 #include "AliHLTRootTypes.h"
7
8 class AliHLTTransBit {
9  public:
10   AliHLTTransBit();
11   virtual ~AliHLTTransBit();
12   inline Int_t Get0to1(Int_t val0) const;
13   inline Int_t Get1to0(Int_t val1) const;
14   Int_t GetBit0() const {return fBit0;}
15   Int_t GetBit1() const {return fBit1;}
16   Double_t GetX0() const {return fX0;}
17   void SetBits(Int_t bit0, Int_t bit1) {fBit0=bit0;fBit1=bit1;}
18   void SetX0(Double_t x0) {fX0=x0;}
19   virtual void Update()=0;
20   virtual Double_t FindOptimumX0()=0;
21  protected:
22   Int_t  * fTable0; //! table
23   Int_t  * fTable1; //! table
24   Int_t fBit0; // bit 0
25   Int_t fBit1; // bit 1
26   Double_t fX0; // optimal X value(?)
27
28   ClassDef(AliHLTTransBit,1)
29 };
30
31 typedef AliHLTTransBit AliL3TransBit; // for backward compatibility
32
33 class AliHLTTransBitV1 : public AliHLTTransBit {
34  public:
35   virtual ~AliHLTTransBitV1(){}
36   virtual void Update();
37   virtual Double_t FindOptimumX0();
38  protected:
39   
40   ClassDef(AliHLTTransBitV1,1)
41 };
42
43 typedef AliHLTTransBitV1 AliL3TransBitV1; // for backward compatibility
44
45 class AliHLTTransBitV2 : public AliHLTTransBit {
46  public:
47   virtual ~AliHLTTransBitV2(){}
48   virtual void Update();
49   virtual Double_t FindOptimumX0();
50  protected:
51
52   ClassDef(AliHLTTransBitV2,1)
53 };
54
55 typedef AliHLTTransBitV2 AliL3TransBitV2; // for backward compatibility
56
57 Int_t AliHLTTransBit::Get0to1(Int_t val0) const
58 {
59   //return compressed bit values
60   return fTable0[val0];
61 }
62  
63 Int_t AliHLTTransBit::Get1to0(Int_t val1) const
64 {
65   //return uncompressed bit value
66   return fTable1[val1];
67 }
68
69 #endif 
70