LCOV - code coverage report
Current view: top level - ITS/ITSbase - AliITSMapSDD.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 15 6.7 %
Date: 2016-06-14 17:26:59 Functions: 1 16 6.2 %

          Line data    Source code
       1             : #ifndef ALIITSMAPSDD_H
       2             : #define ALIITSMAPSDD_H
       3             : /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : /* $Id$ */
       7             : 
       8             : ///////////////////////////////////////////////////////////////////
       9             : //                                                               //
      10             : // Class for SDD maps used to correct for                        //
      11             : // voltage divider shape and doping fluctuations                 //
      12             : // Origin: F.Prino, Torino, prino@to.infn.it                     //
      13             : //                                                               //
      14             : ///////////////////////////////////////////////////////////////////
      15             : 
      16             : #include "AliITSsegmentationSDD.h"
      17             : #include "AliITSCorrMapSDD.h"
      18             : #include<TNamed.h>
      19             : #include "AliLog.h"
      20             : class TH1F;
      21             : class TH2F;
      22             : 
      23           0 : class AliITSMapSDD : public TNamed {
      24             : 
      25             :  public:
      26             :   AliITSMapSDD();
      27             :   AliITSMapSDD(Char_t *mapname);
      28           0 :   virtual ~AliITSMapSDD(){};
      29             : 
      30             :   void SetMap(TH2F* hmap);
      31             :   Bool_t CheckBounds(Int_t iAn, Int_t iTb) const {
      32           0 :     if(iAn<0 || iAn>=fgkNAnodPts || iTb<0 || iTb >= fgkNDrifPts){ 
      33           0 :       AliWarning(Form("Cell out of bounds, anode=%d time-bin=%d",iAn,iTb));
      34           0 :       return kFALSE;
      35             :     }
      36           0 :     return kTRUE;
      37           0 :   }
      38             :   void SetCellContent(Int_t iAn, Int_t iTb, Float_t devMicron){
      39           0 :     if(CheckBounds(iAn,iTb)) fMap[iAn][iTb]=(Short_t)(devMicron*10.+0.5);
      40           0 :   }
      41             : 
      42             :   Float_t GetCellContent(Int_t iAn, Int_t iTb) const {
      43           0 :     if(CheckBounds(iAn,iTb)) return (Float_t)fMap[iAn][iTb]/10.;
      44           0 :     else return 0.;
      45           0 :   }
      46             :   Float_t GetCorrection(Float_t z, Float_t x, AliITSsegmentationSDD *seg);
      47           0 :   static Int_t GetNBinsAnode() {return fgkNAnodPts;}
      48           0 :   static Int_t GetNBinsDrift() {return fgkNDrifPts;}
      49             :   AliITSCorrMapSDD* ConvertToNewFormat() const;
      50             : 
      51             :   TH2F* GetMapHisto() const;
      52             :   TH1F* GetResidualDistr(Float_t dmin=-300., Float_t dmax=300.) const;
      53             : 
      54             :  protected:
      55             :   static const Int_t fgkNAnodPts = 256; // number of map points along anodes
      56             :   static const Int_t fgkNDrifPts = 72; // number of map points along anodes
      57             :   Short_t fMap[fgkNAnodPts][fgkNDrifPts];   // map of deviations
      58             :                                             // stored as Short_t: integer 
      59             :                                             // values from -32000 to 32000
      60             :                                             // in the range -3.2 - 3.2 mm
      61             : 
      62         118 :   ClassDef(AliITSMapSDD,2);
      63             : };
      64             : #endif

Generated by: LCOV version 1.11