Line data Source code
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 0 : 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 0 : 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 0 : if(CheckAnodeBounds(iAn) && CheckDriftBounds(iTb)) fCorrMap[iAn][iTb]=(Short_t)(devMicron*10.+0.5);
33 0 : }
34 :
35 : virtual Float_t GetCellContent(Int_t iAn, Int_t iTb) const {
36 0 : if(CheckAnodeBounds(iAn) && CheckDriftBounds(iTb)) return (Float_t)fCorrMap[iAn][iTb]/10.;
37 0 : else return 0.;
38 0 : }
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 148 : ClassDef(AliITSCorrMap2DSDD,1);
47 : };
48 : #endif
|