#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"
class AliITSsegmentation;
class TObjArray;
+class AliITSMapA1 : public AliITSMap{
-class AliITSMapA1 :
- public AliITSMap
-{
-
-public:
- AliITSMapA1();
- AliITSMapA1(AliITSsegmentation *seg);
- AliITSMapA1(AliITSsegmentation *seg, TObjArray *dig);
- AliITSMapA1(AliITSsegmentation *seg, TObjArray *dig, Int_t threshold);
- AliITSMapA1(const AliITSMapA1 &source);
+ 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 threshold);
+ // Copy Operator
+ AliITSMapA1(const AliITSMapA1 &source);
// Assignment operator
- AliITSMapA1& operator=(const AliITSMapA1 &source);
-
- virtual ~AliITSMapA1();
+ AliITSMapA1& operator=(const AliITSMapA1 &source);
+ // Distructor
+ virtual ~AliITSMapA1();
// Fill hits from list of digits into hit map
- virtual void FillMap();
+ virtual void FillMap();
// 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 SetThreshold(Int_t thresh) {fMapThreshold=thresh;}
// 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);
// 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);
// 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:
// Check index
- Int_t CheckedIndex(Int_t iz, Int_t ix);
+ Int_t CheckedIndex(Int_t iz, Int_t ix) const;
+
+ // 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
- 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]
- Int_t fMapThreshold; // signal threshold (ADC)
+ private:
+ Int_t *fHitMap; //! [fMaxIndex]
+ Int_t fMapThreshold; // signal threshold (ADC)
- ClassDef(AliITSMapA1,1) // Implements Hit/Digit Map
+ ClassDef(AliITSMapA1,1) // Implements Hit/Digit Map
};
#endif