]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSMapA1.h
Update class version number
[u/mrichter/AliRoot.git] / ITS / AliITSMapA1.h
1 #ifndef ALIITSMAPA1_H
2 #define ALIITSMAPA1_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5 /* $Id$ */
6 ////////////////////////////////////////////////////////////////////////
7 //  Map Class for ITS. Implementation A1. In this implementation, the //
8 // 2 dimensional (iz,ix) map is filled with integers values. For each //
9 // cell a corresponding TObject, a hit, can also be stored.           //
10 ////////////////////////////////////////////////////////////////////////
11 #include "AliITSMap.h"
12 class AliITSsegmentation;
13 class TObjArray;
14
15 class AliITSMapA1 : public AliITSMap{
16
17  public:
18     AliITSMapA1(); // default creator
19     // Standard reator using only a segmentation class
20     AliITSMapA1(AliITSsegmentation *seg);
21     // Standard reator using only a segmentation class and pointer to digits
22     AliITSMapA1(AliITSsegmentation *seg, TObjArray *dig);
23     // Standard reator using only a segmentation class and pointer to digits
24     // and a threshold value
25     AliITSMapA1(AliITSsegmentation *seg, TObjArray *dig, Int_t threshold);
26     // Copy Operator
27     AliITSMapA1(const AliITSMapA1 &source);
28     // Assignment operator
29     AliITSMapA1& operator=(const AliITSMapA1 &source);
30     // Distructor
31     virtual ~AliITSMapA1();
32     // Fill hits from list of digits into hit map
33     virtual  void  FillMap();
34     // Clear the hit map
35     virtual  void  ClearMap();    
36     // Set a single hit
37     virtual  void  SetHit(Int_t iz, Int_t ix, Int_t idigit);
38     // Set threshold for the signal
39     virtual  void  SetThreshold(Int_t thresh) {fMapThreshold=thresh;}
40     // Delete a single hit
41     virtual  void  DeleteHit(Int_t iz, Int_t ix);
42     // Get index of hit in the list of digits
43     virtual Int_t  GetHitIndex(Int_t iz, Int_t ix) const ;
44     // Get pointer to digit
45     virtual TObject* GetHit(Int_t iz, Int_t ix);
46     // Flag a hit as used
47     virtual  void  FlagHit(Int_t iz, Int_t ix);
48     // Test hit status
49     virtual FlagType TestHit(Int_t iz, Int_t ix);
50     // Get signal from map
51     virtual Double_t  GetSignal(Int_t iz, Int_t ix);
52     // Get max index inmap
53     Int_t   MaxIndex() const  {return fMaxIndex;}
54     // Set the array of objects
55     void SetArray(TObjArray *obj);
56
57  protected:
58     // Check index
59     Int_t   CheckedIndex(Int_t iz, Int_t ix) const;
60
61     // Data members
62     AliITSsegmentation *fSegmentation;   // segmentation class
63     Int_t fNpx;                          // fNpx
64     Int_t fNpz;                          // fNpz
65     TObjArray  *fObjects;                // object
66     Int_t fNobjects;                     // number of objects
67     Int_t fMaxIndex;                     // max index in map
68
69  private:
70     Int_t *fHitMap;                      //! [fMaxIndex]
71     Int_t fMapThreshold;                 // signal threshold (ADC)
72
73     ClassDef(AliITSMapA1,1)  // Implements Hit/Digit Map 
74 };
75
76 #endif  
77