3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
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 ////////////////////////////////////////////////////////////////////////
15 #include "AliITSMapA1.h"
17 class AliITSMapA2 : public AliITSMapA1{
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
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();
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){}
39 void SetHit(Int_t iz, Int_t ix, Double_t signal);
41 // Set threshold for the signal
42 virtual void SetThreshold(Int_t thresh) {fMapThresholdD=(Double_t)thresh;}
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);
47 // Get index in the map
48 virtual Int_t GetHitIndex(Int_t iz, Int_t ix);
49 // Get object (1D histogram)
50 virtual TObject *GetHit(Int_t iz, Int_t dummy);
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));}
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);
62 void FillMapFromHist(); // fills the map from a historgram
63 void FillHist(); // fills a histogram from the map
64 void ResetHist(); // resets the histogram
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
71 ClassDef(AliITSMapA2,1) // Implements Signal Map