ROOT logo
#ifndef ALITOFHITMAP_H
#define ALITOFHITMAP_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

//////////////////////////////////////////////////////////////
//                                                          //
//   AliTOFHitMap class                                     //
//                                                          //
//   hitmap enables fast check if the pad was already hit   //
//                                                          //
//   Author: Jiri Chudoba (CERN)                            //
//                                                          //
//////////////////////////////////////////////////////////////

#include "TObject.h"

#include "AliHitMap.h"

class TClonesArray;

class AliTOFHitMap : public TObject
{
 public:
    AliTOFHitMap();
    AliTOFHitMap(TClonesArray *sdig);
    
    virtual ~AliTOFHitMap();
    // Clear the hit map
    virtual  void  Clear(const char *opt = "");
    // Set a single hit
    virtual  void  SetHit(Int_t *vol, Int_t idigit);
    virtual  void  SetHit(Int_t *vol);
    // Get index of hit in the list of digits
    virtual Int_t  GetHitIndex(Int_t *vol) const;
    // Get pointer to digit
    virtual TObject*  GetHit(Int_t *vol) const;
    // Test hit status
    virtual FlagType TestHit(Int_t *vol) const;
    
 private:
    AliTOFHitMap(const AliTOFHitMap & hitMap);
    AliTOFHitMap& operator = (const AliTOFHitMap& rhs);

    // Check index
    Int_t CheckedIndex(Int_t * const vol) const;
    Int_t fNSector;                       // Number of sectors
    Int_t fNplate;                        // Number of plates
    Int_t fNstrip;                        // Maximum number of strips
    Int_t fNpx;                           // Number of pads in x
    Int_t fNpz;                           // Number of pads in z

    TClonesArray *fSDigits;               // Pointer to sdigits
    Int_t fMaxIndex;                      // maximum index in hit map
    Int_t *fHitMap;                       // ! [fMaxIndex]         

    ClassDef(AliTOFHitMap,1) // Implements HitMap as a 1-dim array
};
#endif	
 AliTOFHitMap.h:1
 AliTOFHitMap.h:2
 AliTOFHitMap.h:3
 AliTOFHitMap.h:4
 AliTOFHitMap.h:5
 AliTOFHitMap.h:6
 AliTOFHitMap.h:7
 AliTOFHitMap.h:8
 AliTOFHitMap.h:9
 AliTOFHitMap.h:10
 AliTOFHitMap.h:11
 AliTOFHitMap.h:12
 AliTOFHitMap.h:13
 AliTOFHitMap.h:14
 AliTOFHitMap.h:15
 AliTOFHitMap.h:16
 AliTOFHitMap.h:17
 AliTOFHitMap.h:18
 AliTOFHitMap.h:19
 AliTOFHitMap.h:20
 AliTOFHitMap.h:21
 AliTOFHitMap.h:22
 AliTOFHitMap.h:23
 AliTOFHitMap.h:24
 AliTOFHitMap.h:25
 AliTOFHitMap.h:26
 AliTOFHitMap.h:27
 AliTOFHitMap.h:28
 AliTOFHitMap.h:29
 AliTOFHitMap.h:30
 AliTOFHitMap.h:31
 AliTOFHitMap.h:32
 AliTOFHitMap.h:33
 AliTOFHitMap.h:34
 AliTOFHitMap.h:35
 AliTOFHitMap.h:36
 AliTOFHitMap.h:37
 AliTOFHitMap.h:38
 AliTOFHitMap.h:39
 AliTOFHitMap.h:40
 AliTOFHitMap.h:41
 AliTOFHitMap.h:42
 AliTOFHitMap.h:43
 AliTOFHitMap.h:44
 AliTOFHitMap.h:45
 AliTOFHitMap.h:46
 AliTOFHitMap.h:47
 AliTOFHitMap.h:48
 AliTOFHitMap.h:49
 AliTOFHitMap.h:50
 AliTOFHitMap.h:51
 AliTOFHitMap.h:52
 AliTOFHitMap.h:53
 AliTOFHitMap.h:54
 AliTOFHitMap.h:55
 AliTOFHitMap.h:56
 AliTOFHitMap.h:57
 AliTOFHitMap.h:58
 AliTOFHitMap.h:59
 AliTOFHitMap.h:60
 AliTOFHitMap.h:61
 AliTOFHitMap.h:62