]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSMapA1.h
New class for ITS coordiante transformations used by AliITSgeom nearly
[u/mrichter/AliRoot.git] / ITS / AliITSMapA1.h
1 #ifndef ALIITSMAPA1_H
2 #define ALIITSMAPA1_H
3
4
5 #include "AliITSMap.h"
6 class AliITSsegmentation;
7 class TObjArray;
8
9
10 class AliITSMapA1 :
11   public AliITSMap 
12 {
13   
14 public:
15   AliITSMapA1() {
16     // constructor
17   }
18   AliITSMapA1(AliITSsegmentation *seg);
19   AliITSMapA1(AliITSsegmentation *seg, TObjArray *dig);
20   AliITSMapA1(const AliITSMapA1 &source);
21     // Assignment operator
22   AliITSMapA1& operator=(const AliITSMapA1 &source);
23   
24   virtual ~AliITSMapA1();
25     // Fill hits from list of digits into hit map
26   virtual  void  FillMap();
27     // Clear the hit map
28   virtual  void  ClearMap();    
29     // Set a single hit
30   virtual  void  SetHit(Int_t iz, Int_t ix, Int_t idigit);
31     // Delete a single hit
32   virtual  void  DeleteHit(Int_t iz, Int_t ix);
33     // Get index of hit in the list of digits
34   virtual Int_t  GetHitIndex(Int_t iz, Int_t ix);
35     // Get pointer to digit
36   virtual TObject* GetHit(Int_t iz, Int_t ix);
37     // Flag a hit as used
38   virtual  void  FlagHit(Int_t iz, Int_t ix);    
39     // Test hit status
40   virtual FlagType TestHit(Int_t iz, Int_t ix);
41     // Get signal from map
42   virtual Double_t  GetSignal(Int_t iz, Int_t ix); 
43     // Get max index inmap
44   Int_t   MaxIndex() {return fMaxIndex;}
45    // Set the array of objects
46   void SetArray(TObjArray *obj);
47   
48 protected:
49     // Check index
50   Int_t   CheckedIndex(Int_t iz, Int_t ix);
51
52   AliITSsegmentation *fSegmentation;   // segmentation class
53   Int_t fNpx;                          // fNpx
54   Int_t fNpz;                          // fNpz
55   TObjArray  *fObjects;                // object
56   Int_t fNobjects;                     // number of objects
57   Int_t fMaxIndex;                     // max index in map
58   
59 private:
60   Int_t *fHitMap;                      //! [fMaxIndex]
61
62   ClassDef(AliITSMapA1,1)              // Implements Hit/Digit Map 
63 };
64
65 #endif  
66