// //
///////////////////////////////////////////////////////////////////
+#include "AliITSsegmentationSDD.h"
#include<TNamed.h>
-
+#include "AliLog.h"
class TH1F;
class TH2F;
virtual ~AliITSMapSDD(){};
void SetMap(TH2F* hmap);
+ Bool_t CheckBounds(Int_t iAn, Int_t iTb) const {
+ if(iAn<0 || iAn>=fgkNAnodPts || iTb<0 || iTb >= fgkNDrifPts){
+ AliWarning(Form("Cell out of bounds, anode=%d time-bin=%d",iAn,iTb));
+ return kFALSE;
+ }
+ return kTRUE;
+ }
void SetCellContent(Int_t iAn, Int_t iTb, Float_t devMicron){
- fMap[iAn][iTb]=devMicron;
+ if(CheckBounds(iAn,iTb)) fMap[iAn][iTb]=devMicron;
}
- Float_t GetCellContent(Int_t iAn, Int_t iTb) const {return fMap[iAn][iTb];}
+
+ Float_t GetCellContent(Int_t iAn, Int_t iTb) const {
+ if(CheckBounds(iAn,iTb)) return fMap[iAn][iTb];
+ else return 0.;
+ }
+ Float_t GetCorrection(Float_t z, Float_t x, AliITSsegmentationSDD *seg);
+ static Int_t GetNBinsAnode() {return fgkNAnodPts;}
+ static Int_t GetNBinsDrift() {return fgkNDrifPts;}
+
TH2F* GetMapHisto() const;
TH1F* GetResidualDistr(Float_t dmin=-300., Float_t dmax=300.) const;