LCOV - code coverage report
Current view: top level - TOF/TOFbase - AliTOFDigitMap.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 1 100.0 %
Date: 2016-06-14 17:26:59 Functions: 2 5 40.0 %

          Line data    Source code
       1             : #ifndef ALITOFDIGITMAP_H
       2             : #define ALITOFDIGITMAP_H
       3             : 
       4             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       5             :  * See cxx source for full Copyright notice                               */
       6             : 
       7             : 
       8             : //////////////////////////////////////////////////////////////
       9             : //                                                          //
      10             : //   AliTOFDigitMap class                                   //
      11             : //                                                          //
      12             : //  digitmap enables fast check if the pad was already hit  //
      13             : //                                                          //
      14             : //   Author: F. Pierella | pierella@bo.infn.it              //
      15             : //                                                          //
      16             : // Modified by A. De Caro | decaro@sa.infn.it               //
      17             : //                                                          //
      18             : //////////////////////////////////////////////////////////////
      19             : 
      20             : #include "TObject.h"
      21             : 
      22             : #include "AliHitMap.h"
      23             : 
      24             : class AliTOFDigitMap : public TObject
      25             : {
      26             :  public:
      27             :     AliTOFDigitMap();
      28             :     AliTOFDigitMap(const AliTOFDigitMap & digitMap);
      29             :     
      30             :     virtual ~AliTOFDigitMap();
      31             : 
      32             :     // Clear the digit map
      33             :     virtual void  Clear(const Option_t* opt = "");
      34             :     // Add a single digit
      35             :     void  AddDigit(Int_t *vol, Int_t idigit);
      36             : 
      37             :     // Get index of digit in the cell labelled by vol
      38             :     Int_t  GetDigitIndex(Int_t *vol, Int_t index) const;
      39             :     // Get indices of digits in the cell labelled by vol
      40             :     void   GetDigitIndex(Int_t *vol, Int_t *index) const;
      41             : 
      42             :     // Test digit status
      43             :     virtual FlagType TestDigit(Int_t *vol) const;
      44             : 
      45             :     // Assignment operator
      46             :     AliTOFDigitMap& operator = (const AliTOFDigitMap& rhs);
      47             :     
      48             :     Int_t  GetFilledCellNumber() const;
      49             :     Bool_t StripDigitCheck(Int_t iSector, Int_t iPlate, Int_t iStrip) const;
      50             :     Int_t  DigitInStrip(Int_t iSector, Int_t iPlate, Int_t iStrip) const;
      51             :     Int_t  FilledCellsInStrip(Int_t iSector, Int_t iPlate, Int_t iStrip) const;
      52             :     void   ResetDigitNumber(Int_t *vol, Int_t dig);
      53             :     void   ResetDigit(Int_t *vol, Int_t dig);
      54             :     void   ResetDigit(Int_t *vol);
      55             :     Int_t  GetNumberOfDigits(Int_t *vol);
      56             : 
      57             :     enum {
      58             :       kMaxDigitsPerPad = 10
      59             :     };
      60             : 
      61             :  private:
      62             :     // Check index
      63             :     Int_t CheckedIndex(Int_t * const vol) const;
      64             : 
      65             :     Int_t fNSector;                       // Number of sectors
      66             :     Int_t fNplate;                        // Number of plates
      67             :     Int_t fNstrip;                        // Maximum number of strips
      68             :     Int_t fNpx;                           // Number of pads in x
      69             :     Int_t fNpz;                           // Number of pads in z
      70             : 
      71             :     Int_t fMaxIndex;                      // maximum index in hit map
      72             :     Int_t **fDigitMap;                    // ! [fMaxIndex][kMaxDigitsPerPad]
      73             : 
      74          62 :     ClassDef(AliTOFDigitMap,2) // Implements DigitMap as a 1-dim array
      75             : };
      76             : #endif  

Generated by: LCOV version 1.11