]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/misc/AliL3TransBit.h
Moved from AliTransbit to AliL3Transbit.
[u/mrichter/AliRoot.git] / HLT / misc / AliL3TransBit.h
1 #ifndef ALIL3TRANSBIT_H
2 #define ALIL3TRANSBIT_H
3
4 #include "AliL3RootTypes.h"
5
6 class AliL3TransBit {
7  public:
8   AliL3TransBit();
9   virtual ~AliL3TransBit();
10   inline Int_t Get0to1(Int_t val0);
11   inline Int_t Get1to0(Int_t val1);
12   Int_t GetBit0() {return fBit0;}
13   Int_t GetBit1() {return fBit1;}
14   Double_t GetX0() {return fX0;}
15   void SetBits(Int_t bit0, Int_t bit1) {fBit0=bit0;fBit1=bit1;}
16   void SetX0(Double_t x0) {fX0=x0;}
17   virtual void Update()=0;
18   virtual Double_t FindOptimumX0()=0;
19  protected:
20   Int_t  * fTable0; //! table
21   Int_t  * fTable1; //! table
22   Int_t fBit0;
23   Int_t fBit1;
24   Double_t fX0;
25
26   ClassDef(AliL3TransBit,1)
27 };
28
29 class AliL3TransBit_v1 : public AliL3TransBit {
30  public:
31   virtual void Update();
32   virtual Double_t FindOptimumX0();
33  protected:
34   
35   ClassDef(AliL3TransBit_v1,1)
36 };
37
38 class AliL3TransBit_v2 : public AliL3TransBit {
39  public:
40   virtual void Update();
41   virtual Double_t FindOptimumX0();
42  protected:
43
44   ClassDef(AliL3TransBit_v2,1)
45 };
46
47 Int_t AliL3TransBit::Get0to1(Int_t val0)
48 {
49   //return compressed bit values
50   return fTable0[val0];
51 }
52  
53 Int_t AliL3TransBit::Get1to0(Int_t val1)
54 {
55   //return uncompressed bit value
56   return fTable1[val1];
57 }
58
59 #endif 
60