ROOT logo
#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{

 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  FillMap2();
    // Clear the hit map
    virtual  void  ClearMap();    
    // Set a single hit
    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);
    // Get index of hit in the list of digits
    virtual Int_t  GetHitIndex(Int_t iz, Int_t ix) const ;
    // Get pointer to digit
    virtual TObject* GetHit(Int_t iz, Int_t ix) const;
    // Flag a hit as used
    virtual  void  FlagHit(Int_t iz, Int_t ix);
    // Test hit status
    virtual FlagTypeITS TestHit(Int_t iz, Int_t ix);
    // Get signal from map
    virtual Double_t  GetSignal(Int_t iz, Int_t ix) const;
    // Get max index inmap
    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) 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
    TArrayI fMapThresholdArr;            // array with thresholds
 private:
    Int_t *fHitMap;                      //! [fMaxIndex]
    Int_t fMapThreshold;                 // signal threshold (ADC)

    ClassDef(AliITSMapA1,2)  // Implements Hit/Digit Map 
};

#endif	

 AliITSMapA1.h:1
 AliITSMapA1.h:2
 AliITSMapA1.h:3
 AliITSMapA1.h:4
 AliITSMapA1.h:5
 AliITSMapA1.h:6
 AliITSMapA1.h:7
 AliITSMapA1.h:8
 AliITSMapA1.h:9
 AliITSMapA1.h:10
 AliITSMapA1.h:11
 AliITSMapA1.h:12
 AliITSMapA1.h:13
 AliITSMapA1.h:14
 AliITSMapA1.h:15
 AliITSMapA1.h:16
 AliITSMapA1.h:17
 AliITSMapA1.h:18
 AliITSMapA1.h:19
 AliITSMapA1.h:20
 AliITSMapA1.h:21
 AliITSMapA1.h:22
 AliITSMapA1.h:23
 AliITSMapA1.h:24
 AliITSMapA1.h:25
 AliITSMapA1.h:26
 AliITSMapA1.h:27
 AliITSMapA1.h:28
 AliITSMapA1.h:29
 AliITSMapA1.h:30
 AliITSMapA1.h:31
 AliITSMapA1.h:32
 AliITSMapA1.h:33
 AliITSMapA1.h:34
 AliITSMapA1.h:35
 AliITSMapA1.h:36
 AliITSMapA1.h:37
 AliITSMapA1.h:38
 AliITSMapA1.h:39
 AliITSMapA1.h:40
 AliITSMapA1.h:41
 AliITSMapA1.h:42
 AliITSMapA1.h:43
 AliITSMapA1.h:44
 AliITSMapA1.h:45
 AliITSMapA1.h:46
 AliITSMapA1.h:47
 AliITSMapA1.h:48
 AliITSMapA1.h:49
 AliITSMapA1.h:50
 AliITSMapA1.h:51
 AliITSMapA1.h:52
 AliITSMapA1.h:53
 AliITSMapA1.h:54
 AliITSMapA1.h:55
 AliITSMapA1.h:56
 AliITSMapA1.h:57
 AliITSMapA1.h:58
 AliITSMapA1.h:59
 AliITSMapA1.h:60
 AliITSMapA1.h:61
 AliITSMapA1.h:62
 AliITSMapA1.h:63
 AliITSMapA1.h:64
 AliITSMapA1.h:65
 AliITSMapA1.h:66
 AliITSMapA1.h:67
 AliITSMapA1.h:68
 AliITSMapA1.h:69
 AliITSMapA1.h:70
 AliITSMapA1.h:71
 AliITSMapA1.h:72
 AliITSMapA1.h:73
 AliITSMapA1.h:74
 AliITSMapA1.h:75
 AliITSMapA1.h:76
 AliITSMapA1.h:77
 AliITSMapA1.h:78
 AliITSMapA1.h:79
 AliITSMapA1.h:80
 AliITSMapA1.h:81
 AliITSMapA1.h:82