]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDpadPlane.h
Added some plots
[u/mrichter/AliRoot.git] / TRD / AliTRDpadPlane.h
index fa7ee75e1a3aa44c5d64287c8c6994356f20786b..f13aaf0cbde4341c9d8113c9db195f690c26417d 100644 (file)
@@ -5,34 +5,31 @@
 
 /* $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 {
 
  public:
 
   AliTRDpadPlane();
-  AliTRDpadPlane(Int_t plane, Int_t chamber);
-  AliTRDpadPlane(const AliTRDpadPlane &p);
+  AliTRDpadPlane(Int_t layer, Int_t stack);
   virtual           ~AliTRDpadPlane();
-  AliTRDpadPlane    &operator=(const AliTRDpadPlane &p);
   virtual void       Copy(TObject &p) const;
 
-  void     SetPlane(Int_t p)                   { fPla            = p; };
-  void     SetChamber(Int_t c)                 { fCha            = c; };
+  void     SetLayer(Int_t l)                   { fLayer          = l; };
+  void     SetStack(Int_t s)                   { fStack          = s; };
   void     SetRowSpacing(Double_t s)           { fRowSpacing     = s; };
   void     SetColSpacing(Double_t s)           { fColSpacing     = s; };
   void     SetLengthRim(Double_t l)            { fLengthRim      = 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,24 +100,26 @@ 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:
 
-  Int_t     fPla;             //  Plane number
-  Int_t     fCha;             //  Chamber number
+  Int_t     fLayer;           //  Layer number
+  Int_t     fStack;           //  Stack number
 
   Double_t  fLength;          //  Length of pad plane in z-direction (row)
   Double_t  fWidth;           //  Width of pad plane in rphi-direction (col)
@@ -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,4)  //  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
 
 };