3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
9 #include <TClonesArray.h>
11 class AliRICHMap : public AliHitMap
14 AliRICHMap(TClonesArray *pDig);
15 virtual ~AliRICHMap() {delete fMap;}
16 void FillHits(); //virtual
17 void Clear(const char *) {fMap->Zero();} //virtual
18 void DeleteHit(Int_t ix,Int_t iy) {(*fMap)(ix,iy)=0;} //virtual
19 void SetHit(Int_t ix,Int_t iy,Int_t idigit){(*fMap)(ix,iy)=idigit+1;} //virtual
20 Int_t GetHitIndex(Int_t ix,Int_t iy) const{return (Int_t)TMath::Abs((*fMap)(ix, iy))-1;} //virtual
21 TObject* GetHit(Int_t ix,Int_t iy) const{Int_t idx=GetHitIndex(ix,iy);return(idx <0)?0:fDigits->At(idx);} //virtual
22 void FlagHit(Int_t ix,Int_t iy) {(*fMap)(ix, iy)=-TMath::Abs((*fMap)(ix,iy));} //virtual
23 Bool_t ValidateHit(Int_t,Int_t) {return 1;} //virtual
24 inline FlagType TestHit(Int_t ix,Int_t iy); //virtual
25 void Print(const Option_t *) const{fMap->Print();}
27 TClonesArray *fDigits; //List of digits
28 Int_t fNdigits; //Number of digits
29 TMatrix *fMap; //hit map
30 ClassDef(AliRICHMap,0) //Implements map as TMatrix
32 //__________________________________________________________________________________________________
33 FlagType AliRICHMap::TestHit(Int_t padx,Int_t pady)
35 //Is there a hit for given pad?
36 Int_t inf=(Int_t)(*fMap)(padx,pady);
37 if(inf<0){//flaged as used
39 }else if(inf==0){//no hit
41 }else{//index of not yet used hit