]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSMapA1.h
Remove some shielding to accomodate compensator magnet.
[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   AliITSMapA1(AliITSsegmentation *seg);
17   AliITSMapA1(AliITSsegmentation *seg, TObjArray *dig);
18   AliITSMapA1(AliITSsegmentation *seg, TObjArray *dig, Int_t threshold);
19   AliITSMapA1(const AliITSMapA1 &source);
20     // Assignment operator
21   AliITSMapA1& operator=(const AliITSMapA1 &source);
22   
23   virtual ~AliITSMapA1();
24     // Fill hits from list of digits into hit map
25   virtual  void  FillMap();
26     // Clear the hit map
27   virtual  void  ClearMap();    
28     // Set a single hit
29   virtual  void  SetHit(Int_t iz, Int_t ix, Int_t idigit);
30     // Set threshold for the signal
31   virtual  void  SetThreshold(Int_t thresh) {fMapThreshold=thresh;}
32     // Delete a single hit
33   virtual  void  DeleteHit(Int_t iz, Int_t ix);
34     // Get index of hit in the list of digits
35   virtual Int_t  GetHitIndex(Int_t iz, Int_t ix);
36     // Get pointer to digit
37   virtual TObject* GetHit(Int_t iz, Int_t ix);
38     // Flag a hit as used
39   virtual  void  FlagHit(Int_t iz, Int_t ix);    
40     // Test hit status
41   virtual FlagType TestHit(Int_t iz, Int_t ix);
42     // Get signal from map
43   virtual Double_t  GetSignal(Int_t iz, Int_t ix); 
44     // Get max index inmap
45   Int_t   MaxIndex() {return fMaxIndex;}
46    // Set the array of objects
47   void SetArray(TObjArray *obj);
48   
49 protected:
50     // Check index
51   Int_t   CheckedIndex(Int_t iz, Int_t ix);
52
53   AliITSsegmentation *fSegmentation;   // segmentation class
54   Int_t fNpx;                          // fNpx
55   Int_t fNpz;                          // fNpz
56   TObjArray  *fObjects;                // object
57   Int_t fNobjects;                     // number of objects
58   Int_t fMaxIndex;                     // max index in map
59   
60 private:
61   Int_t *fHitMap;                      //! [fMaxIndex]
62   Int_t fMapThreshold;                 // signal threshold (ADC)
63
64   ClassDef(AliITSMapA1,1)              // Implements Hit/Digit Map 
65 };
66
67 #endif  
68