]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSMapSDD.h
LUTs mapping symnames and original global matrices removed from AliGeomManager, which...
[u/mrichter/AliRoot.git] / ITS / AliITSMapSDD.h
index 4edbcfaae93e9d4deb10a892ed1441a52917afa6..adb6a246df3238456562f8fa498cc627835668ce 100644 (file)
@@ -13,8 +13,9 @@
 //                                                               //
 ///////////////////////////////////////////////////////////////////
 
+#include "AliITSsegmentationSDD.h"
 #include<TNamed.h>
-
+#include "AliLog.h"
 class TH1F;
 class TH2F;
 
@@ -26,10 +27,25 @@ class AliITSMapSDD : public TNamed {
   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;