Move AnodeWireOffset from AliTRDSimParam to AliTRDpadPlane
authorcblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 10 Feb 2009 16:43:34 +0000 (16:43 +0000)
committercblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 10 Feb 2009 16:43:34 +0000 (16:43 +0000)
TRD/AliTRDSimParam.cxx
TRD/AliTRDSimParam.h
TRD/AliTRDdigitizer.cxx
TRD/AliTRDgeometry.cxx
TRD/AliTRDpadPlane.cxx
TRD/AliTRDpadPlane.h
TRD/qaRec/AliTRDtrackingResolution.cxx

index b4571f3..34d1a7f 100644 (file)
@@ -94,7 +94,6 @@ AliTRDSimParam::AliTRDSimParam()
   ,fTRFwid(0.0)
   ,fCTOn(kFALSE)
   ,fCTsmp(0)
-  ,fAnodeWireOffset(0.0)
   ,fPadCoupling(0.0)
   ,fTimeCoupling(0.0)
   ,fTimeStructOn(kFALSE)
@@ -147,9 +146,6 @@ void AliTRDSimParam::Init()
   // The time coupling factor (same number as for the TPC)
   fTimeCoupling      = 0.4;
 
-  // Distance of first Anode wire from first pad edge
-  fAnodeWireOffset   = 0.25;
-
   // Use drift time maps
   fTimeStructOn      = kTRUE;
   
@@ -202,7 +198,6 @@ AliTRDSimParam::AliTRDSimParam(const AliTRDSimParam &p)
   ,fTRFwid(p.fTRFwid)
   ,fCTOn(p.fCTOn)
   ,fCTsmp(0)
-  ,fAnodeWireOffset(p.fAnodeWireOffset)
   ,fPadCoupling(p.fPadCoupling)
   ,fTimeCoupling(p.fTimeCoupling)
   ,fTimeStructOn(p.fTimeStructOn)
@@ -275,7 +270,6 @@ void AliTRDSimParam::Copy(TObject &p) const
   target->fTRFhi              = fTRFhi;
   target->fTRFwid             = fTRFwid;
   target->fCTOn               = fCTOn;
-  target->fAnodeWireOffset    = fAnodeWireOffset;
   target->fPadCoupling        = fPadCoupling;
   target->fTimeCoupling       = fTimeCoupling;
   target->fPRFOn              = fPRFOn;
