]>
Commit | Line | Data |
---|---|---|
e8189707 | 1 | #ifndef ALIITSMAPA1_H |
2 | #define ALIITSMAPA1_H | |
766e3066 | 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 | //////////////////////////////////////////////////////////////////////// | |
e8189707 | 11 | #include "AliITSMap.h" |
12 | class AliITSsegmentation; | |
13 | class TObjArray; | |
14 | ||
766e3066 | 15 | class AliITSMapA1 : public AliITSMap{ |
e8189707 | 16 | |
766e3066 | 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); | |
e8189707 | 28 | // Assignment operator |
766e3066 | 29 | AliITSMapA1& operator=(const AliITSMapA1 &source); |
30 | // Distructor | |
31 | virtual ~AliITSMapA1(); | |
e8189707 | 32 | // Fill hits from list of digits into hit map |
766e3066 | 33 | virtual void FillMap(); |
e8189707 | 34 | // Clear the hit map |
766e3066 | 35 | virtual void ClearMap(); |
e8189707 | 36 | // Set a single hit |
766e3066 | 37 | virtual void SetHit(Int_t iz, Int_t ix, Int_t idigit); |
94e213f9 | 38 | // Set threshold for the signal |
766e3066 | 39 | virtual void SetThreshold(Int_t thresh) {fMapThreshold=thresh;} |
e8189707 | 40 | // Delete a single hit |
766e3066 | 41 | virtual void DeleteHit(Int_t iz, Int_t ix); |
e8189707 | 42 | // Get index of hit in the list of digits |
fb4e90e0 | 43 | virtual Int_t GetHitIndex(Int_t iz, Int_t ix) const ; |
e8189707 | 44 | // Get pointer to digit |
766e3066 | 45 | virtual TObject* GetHit(Int_t iz, Int_t ix); |
e8189707 | 46 | // Flag a hit as used |
766e3066 | 47 | virtual void FlagHit(Int_t iz, Int_t ix); |
e8189707 | 48 | // Test hit status |
766e3066 | 49 | virtual FlagType TestHit(Int_t iz, Int_t ix); |
e8189707 | 50 | // Get signal from map |
766e3066 | 51 | virtual Double_t GetSignal(Int_t iz, Int_t ix); |
e8189707 | 52 | // Get max index inmap |
766e3066 | 53 | Int_t MaxIndex() const {return fMaxIndex;} |
54 | // Set the array of objects | |
55 | void SetArray(TObjArray *obj); | |
56 | ||
57 | protected: | |
e8189707 | 58 | // Check index |
fb4e90e0 | 59 | Int_t CheckedIndex(Int_t iz, Int_t ix) const; |
766e3066 | 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 | |
e8189707 | 68 | |
766e3066 | 69 | private: |
70 | Int_t *fHitMap; //! [fMaxIndex] | |
71 | Int_t fMapThreshold; // signal threshold (ADC) | |
e8189707 | 72 | |
766e3066 | 73 | ClassDef(AliITSMapA1,1) // Implements Hit/Digit Map |
e8189707 | 74 | }; |
75 | ||
76 | #endif | |
77 |