X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSMapA1.h;h=0372cf5e0438e68f8eac53105ccfd7db03977c82;hb=ff12b981e8b8e9bc7063c1f26373e5264934d329;hp=75e5eff6d947b9d5af1f8789e7ff21861c239a1d;hpb=e81897071a6c895e2796d84a2531f1385a0a1017;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSMapA1.h b/ITS/AliITSMapA1.h index 75e5eff6d94..0372cf5e043 100644 --- a/ITS/AliITSMapA1.h +++ b/ITS/AliITSMapA1.h @@ -1,65 +1,81 @@ #ifndef ALIITSMAPA1_H #define ALIITSMAPA1_H - - +/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * + * See cxx source for full Copyright notice */ +/* $Id$ */ +//////////////////////////////////////////////////////////////////////// +// Map Class for ITS. Implementation A1. In this implementation, the // +// 2 dimensional (iz,ix) map is filled with integers values. For each // +// cell a corresponding TObject, a hit, can also be stored. // +//////////////////////////////////////////////////////////////////////// #include "AliITSMap.h" +#include "TArrayI.h" + class AliITSsegmentation; class TObjArray; +class AliITSMapA1 : public AliITSMap{ -class AliITSMapA1 : - public AliITSMap -{ - -public: - AliITSMapA1() { - // constructor - } - AliITSMapA1(AliITSsegmentation *seg); - AliITSMapA1(AliITSsegmentation *seg, TObjArray *dig); - AliITSMapA1(const AliITSMapA1 &source); - // Assignment operator - AliITSMapA1& operator=(const AliITSMapA1 &source); - - virtual ~AliITSMapA1(); + public: + AliITSMapA1(); // default creator + // Standard reator using only a segmentation class + AliITSMapA1(AliITSsegmentation *seg); + // Standard reator using only a segmentation class and pointer to digits + AliITSMapA1(AliITSsegmentation *seg, TObjArray *dig); + // Standard reator using only a segmentation class and pointer to digits + // and a threshold value + AliITSMapA1(AliITSsegmentation *seg, TObjArray *dig, Int_t thr); + AliITSMapA1(AliITSsegmentation *seg, TObjArray *dig, TArrayI thr); + // Distructor + virtual ~AliITSMapA1(); // Fill hits from list of digits into hit map - virtual void FillMap(); + virtual void FillMap(); + virtual void FillMap2(); // Clear the hit map - virtual void ClearMap(); + virtual void ClearMap(); // Set a single hit - virtual void SetHit(Int_t iz, Int_t ix, Int_t idigit); + virtual void SetHit(Int_t iz, Int_t ix, Int_t idigit); + // Set threshold for the signal + virtual void SetThreshold(Int_t thresh) {fMapThreshold=thresh;} + virtual void SetThresholdArr(TArrayI th) {fMapThresholdArr=th;} // Delete a single hit - virtual void DeleteHit(Int_t iz, Int_t ix); + virtual void DeleteHit(Int_t iz, Int_t ix); // Get index of hit in the list of digits - virtual Int_t GetHitIndex(Int_t iz, Int_t ix); + virtual Int_t GetHitIndex(Int_t iz, Int_t ix) const ; // Get pointer to digit - virtual TObject* GetHit(Int_t iz, Int_t ix); + virtual TObject* GetHit(Int_t iz, Int_t ix) const; // Flag a hit as used - virtual void FlagHit(Int_t iz, Int_t ix); + virtual void FlagHit(Int_t iz, Int_t ix); // Test hit status - virtual FlagType TestHit(Int_t iz, Int_t ix); + virtual FlagType TestHit(Int_t iz, Int_t ix); // Get signal from map - virtual Double_t GetSignal(Int_t iz, Int_t ix); + virtual Double_t GetSignal(Int_t iz, Int_t ix) const; // Get max index inmap - Int_t MaxIndex() {return fMaxIndex;} - // Set the array of objects - void SetArray(TObjArray *obj); - -protected: + Int_t MaxIndex() const {return fMaxIndex;} + // Set the array of objects + void SetArray(TObjArray *obj); + + protected: + // Copy Constructor + AliITSMapA1(const AliITSMapA1 &source); + // Assignment operator + AliITSMapA1& operator=(const AliITSMapA1 &source); // Check index - Int_t CheckedIndex(Int_t iz, Int_t ix); + Int_t CheckedIndex(Int_t iz, Int_t ix) const; - AliITSsegmentation *fSegmentation; // segmentation class - Int_t fNpx; // fNpx - Int_t fNpz; // fNpz - TObjArray *fObjects; // object - Int_t fNobjects; // number of objects - Int_t fMaxIndex; // max index in map - -private: - Int_t *fHitMap; //! [fMaxIndex] + // Data members + AliITSsegmentation *fSegmentation; // segmentation class + Int_t fNpx; // fNpx + Int_t fNpz; // fNpz + TObjArray *fObjects; // object + Int_t fNobjects; // number of objects + Int_t fMaxIndex; // max index in map + TArrayI fMapThresholdArr; // array with thresholds + private: + Int_t *fHitMap; //! [fMaxIndex] + Int_t fMapThreshold; // signal threshold (ADC) - ClassDef(AliITSMapA1,1) // Implements Hit/Digit Map + ClassDef(AliITSMapA1,2) // Implements Hit/Digit Map }; #endif