LCOV - code coverage report
Current view: top level - ITS/ITSbase - AliITSMapA2.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 4 8 50.0 %
Date: 2016-06-14 17:26:59 Functions: 4 12 33.3 %

          Line data    Source code
       1             : #ifndef ALIITSMAPA2_H
       2             : #define ALIITSMAPA2_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice     */
       5             : /* $Id$ */
       6             : 
       7             : ////////////////////////////////////////////////////////////////////////
       8             : //  Map Class for ITS. Implementation A2. In this implementation, the //
       9             : // 2 dimensional (iz,ix) map is filled with Double precision floating //
      10             : // point values. For each cell a corresponding TObject, a hit, can    //
      11             : // also be stored. This class is derived from AliITSMapA1 so that is  //
      12             : // retains all of the functionality of that map class as well.        //
      13             : ////////////////////////////////////////////////////////////////////////
      14             : 
      15             : #include "AliITSMapA1.h"
      16             : 
      17             : class AliITSMapA2 : public AliITSMapA1{
      18             : 
      19             :  public:
      20             :     AliITSMapA2(); // default creator
      21             :     // Standard reator using only a segmentation class
      22             :     AliITSMapA2(AliITSsegmentation *seg);
      23             :     // Standard reator using only a segmentation class and X and Z scale sizes
      24             :     AliITSMapA2(AliITSsegmentation *seg,Int_t scalesizeX,Int_t scalesizeZ);
      25             :     // Standard reator using only a segmentation class pointer to hits, and
      26             :     // a threshold value
      27             :     AliITSMapA2(AliITSsegmentation *seg, TObjArray *hist,Double_t thresh);
      28             :     virtual ~AliITSMapA2(); // destructor
      29             :     // fill pad signals into map 
      30             :     virtual void FillMap();
      31             :     // clear map
      32             :     virtual void ClearMap();    
      33             :     // set hit. Over written with a null function. See Double version below.
      34           0 :     virtual void SetHit(Int_t,Int_t,Int_t){}
      35             :     // set signal at a certain position in array
      36             :     void  SetHit(Int_t iz, Int_t ix, Double_t signal){
      37    21997592 :         fHitMapD[CheckedIndex(iz, ix)]=signal;}
      38             :     // set signal at a certain position in array
      39           0 :     void  SetHit(Int_t index, Double_t signal){fHitMapD[index]=signal;}
      40             :     // Flag a hit as used
      41             :     // Set threshold for the signal
      42           0 :     virtual void SetThreshold(Int_t thresh) {fMapThresholdD=(Double_t)thresh;}
      43             :     // flags hit in map
      44             :     virtual  void  FlagHit(Int_t iz, Int_t ix);
      45             :     //set the entry value to zero
      46             :     virtual  void  DeleteHit(Int_t iz, Int_t ix){
      47           0 :         fHitMapD[CheckedIndex(iz, ix)]=0;}
      48             :     //return the index of an entry in array
      49             :     virtual Int_t  GetHitIndex(Int_t iz, Int_t ix) const {
      50   146691882 :         return CheckedIndex(iz, ix);};
      51             :     // Get object (1D histogram)
      52             :     virtual TObject *GetHit(Int_t iz, Int_t /* dummy */) const;
      53             :     // Test hit status
      54             :     virtual FlagTypeITS TestHit(Int_t iz, Int_t ix);
      55             :     // Get signal using two dim. index
      56             :     virtual Double_t GetSignal(Int_t iz, Int_t ix) const
      57   125809478 :         {return GetSignal(GetHitIndex(iz,ix));}
      58             :     // Get signal
      59             :     Double_t GetSignal(Int_t index) const ;
      60             :     // Add new value to Map at cell
      61             :     virtual void AddSignal(Int_t iz, Int_t ix, Double_t sig);
      62             : 
      63             :  private:
      64             :     AliITSMapA2(const AliITSMapA2 &source); // copy constructor
      65             :     // assignment operator
      66             :     AliITSMapA2& operator=(const AliITSMapA2 &source);
      67             :     void  FillMapFromHist(); // fills the map from a historgram
      68             :     void  FillHist(); // fills a histogram from the map
      69             :     void  ResetHist(); // resets the histogram
      70             : 
      71             :     Double_t *fHitMapD;         //! [fMaxIndex]
      72             :     Double_t fMapThresholdD;    // threshold for signal
      73             :     Int_t    fScaleSizeX;       // scale factor on x
      74             :     Int_t    fScaleSizeZ;       // scale factor on z
      75             : 
      76         118 :     ClassDef(AliITSMapA2,1) // Implements Signal Map
      77             : };
      78             : 
      79             : #endif  

Generated by: LCOV version 1.11