Fix for FMD DA
[u/mrichter/AliRoot.git] / ITS / ITSbase / AliITSCorrMap2DSDD.cxx
1 /**************************************************************************
2  * Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 /* $Id$ */
17
18 ///////////////////////////////////////////////////////////////////
19 //                                                               //
20 // Implementation of the base class for SDD map 2D corrections   //
21 // Origin: F.Prino, Torino, prino@to.infn.it                     //
22 //                                                               //
23 ///////////////////////////////////////////////////////////////////
24
25 #include "TH1F.h"
26 #include "TH2F.h"
27 #include "AliITSCorrMapSDD.h"
28 #include "AliITSCorrMap2DSDD.h"
29 #include "AliLog.h"
30 #include "AliITSsegmentationSDD.h"
31
32 ClassImp(AliITSCorrMap2DSDD)
33 //______________________________________________________________________
34 AliITSCorrMap2DSDD::AliITSCorrMap2DSDD():
35 AliITSCorrMapSDD()
36 {
37   // default constructor
38   ResetMap();
39 }
40 //______________________________________________________________________
41 AliITSCorrMap2DSDD::AliITSCorrMap2DSDD(Char_t *mapname):
42 AliITSCorrMapSDD(mapname)
43 {
44   // standard constructor
45   ResetMap();
46 }
47 //______________________________________________________________________
48 AliITSCorrMap2DSDD::AliITSCorrMap2DSDD(Char_t *mapname, Int_t nbinsan, Int_t nbinsdr):
49 AliITSCorrMapSDD(mapname)
50 {
51   // standard constructor
52   ResetMap();
53   SetNBinsAnode(nbinsan);
54   SetNBinsDrift(nbinsdr);
55 }
56 //______________________________________________________________________
57 void AliITSCorrMap2DSDD::ResetMap(){
58   // Sets contents to zero
59   for(Int_t iAn=0;iAn<kMaxNAnodePts; iAn++){
60     for(Int_t iDr=0;iDr<kMaxNDriftPts; iDr++){
61       fCorrMap[iAn][iDr]=0;
62     }
63   }
64 }
65
66 //______________________________________________________________________
67 void AliITSCorrMap2DSDD::Set2DMap(TH2F* hmap){
68   // Fill map staring from 2D histo 
69   // with anodes on x axis and drift dist. on y axis
70   if(hmap->GetNbinsX()!=fNAnodePts || hmap->GetNbinsY()!=fNDriftPts){ 
71     AliError(Form("N. of histo bins (%dX%d) not matching N. of map cells (%dX%d)\n",hmap->GetNbinsX(),hmap->GetNbinsY(),fNAnodePts,fNDriftPts));
72     return;
73   }
74   for(Int_t iAn=0;iAn<fNAnodePts; iAn++){
75     for(Int_t iDr=0;iDr<fNDriftPts; iDr++){
76       SetCellContent(iAn,iDr,hmap->GetBinContent(iAn+1,iDr+1));
77     }
78   }
79 }