New RICH code J.Barbosa, A.Morsch, D.DiBari
[u/mrichter/AliRoot.git] / RICH / AliRICHHitMap.h
CommitLineData
ddae0931 1#ifndef AliRICHHitMap_H
2#define AliRICHHitMap_H
3
4#include "AliRICH.h"
5#include "TArrayI.h"
6typedef enum {empty, used, unused} Flag_t;
7const Int_t kMaxNpadx=1200, kMaxNpady=1200;
8
9class AliRICHHitMap :
10public 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
24class AliRICHHitMapA1 :
25public 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