Stupid bug fix in new superlight mode (from Zurich airport)
[u/mrichter/AliRoot.git] / ITS / AliITSCorrMap2DSDD.h
1 #ifndef ALIITSCORRMAP2DSDD_H
2 #define ALIITSCORRMAP2DSDD_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 in 2D 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<TNamed.h>
17 class TH1F;
18 class TH2F;
19 class AliITSsegmentationSDD;
20
21 class AliITSCorrMap2DSDD : public AliITSCorrMapSDD {
22
23  public:
24   AliITSCorrMap2DSDD();
25   AliITSCorrMap2DSDD(Char_t *mapname);
26   AliITSCorrMap2DSDD(Char_t *mapname, Int_t nbinsan, Int_t nbinsdr);
27   virtual ~AliITSCorrMap2DSDD(){};
28
29   virtual void ResetMap();
30   virtual void Set2DMap(TH2F* hmap);
31   virtual void SetCellContent(Int_t iAn, Int_t iTb, Float_t devMicron){
32     if(CheckAnodeBounds(iAn) && CheckDriftBounds(iTb)) fCorrMap[iAn][iTb]=(Short_t)(devMicron*10.+0.5);
33   }
34
35   virtual Float_t GetCellContent(Int_t iAn, Int_t iTb) const {
36    if(CheckAnodeBounds(iAn) && CheckDriftBounds(iTb)) return (Float_t)fCorrMap[iAn][iTb]/10.;
37     else return 0.;
38   }
39
40  protected:
41   Short_t fCorrMap[kMaxNAnodePts][kMaxNDriftPts];   // map of deviations
42                                                 // stored as Short_t: integer 
43                                                 // values from -32000 to 32000
44                                                 // in the range -3.2 - 3.2 mm
45
46   ClassDef(AliITSCorrMap2DSDD,1);
47 };
48 #endif