Release version of ITS code
[u/mrichter/AliRoot.git] / ITS / AliITSMapA1.h
CommitLineData
e8189707 1#ifndef ALIITSMAPA1_H
2#define ALIITSMAPA1_H
3
4
5#include "AliITSMap.h"
6class AliITSsegmentation;
7class TObjArray;
8
9
10class AliITSMapA1 :
11 public AliITSMap
12{
13
14public:
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
48protected:
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
59private:
60 Int_t *fHitMap; //! [fMaxIndex]
61
62 ClassDef(AliITSMapA1,1) // Implements Hit/Digit Map
63};
64
65#endif
66