]>
Commit | Line | Data |
---|---|---|
e8189707 | 1 | #ifndef ALIITSMAPA2_H |
2 | #define ALIITSMAPA2_H | |
766e3066 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
5 | /* $Id$ */ | |
e8189707 | 6 | |
766e3066 | 7 | //////////////////////////////////////////////////////////////////////// |
8 | // Map Class for ITS. Implementation A2. In this implementation, the // | |
9 | // 2 dimensional (iz,ix) map is filled with Double precision floating // | |
10 | // point values. For each cell a corresponding TObject, a hit, can // | |
11 | // also be stored. This class is derived from AliITSMapA1 so that is // | |
12 | // retains all of the functionality of that map class as well. // | |
13 | //////////////////////////////////////////////////////////////////////// | |
e8189707 | 14 | |
15 | #include "AliITSMapA1.h" | |
16 | ||
766e3066 | 17 | class AliITSMapA2 : public AliITSMapA1{ |
18 | ||
19 | public: | |
20 | AliITSMapA2(); // default creator | |
21 | // Standard reator using only a segmentation class | |
22 | AliITSMapA2(AliITSsegmentation *seg); | |
23 | // Standard reator using only a segmentation class and X and Z scale sizes | |
24 | AliITSMapA2(AliITSsegmentation *seg,Int_t scalesizeX,Int_t scalesizeZ); | |
25 | // Standard reator using only a segmentation class pointer to hits, and | |
26 | // a threshold value | |
27 | AliITSMapA2(AliITSsegmentation *seg, TObjArray *hist,Double_t thresh); | |
28 | virtual ~AliITSMapA2(); // destructor | |
29 | AliITSMapA2(const AliITSMapA2 &source); // copy constructor | |
30 | // assignment operator | |
31 | AliITSMapA2& operator=(const AliITSMapA2 &source); | |
32 | // fill pad signals into map | |
33 | virtual void FillMap(); | |
34 | // clear map | |
35 | virtual void ClearMap(); | |
36 | // set hit. Over written with a null function. See Double version below. | |
37 | virtual void SetHit(Int_t iz, Int_t ix, Int_t signal){} | |
38 | // set hit | |
39 | void SetHit(Int_t iz, Int_t ix, Double_t signal); | |
e8189707 | 40 | // Flag a hit as used |
f62d4da1 | 41 | // Set threshold for the signal |
766e3066 | 42 | virtual void SetThreshold(Int_t thresh) {fMapThresholdD=(Double_t)thresh;} |
43 | // flags hit in map | |
44 | virtual void FlagHit(Int_t iz, Int_t ix); | |
45 | // delets hit from map | |
46 | virtual void DeleteHit(Int_t iz, Int_t ix); | |
e8189707 | 47 | // Get index in the map |
766e3066 | 48 | virtual Int_t GetHitIndex(Int_t iz, Int_t ix); |
e8189707 | 49 | // Get object (1D histogram) |
766e3066 | 50 | virtual TObject *GetHit(Int_t iz, Int_t dummy); |
e8189707 | 51 | // Test hit status |
766e3066 | 52 | virtual FlagType TestHit(Int_t iz, Int_t ix); |
53 | // Get signal using two dim. index | |
54 | virtual Double_t GetSignal(Int_t iz, Int_t ix) | |
55 | {return GetSignal(GetHitIndex(iz,ix));} | |
e8189707 | 56 | // Get signal |
766e3066 | 57 | Double_t GetSignal(Int_t index); |
58 | // Add new value to Map at cell | |
59 | virtual void AddSignal(Int_t iz, Int_t ix, Double_t sig); | |
e8189707 | 60 | |
766e3066 | 61 | private: |
62 | void FillMapFromHist(); // fills the map from a historgram | |
63 | void FillHist(); // fills a histogram from the map | |
64 | void ResetHist(); // resets the histogram | |
e8189707 | 65 | |
766e3066 | 66 | Double_t *fHitMapD; //! [fMaxIndex] |
67 | Double_t fMapThresholdD; // threshold for signal | |
68 | Int_t fScaleSizeX; // scale factor on x | |
69 | Int_t fScaleSizeZ; // scale factor on z | |
e8189707 | 70 | |
766e3066 | 71 | ClassDef(AliITSMapA2,1) // Implements Signal Map |
e8189707 | 72 | }; |
73 | ||
e8189707 | 74 | #endif |