]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDpadPlane.cxx
Decoding of TRAP info
[u/mrichter/AliRoot.git] / TRD / AliTRDpadPlane.cxx
index 11606597cde0cc587ff126fd5527bc5c83e68a21..5c776e96463346ecd47f75792783ab846777c2d3 100644 (file)
@@ -38,8 +38,8 @@ ClassImp(AliTRDpadPlane)
 //_____________________________________________________________________________
 AliTRDpadPlane::AliTRDpadPlane()
   :TObject()
-  ,fPla(0)
-  ,fCha(0)
+  ,fLayer(0)
+  ,fStack(0)
   ,fLength(0)
   ,fWidth(0)
   ,fLengthRim(0)
@@ -64,11 +64,40 @@ AliTRDpadPlane::AliTRDpadPlane()
 
 }
 
+//_____________________________________________________________________________
+AliTRDpadPlane::AliTRDpadPlane(Int_t layer, Int_t stack)
+  :TObject()
+  ,fLayer(layer)
+  ,fStack(stack)
+  ,fLength(0)
+  ,fWidth(0)
+  ,fLengthRim(0)
+  ,fWidthRim(0)
+  ,fLengthOPad(0)
+  ,fWidthOPad(0)
+  ,fLengthIPad(0)
+  ,fWidthIPad(0)
+  ,fRowSpacing(0)
+  ,fColSpacing(0)
+  ,fNrows(0)
+  ,fNcols(0)
+  ,fTiltingAngle(0)
+  ,fTiltingTan(0)
+  ,fPadRow(0)
+  ,fPadCol(0)
+  ,fPadRowSMOffset(0)
+{
+  //
+  // Constructor
+  //
+
+}
+
 //_____________________________________________________________________________
 AliTRDpadPlane::AliTRDpadPlane(const AliTRDpadPlane &p)
   :TObject(p)
-  ,fPla(p.fPla)
-  ,fCha(p.fCha)
+  ,fLayer(p.fLayer)
+  ,fStack(p.fStack)
   ,fLength(p.fLength)
   ,fWidth(p.fWidth)
   ,fLengthRim(p.fLengthRim)
@@ -154,8 +183,8 @@ void AliTRDpadPlane::Copy(TObject &p) const
 
   Int_t iBin = 0;
 
-  ((AliTRDpadPlane &) p).fPla            = fPla;
-  ((AliTRDpadPlane &) p).fCha            = fCha;
+  ((AliTRDpadPlane &) p).fLayer          = fLayer;
+  ((AliTRDpadPlane &) p).fStack          = fStack;
 
   ((AliTRDpadPlane &) p).fLength         = fLength;
   ((AliTRDpadPlane &) p).fWidth          = fWidth;
@@ -197,6 +226,18 @@ void AliTRDpadPlane::Copy(TObject &p) const
 
 }
 
+//_____________________________________________________________________________
+void AliTRDpadPlane::SetTiltingAngle(Double_t t)
+{
+  //
+  // Set the tilting angle of the pads
+  //
+  fTiltingAngle = t; 
+  fTiltingTan   = TMath::Tan(TMath::Pi()/180.0 * fTiltingAngle); 
+
+}
+
 //_____________________________________________________________________________
 Int_t AliTRDpadPlane::GetPadRowNumber(Double_t z) const
 {
@@ -285,7 +326,7 @@ Int_t AliTRDpadPlane::GetPadRowNumberROC(Double_t z) const
 Int_t AliTRDpadPlane::GetPadColNumber(Double_t rphi) const
 {
   //
-  // Finds the pad column number for a given global rphi-position
+  // Finds the pad column number for a given rphi-position
   //
 
   Int_t col    = 0;
@@ -293,29 +334,29 @@ Int_t AliTRDpadPlane::GetPadColNumber(Double_t rphi) const
   Int_t nbelow = 0;
   Int_t middle = 0;
 
-  if ((rphi > GetCol0()  ) || 
-      (rphi < GetColEnd())) {
+  if ((rphi < GetCol0()  ) || 
+      (rphi > GetColEnd())) {
 
     col = -1;
 
   }
   else {
 
-    nabove = fNcols + 1;
+    nabove = fNcols;
     nbelow = 0;
     while (nabove - nbelow > 1) {
       middle = (nabove + nbelow) / 2;
-      if (rphi == fPadCol[middle-1]) {
+      if (rphi == fPadCol[middle]) {
         col    = middle;
       }
-      if (rphi  > fPadCol[middle-1]) {
-        nabove = middle;
+      if (rphi  > fPadCol[middle]) {
+        nbelow = middle;
       }
       else {
-        nbelow = middle;
+        nabove = middle;
       }
     }
-    col = nbelow - 1;
+    col = nbelow;
 
   }