]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSMapA2.h
From P. Gonzales: Adding Dalitz task, updates accordingly
[u/mrichter/AliRoot.git] / ITS / AliITSMapA2.h
CommitLineData
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 17class 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.
0de51c8a 37 virtual void SetHit(Int_t,Int_t,Int_t){}
db514d7e 38 // set signal at a certain position in array
39 void SetHit(Int_t iz, Int_t ix, Double_t signal){
40 fHitMapD[CheckedIndex(iz, ix)]=signal;}
41 // set signal at a certain position in array
42 void SetHit(Int_t index, Double_t signal){fHitMapD[index]=signal;}
e8189707 43 // Flag a hit as used
f62d4da1 44 // Set threshold for the signal
766e3066 45 virtual void SetThreshold(Int_t thresh) {fMapThresholdD=(Double_t)thresh;}
46 // flags hit in map
47 virtual void FlagHit(Int_t iz, Int_t ix);
db514d7e 48 //set the entry value to zero
49 virtual void DeleteHit(Int_t iz, Int_t ix){
50 fHitMapD[CheckedIndex(iz, ix)]=0;}
51 //return the index of an entry in array
fb4e90e0 52 virtual Int_t GetHitIndex(Int_t iz, Int_t ix) const {
db514d7e 53 return CheckedIndex(iz, ix);};
e8189707 54 // Get object (1D histogram)
590d15ee 55 virtual TObject *GetHit(Int_t iz, Int_t dummy) const;
e8189707 56 // Test hit status
766e3066 57 virtual FlagType TestHit(Int_t iz, Int_t ix);
58 // Get signal using two dim. index
590d15ee 59 virtual Double_t GetSignal(Int_t iz, Int_t ix) const
766e3066 60 {return GetSignal(GetHitIndex(iz,ix));}
e8189707 61 // Get signal
590d15ee 62 Double_t GetSignal(Int_t index) const ;
766e3066 63 // Add new value to Map at cell
64 virtual void AddSignal(Int_t iz, Int_t ix, Double_t sig);
e8189707 65
766e3066 66 private:
67 void FillMapFromHist(); // fills the map from a historgram
68 void FillHist(); // fills a histogram from the map
69 void ResetHist(); // resets the histogram
e8189707 70
766e3066 71 Double_t *fHitMapD; //! [fMaxIndex]
72 Double_t fMapThresholdD; // threshold for signal
73 Int_t fScaleSizeX; // scale factor on x
74 Int_t fScaleSizeZ; // scale factor on z
e8189707 75
766e3066 76 ClassDef(AliITSMapA2,1) // Implements Signal Map
e8189707 77};
78
e8189707 79#endif