3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
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"
14 class AliITSsegmentation;
17 class AliITSMapA1 : public AliITSMap{
20 AliITSMapA1(); // default creator
21 // Standard reator using only a segmentation class
22 AliITSMapA1(AliITSsegmentation *seg);
23 // Standard reator using only a segmentation class and pointer to digits
24 AliITSMapA1(AliITSsegmentation *seg, TObjArray *dig);
25 // Standard reator using only a segmentation class and pointer to digits
26 // and a threshold value
27 AliITSMapA1(AliITSsegmentation *seg, TObjArray *dig, Int_t thr);
28 AliITSMapA1(AliITSsegmentation *seg, TObjArray *dig, TArrayI thr);
30 AliITSMapA1(const AliITSMapA1 &source);
31 // Assignment operator
32 AliITSMapA1& operator=(const AliITSMapA1 &source);
34 virtual ~AliITSMapA1();
35 // Fill hits from list of digits into hit map
36 virtual void FillMap();
37 virtual void FillMap2();
39 virtual void ClearMap();
41 virtual void SetHit(Int_t iz, Int_t ix, Int_t idigit);
42 // Set threshold for the signal
43 virtual void SetThreshold(Int_t thresh) {fMapThreshold=thresh;}
44 virtual void SetThresholdArr(TArrayI th) {fMapThresholdArr=th;}
45 // Delete a single hit
46 virtual void DeleteHit(Int_t iz, Int_t ix);
47 // Get index of hit in the list of digits
48 virtual Int_t GetHitIndex(Int_t iz, Int_t ix) const ;
49 // Get pointer to digit
50 virtual TObject* GetHit(Int_t iz, Int_t ix) const;
52 virtual void FlagHit(Int_t iz, Int_t ix);
54 virtual FlagType TestHit(Int_t iz, Int_t ix);
55 // Get signal from map
56 virtual Double_t GetSignal(Int_t iz, Int_t ix) const;
57 // Get max index inmap
58 Int_t MaxIndex() const {return fMaxIndex;}
59 // Set the array of objects
60 void SetArray(TObjArray *obj);
64 Int_t CheckedIndex(Int_t iz, Int_t ix) const;
67 AliITSsegmentation *fSegmentation; // segmentation class
70 TObjArray *fObjects; // object
71 Int_t fNobjects; // number of objects
72 Int_t fMaxIndex; // max index in map
73 TArrayI fMapThresholdArr; // array with thresholds
75 Int_t *fHitMap; //! [fMaxIndex]
76 Int_t fMapThreshold; // signal threshold (ADC)
78 ClassDef(AliITSMapA1,2) // Implements Hit/Digit Map