ddae0931 |
1 | #ifndef AliRICHHitMap_H |
2 | #define AliRICHHitMap_H |
3 | |
4 | #include "AliRICH.h" |
5 | #include "TArrayI.h" |
6 | typedef enum {empty, used, unused} Flag_t; |
7 | const Int_t kMaxNpadx=1200, kMaxNpady=1200; |
8 | |
9 | class AliRICHHitMap : |
10 | public TObject { |
11 | public: |
12 | virtual void FillHits() =0; |
13 | virtual void Clear() =0; |
14 | virtual void SetHit(Int_t ix, Int_t iy, Int_t idigit) =0; |
15 | virtual void DeleteHit(Int_t ix, Int_t iy) =0; |
16 | virtual Int_t GetHitIndex(Int_t ix, Int_t iy) =0; |
17 | virtual TObject * GetHit(Int_t ix, Int_t iy) =0; |
18 | virtual void FlagHit(Int_t ix, Int_t iy) =0; |
19 | virtual Flag_t TestHit(Int_t ix, Int_t iy) =0; |
20 | |
21 | ClassDef(AliRICHHitMap,1) //virtual base class for muon HitMap |
22 | }; |
23 | |
24 | class AliRICHHitMapA1 : |
25 | public AliRICHHitMap |
26 | { |
27 | private: |
28 | AliRICHsegmentation *fSegmentation; |
29 | Int_t fNpx; |
30 | Int_t fNpy; |
31 | TObjArray *fDigits; |
32 | Int_t fNdigits; |
33 | Int_t *fHitMap; |
34 | Int_t fMaxIndex; |
35 | |
36 | public: |
37 | AliRICHHitMapA1(AliRICHsegmentation *seg, TObjArray *dig); |
38 | virtual ~AliRICHHitMapA1(); |
39 | virtual void FillHits(); |
40 | virtual void Clear(); |
41 | virtual void SetHit(Int_t ix, Int_t iy, Int_t idigit); |
42 | virtual void DeleteHit(Int_t ix, Int_t iy); |
43 | virtual Int_t GetHitIndex(Int_t ix, Int_t iy); |
44 | virtual TObject* GetHit(Int_t ix, Int_t); |
45 | virtual void FlagHit(Int_t ix, Int_t iy); |
46 | virtual Flag_t TestHit(Int_t ix, Int_t iy); |
47 | private: |
48 | Int_t CheckedIndex(Int_t ix, Int_t iy); |
49 | ClassDef(AliRICHHitMapA1,1) // Implements HitMap as a 2-dim array |
50 | }; |
51 | #endif |
52 | |
53 | |