index 504016d..6ec7a27 100644 (file)
@@ -46,7 +46,6 @@ class AliTRDSimParam : public TObject {
           void     SetCrossTalk(Int_t ctOn = 1)              { fCTOn              = ctOn; ReInit();   }
           void     SetPadCoupling(Float_t v)                 { fPadCoupling       = v;                }
           void     SetTimeCoupling(Float_t v)                { fTimeCoupling      = v;                }
-          void     SetAnodeWireOffset(Float_t offset = 0.25) { fAnodeWireOffset   = offset;           }
           void     SetTimeStruct(Bool_t tsOn = 1)            { fTimeStructOn      = tsOn;             }
           void     SetPadResponse(Int_t prfOn = 1)           { fPRFOn             = prfOn;            }
           void     SetXenon()                                { fGasMixture        = kXenon; ReInit(); }
@@ -62,7 +61,6 @@ class AliTRDSimParam : public TObject {
           Float_t  GetTRFhi() const                          { return fTRFhi;                         }
           Float_t  GetPadCoupling() const                    { return fPadCoupling;                   }
           Float_t  GetTimeCoupling() const                   { return fTimeCoupling;                  }
-          Float_t  GetAnodeWireOffset() const                { return fAnodeWireOffset;               }
           Int_t    GetGasMixture() const                     { return fGasMixture;                    }
 
           Bool_t   DiffusionOn() const                       { return fDiffusionOn;                   }
@@ -111,7 +109,6 @@ class AliTRDSimParam : public TObject {
           Int_t    fCTOn;              //  Switch for cross talk
           Float_t *fCTsmp;             //! Integrated cross talk
   
-          Float_t  fAnodeWireOffset;   //  Distance of first anode wire from pad edge
           Float_t  fPadCoupling;       //  Pad coupling factor
           Float_t  fTimeCoupling;      //  Time coupling factor (image charge of moving ions)
           Int_t    fTimeStructOn;      //  Switch for cell time structure
@@ -130,7 +127,7 @@ class AliTRDSimParam : public TObject {
           void ReInit();
           void SampleTRF();
   
-  ClassDef(AliTRDSimParam,2)          // The TRD simulation parameters
+  ClassDef(AliTRDSimParam,3)          // The TRD simulation parameters
 
 };
 
index ea6ea17..4c920d4 100644 (file)
@@ -1117,7 +1117,7 @@ Bool_t AliTRDdigitizer::ConvertHits(Int_t det, Float_t *hits, Int_t nhit
       Double_t drifttime;
       if (simParam->TimeStructOn()) {
        // Get z-position with respect to anode wire
-        Double_t zz  =  row0 - locR + simParam->GetAnodeWireOffset();
+        Double_t zz  =  row0 - locR + padPlane->GetAnodeWireOffset();
        zz -= ((Int_t)(2 * zz)) / 2.0;
         if (zz > 0.25) {
           zz  = 0.5 - zz;
@@ -1177,6 +1177,7 @@ Bool_t AliTRDdigitizer::ConvertHits(Int_t det, Float_t *hits, Int_t nhit
         Double_t timeResponse = 1.0;
         Double_t crossTalk    = 0.0;
         Double_t time         = (iTimeBin - timeBinTruncated) / samplingRate + timeOffset;
+
         if (simParam->TRFOn()) {
           timeResponse = simParam->TimeResponse(time);
         }
index 3e6f645..14204a4 100644 (file)
@@ -317,6 +317,8 @@ AliTRDpadPlane *AliTRDgeometry::CreatePadPlane(Int_t ilayer, Int_t istack)
 
   padPlane->SetNcols(144);
 
+  padPlane->SetAnodeWireOffset(0.25);
+
   //
   // The pad plane parameter
   //
index 5c776e9..85f7469 100644 (file)
@@ -57,6 +57,7 @@ AliTRDpadPlane::AliTRDpadPlane()
   ,fPadRow(0)
   ,fPadCol(0)
   ,fPadRowSMOffset(0)
+  ,fAnodeWireOffset(0)
 {
   //
   // Default constructor
@@ -86,6 +87,7 @@ AliTRDpadPlane::AliTRDpadPlane(Int_t layer, Int_t stack)
   ,fPadRow(0)
   ,fPadCol(0)
   ,fPadRowSMOffset(0)
+  ,fAnodeWireOffset(0)
 {
   //
   // Constructor
@@ -115,6 +117,7 @@ AliTRDpadPlane::AliTRDpadPlane(const AliTRDpadPlane &p)
   ,fPadRow(0)
   ,fPadCol(0)
   ,fPadRowSMOffset(p.fPadRowSMOffset)
+  ,fAnodeWireOffset(p.fAnodeWireOffset)
 {
   //
   // AliTRDpadPlane copy constructor
@@ -183,28 +186,29 @@ void AliTRDpadPlane::Copy(TObject &p) const
 
   Int_t iBin = 0;
 
-  ((AliTRDpadPlane &) p).fLayer          = fLayer;
-  ((AliTRDpadPlane &) p).fStack          = fStack;
+  ((AliTRDpadPlane &) p).fLayer           = fLayer;
+  ((AliTRDpadPlane &) p).fStack           = fStack;
 
-  ((AliTRDpadPlane &) p).fLength         = fLength;
-  ((AliTRDpadPlane &) p).fWidth          = fWidth;
-  ((AliTRDpadPlane &) p).fLengthRim      = fLengthRim;
-  ((AliTRDpadPlane &) p).fWidthRim       = fWidthRim;
-  ((AliTRDpadPlane &) p).fLengthOPad     = fLengthOPad;
-  ((AliTRDpadPlane &) p).fWidthOPad      = fWidthOPad;
-  ((AliTRDpadPlane &) p).fLengthIPad     = fLengthIPad;
-  ((AliTRDpadPlane &) p).fWidthIPad      = fWidthIPad;
+  ((AliTRDpadPlane &) p).fLength          = fLength;
+  ((AliTRDpadPlane &) p).fWidth           = fWidth;
+  ((AliTRDpadPlane &) p).fLengthRim       = fLengthRim;
+  ((AliTRDpadPlane &) p).fWidthRim        = fWidthRim;
+  ((AliTRDpadPlane &) p).fLengthOPad      = fLengthOPad;
+  ((AliTRDpadPlane &) p).fWidthOPad       = fWidthOPad;
+  ((AliTRDpadPlane &) p).fLengthIPad      = fLengthIPad;
+  ((AliTRDpadPlane &) p).fWidthIPad       = fWidthIPad;
 
-  ((AliTRDpadPlane &) p).fRowSpacing     = fRowSpacing;
-  ((AliTRDpadPlane &) p).fColSpacing     = fColSpacing;
+  ((AliTRDpadPlane &) p).fRowSpacing      = fRowSpacing;
+  ((AliTRDpadPlane &) p).fColSpacing      = fColSpacing;
 
-  ((AliTRDpadPlane &) p).fNrows          = fNrows;
-  ((AliTRDpadPlane &) p).fNcols          = fNcols;
+  ((AliTRDpadPlane &) p).fNrows           = fNrows;
+  ((AliTRDpadPlane &) p).fNcols           = fNcols;
 
-  ((AliTRDpadPlane &) p).fTiltingAngle   = fTiltingAngle;
-  ((AliTRDpadPlane &) p).fTiltingTan     = fTiltingTan;
+  ((AliTRDpadPlane &) p).fTiltingAngle    = fTiltingAngle;
+  ((AliTRDpadPlane &) p).fTiltingTan      = fTiltingTan;
 
-  ((AliTRDpadPlane &) p).fPadRowSMOffset = fPadRowSMOffset;
+  ((AliTRDpadPlane &) p).fPadRowSMOffset  = fPadRowSMOffset;
+  ((AliTRDpadPlane &) p).fAnodeWireOffset = fAnodeWireOffset;
 
   if (((AliTRDpadPlane &) p).fPadRow) {
     delete [] ((AliTRDpadPlane &) p).fPadRow;
index 4010554..2d23fba 100644 (file)
@@ -44,13 +44,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;
@@ -77,22 +78,22 @@ class AliTRDpadPlane : public TObject {
                                                else
                                                  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 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;
@@ -101,19 +102,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:
 
@@ -146,7 +149,9 @@ 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
+
+  ClassDef(AliTRDpadPlane,6)  //  TRD ROC pad plane
 
 };
 
index c37c454..59d455d 100644 (file)
@@ -209,7 +209,7 @@ TH1* AliTRDtrackingResolution::PlotCluster(const AliTRDtrackV1 *track)
         Int_t istk = fGeo->GetStack(c->GetDetector());
         AliTRDpadPlane *pp = fGeo->GetPadPlane(ily, istk);
         Float_t row0 = pp->GetRow0();
-        Float_t d  =  row0 - zt + simParam->GetAnodeWireOffset();
+        Float_t d  =  row0 - zt + pp->GetAnodeWireOffset();
         d -= ((Int_t)(2 * d)) / 2.0;
         if (d > 0.25) d  = 0.5 - d;
 
@@ -414,7 +414,7 @@ TH1* AliTRDtrackingResolution::PlotResolution(const AliTRDtrackV1 *track)
 
     Int_t istk = AliTRDgeometry::GetStack(det); 
     AliTRDpadPlane *pp = fGeo->GetPadPlane(ily, istk);
-    Float_t zr0 = pp->GetRow0() + AliTRDSimParam::Instance()->GetAnodeWireOffset();
+    Float_t zr0 = pp->GetRow0() + pp->GetAnodeWireOffset();
     Float_t tilt = fTracklet->GetTilt();
 
     Double_t x,y;