ALIROOT-5488 Remove build/include from the include directories
[u/mrichter/AliRoot.git] / TRD / AliTRDpadPlane.h
index 302d2ba..f13aaf0 100644 (file)
@@ -5,20 +5,19 @@
 
 /* $Id$ */
 
-//////////////////////////////////////////////////
-//                                              //
-//  TRD pad plane class                         //
-//                                              //
-//  Contains the information on pad postions,   //
-//  pad dimensions, tilting angle, etc.         //
-//  It also provides methods to identify the    //
-//  current pad number from global coordinates. //
-//                                              //
-//////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+//                                                                        //
+//  TRD pad plane class                                                   //
+//                                                                        //
+//  Contains the information on ideal pad positions, pad dimensions,      //
+//  tilting angle, etc.                                                   //
+//  It also provides methods to identify the current pad number from      //
+//  local tracking coordinates.                                           //
+//                                                                        //
+////////////////////////////////////////////////////////////////////////////
 
 #include <TObject.h>
 
-
 //_____________________________________________________________________________
 class AliTRDpadPlane : public TObject {
 
@@ -26,9 +25,7 @@ class AliTRDpadPlane : public TObject {
 
   AliTRDpadPlane();
   AliTRDpadPlane(Int_t layer, Int_t stack);
-  AliTRDpadPlane(const AliTRDpadPlane &p);
   virtual           ~AliTRDpadPlane();
-  AliTRDpadPlane    &operator=(const AliTRDpadPlane &p);
   virtual void       Copy(TObject &p) const;
 
   void     SetLayer(Int_t l)                   { fLayer          = l; };
@@ -45,13 +42,14 @@ class AliTRDpadPlane : public TObject {
                                                  fPadRow         = new Double_t[fNrows]; };
   void     SetPadCol(Int_t ic, Double_t c)     { if (ic < fNcols) fPadCol[ic] = c;       };
   void     SetPadRow(Int_t ir, Double_t r)     { if (ir < fNrows) fPadRow[ir] = r;       };
-  void     SetLength(Double_t l)               { fLength         = l; };
-  void     SetWidth(Double_t w)                { fWidth          = w; };
-  void     SetLengthOPad(Double_t l)           { fLengthOPad     = l; };
-  void     SetWidthOPad(Double_t w)            { fWidthOPad      = w; };
-  void     SetLengthIPad(Double_t l)           { fLengthIPad     = l; };
-  void     SetWidthIPad(Double_t w)            { fWidthIPad      = w; };
-  void     SetPadRowSMOffset(Double_t o)       { fPadRowSMOffset = o; };
+  void     SetLength(Double_t l)               { fLength          = l; };
+  void     SetWidth(Double_t w)                { fWidth           = w; };
+  void     SetLengthOPad(Double_t l)           { fLengthOPad      = l; };
+  void     SetWidthOPad(Double_t w)            { fWidthOPad       = w; };
+  void     SetLengthIPad(Double_t l)           { fLengthIPad      = l; };
+  void     SetWidthIPad(Double_t w)            { fWidthIPad       = w; };
+  void     SetPadRowSMOffset(Double_t o)       { fPadRowSMOffset  = o; };
+  void     SetAnodeWireOffset(Float_t o)       { fAnodeWireOffset = o; };
   void     SetTiltingAngle(Double_t t);
 
   Int_t    GetPadRowNumber(Double_t z) const;
@@ -64,7 +62,7 @@ class AliTRDpadPlane : public TObject {
   Double_t GetPadRowOffset(Int_t row, Double_t z) const
                                              { if ((row < 0) || (row >= fNrows))
                                                  return -1.0;
-                                               else 
+                                                else 
                                                  return fPadRow[row] + fPadRowSMOffset - z;        };
   Double_t GetPadRowOffsetROC(Int_t row, Double_t z) const
                                              { if ((row < 0) || (row >= fNrows))
@@ -76,24 +74,24 @@ class AliTRDpadPlane : public TObject {
                                              { if ((col < 0) || (col >= fNcols))
                                                  return -1.0;
                                                else
-                                                 return fPadCol[col] - rphi; };
+                                                 return rphi - fPadCol[col]; };
 
-  Double_t GetTiltingAngle() const           { return fTiltingAngle; };
+  Double_t GetTiltingAngle() const           { return fTiltingAngle;    };
 
-  Int_t    GetNrows() const                  { return fNrows;        };
-  Int_t    GetNcols() const                  { return fNcols;        };
+  Int_t    GetNrows() const                  { return fNrows;           };
+  Int_t    GetNcols() const                  { return fNcols;           };
 
   Double_t GetRow0() const                   { return fPadRow[0] + fPadRowSMOffset;    };
-  Double_t GetRow0ROC() const                { return fPadRow[0];    };
-  Double_t GetCol0() const                   { return fPadCol[0];    };
+  Double_t GetRow0ROC() const                { return fPadRow[0];       };
+  Double_t GetCol0() const                   { return fPadCol[0];       };
 
   Double_t GetRowEnd() const                 { return fPadRow[fNrows-1] - fLengthOPad + fPadRowSMOffset; };
   Double_t GetRowEndROC() const              { return fPadRow[fNrows-1] - fLengthOPad; };
-  Double_t GetColEnd() const                 { return fPadCol[fNcols-1] - fWidthOPad;  };
+  Double_t GetColEnd() const                 { return fPadCol[fNcols-1] + fWidthOPad;  };
 
   Double_t GetRowPos(Int_t row) const        { return fPadRow[row] + fPadRowSMOffset;  };
-  Double_t GetRowPosROC(Int_t row) const     { return fPadRow[row];  };
-  Double_t GetColPos(Int_t col) const        { return fPadCol[col];  };
+  Double_t GetRowPosROC(Int_t row) const     { return fPadRow[row];     };
+  Double_t GetColPos(Int_t col) const        { return fPadCol[col];     };
   
   Double_t GetRowSize(Int_t row) const       { if ((row == 0) || (row == fNrows-1))
                                                  return fLengthOPad;
@@ -102,19 +100,21 @@ class AliTRDpadPlane : public TObject {
   Double_t GetColSize(Int_t col) const       { if ((col == 0) || (col == fNcols-1))
                                                  return fWidthOPad;
                                                else
-                                                 return fWidthIPad;  };
+                                                 return fWidthIPad;     };
+
+  Double_t GetLengthRim() const              { return fLengthRim;       };
+  Double_t GetWidthRim() const               { return fWidthRim;        };
 
-  Double_t GetLengthRim() const              { return fLengthRim;    };
-  Double_t GetWidthRim() const               { return fWidthRim;     };
+  Double_t GetRowSpacing() const             { return fRowSpacing;      };
+  Double_t GetColSpacing() const             { return fColSpacing;      };
 
-  Double_t GetRowSpacing() const             { return fRowSpacing;   };
-  Double_t GetColSpacing() const             { return fColSpacing;   };
+  Double_t GetLengthOPad() const             { return fLengthOPad;      };
+  Double_t GetLengthIPad() const             { return fLengthIPad;      };
 
-  Double_t GetLengthOPad() const             { return fLengthOPad;   };
-  Double_t GetLengthIPad() const             { return fLengthIPad;   };
+  Double_t GetWidthOPad() const              { return fWidthOPad;       };
+  Double_t GetWidthIPad() const              { return fWidthIPad;       };
 
-  Double_t GetWidthOPad() const              { return fWidthOPad;    };
-  Double_t GetWidthIPad() const              { return fWidthIPad;    };
+  Double_t GetAnodeWireOffset() const        { return fAnodeWireOffset; };
 
  protected:
 
@@ -147,7 +147,13 @@ class AliTRDpadPlane : public TObject {
 
   Double_t  fPadRowSMOffset;  //  To be added to translate local ROC system to local SM system
 
-  ClassDef(AliTRDpadPlane,5)  //  TRD ROC pad plane
+  Double_t  fAnodeWireOffset; //  Distance of first anode wire from pad edge
+
+ private:
+  AliTRDpadPlane(const AliTRDpadPlane &p);
+  AliTRDpadPlane    &operator=(const AliTRDpadPlane &p);
+
+  ClassDef(AliTRDpadPlane,6)  //  TRD ROC pad plane
 
 };