AddTaskFemto for train update
[u/mrichter/AliRoot.git] / ITS / AliITSCorrMap1DSDD.h
1 #ifndef ALIITSCORRMAP1DSDD_H
2 #define ALIITSCORRMAP1DSDD_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 1D 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<TNamed.h>
18 #include "AliLog.h"
19 class TH1F;
20
21 class AliITSCorrMap1DSDD : public AliITSCorrMapSDD {
22
23  public:
24   AliITSCorrMap1DSDD();
25   AliITSCorrMap1DSDD(Char_t *mapname);
26   AliITSCorrMap1DSDD(Char_t *mapname, Int_t nbinsdr);
27   virtual ~AliITSCorrMap1DSDD(){};
28
29   virtual void ResetMap();
30   virtual void Set1DMap(TH1F* hmap);
31   virtual void SetCellContent(Int_t /*iAn*/, Int_t iTb, Float_t devMicron){
32     if(CheckDriftBounds(iTb)) fCorrMap[iTb]=(Short_t)(devMicron*10.+0.5);
33   }
34
35   virtual Float_t GetCellContent(Int_t /*iAn*/, Int_t iTb) const {
36     if(CheckDriftBounds(iTb)) return (Float_t)fCorrMap[iTb]/10.;
37     else return 0.;
38   }
39
40  protected:
41   Short_t fCorrMap[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(AliITSCorrMap1DSDD,1);
47 };
48 #endif