]>
Commit | Line | Data |
---|---|---|
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 |