#include <TRandom.h>
#include "AliRun.h"
-#include "AliMagF.h"
#include "AliTRDparameter.h"
#include "AliTRDgeometryFull.h"
+#include "AliTRDpadPlane.h"
ClassImp(AliTRDparameter)
//
fGeo = 0;
+ fPadPlaneArray = 0;
fPRFsmp = 0;
fTRFsmp = 0;
fCTsmp = 0;
fPadCoupling = 0.0;
fTimeCoupling = 0.0;
fField = 0.0;
- fTiltingAngle = 0.0;
fPRFbin = 0;
fPRFlo = 0.0;
fPRFhi = 0.0;
//
fGeo = new AliTRDgeometryFull();
+ fPadPlaneArray = new TObjArray(AliTRDgeometry::Nplan()
+ * AliTRDgeometry::Ncham());
fPRFsmp = 0;
fTRFsmp = 0;
fCTsmp = 0;
fPadCoupling = 0.0;
fTimeCoupling = 0.0;
fField = 0.0;
- fTiltingAngle = 0.0;
fPRFbin = 0;
fPRFlo = 0.0;
fPRFhi = 0.0;
fGeo = 0;
}
+ if (fPadPlaneArray) {
+ fPadPlaneArray->Delete();
+ delete fPadPlaneArray;
+ fPadPlaneArray = 0;
+ }
+
if (fTimeStruct1) {
delete [] fTimeStruct1;
fTimeStruct1 = 0;
((AliTRDparameter &) p).fTRFOn = fTRFOn;
((AliTRDparameter &) p).fCTOn = fCTOn;
((AliTRDparameter &) p).fTCOn = fTCOn;
- ((AliTRDparameter &) p).fTiltingAngle = fTiltingAngle;
((AliTRDparameter &) p).fPRFbin = fPRFbin;
((AliTRDparameter &) p).fPRFlo = fPRFlo;
((AliTRDparameter &) p).fPRFhi = fPRFhi;
//
// Initializes the parameter
//
- // The maximum number of pads
- // and the position of pad 0,0,0
- //
- // chambers seen from the top:
- // +----------------------------+
- // | |
- // | | ^
- // | | rphi|
- // | | |
- // |0 | |
- // +----------------------------+ +------>
- // z
- // chambers seen from the side: ^
- // +----------------------------+ drift|
- // |0 | |
- // | | |
- // +----------------------------+ +------>
- // z
- //
- // IMPORTANT: time bin 0 is now the first one in the drift region
- // closest to the readout !!!
- //
+
+ Int_t iplan;
+ Int_t icham;
//
// ----------------------------------------------------------------------------
- // The pad definition
+ // The pad planes
// ----------------------------------------------------------------------------
//
-
- // The pad size in column direction (rphi-direction)
-
- //SetColPadSize(0,0.65);
- //SetColPadSize(1,0.68);
- //SetColPadSize(2,0.71);
- //SetColPadSize(3,0.74);
- //SetColPadSize(4,0.77);
- //SetColPadSize(5,0.80);
-
- SetColPadSize(0,0.664);
- SetColPadSize(1,0.695);
- SetColPadSize(2,0.726);
- SetColPadSize(3,0.756);
- SetColPadSize(4,0.788);
- SetColPadSize(5,0.818);
-
- // The pad row (z-direction)
- SetNRowPad();
+ for (iplan = 0; iplan < AliTRDgeometry::Nplan(); iplan++) {
+ for (icham = 0; icham < AliTRDgeometry::Ncham(); icham++) {
+ Int_t ipp = iplan + icham * AliTRDgeometry::Nplan();
+ fPadPlaneArray->AddAt(new AliTRDpadPlane(iplan,icham),ipp);
+ }
+ }
// !CHANGED!
// Time position of anode wire plane
- for (Int_t iplan = 0; iplan < AliTRDgeometry::Nplan(); iplan++) {
- fTime0[iplan] = AliTRDgeometry::Rmin() + AliTRDgeometry::CraHght() + AliTRDgeometry::CdrHght()
- + AliTRDgeometry::CamHght()/2. + iplan * (AliTRDgeometry::Cheight() + AliTRDgeometry::Cspace());
+ for (iplan = 0; iplan < AliTRDgeometry::Nplan(); iplan++) {
+ fTime0[iplan] = AliTRDgeometry::Rmin()
+ + AliTRDgeometry::CraHght()
+ + AliTRDgeometry::CdrHght()
+ + AliTRDgeometry::CamHght()/2.
+ + iplan * (AliTRDgeometry::Cheight() + AliTRDgeometry::Cspace());
}
//
// Distance of first Anode wire from first pad edge
fAnodeWireOffset = 0.25;
- // The tilting angle for the readout pads
- SetTiltingAngle(2.0);
-
// The magnetic field strength in Tesla
Double_t x[3] = { 0.0, 0.0, 0.0 };
Double_t b[3];
}
//_____________________________________________________________________________
-void AliTRDparameter::SetNRowPad(Int_t p, Int_t c, Int_t npad)
+AliTRDpadPlane *AliTRDparameter::GetPadPlane(Int_t p, Int_t c) const
{
//
- // Redefines the number of pads in raw direction for
- // a given plane and chamber number
+ // Returns the pad plane for a given plane <p> and chamber <c> number
//
- for (Int_t isect = 0; isect < AliTRDgeometry::Nsect(); isect++) {
-
- fRowMax[p][c][isect] = npad;
-
- fRowPadSize[p][c][isect] = (fGeo->GetChamberLength(p,c)
- - 2.* AliTRDgeometry::RpadW())
- / ((Float_t) npad);
-
- }
+ Int_t ipp = p + c * AliTRDgeometry::Nplan();
+ return ((AliTRDpadPlane *) fPadPlaneArray->At(ipp));
}
//_____________________________________________________________________________
-void AliTRDparameter::SetNRowPad()
+Int_t AliTRDparameter::GetRowMax(Int_t p, Int_t c, Int_t /*s*/) const
{
//
- // Defines the number of pads in row direction
+ // Returns the number of rows on the pad plane
//
- Int_t isect;
- Int_t icham;
- Int_t iplan;
-
- Int_t rowMax[kNplan][kNcham] = { { 16, 16, 12, 16, 16 }
- , { 16, 16, 12, 16, 16 }
- , { 16, 16, 12, 16, 16 }
- , { 16, 16, 12, 16, 16 }
- , { 16, 16, 12, 16, 16 }
- , { 16, 16, 12, 16, 16 } };
+ return GetPadPlane(p,c)->GetNrows();
- Float_t rpadW = AliTRDgeometry::RpadW();
+}
- for (isect = 0; isect < kNsect; isect++) {
- for (icham = 0; icham < kNcham; icham++) {
- for (iplan = 0; iplan < kNplan; iplan++) {
+//_____________________________________________________________________________
+Int_t AliTRDparameter::GetColMax(Int_t p) const
+{
+ //
+ // Returns the number of rows on the pad plane
+ //
- fRowMax[iplan][icham][isect] = rowMax[iplan][icham];
+ return GetPadPlane(p,0)->GetNcols();
- fRowPadSize[iplan][icham][isect] = (fGeo->GetChamberLength(iplan,icham)
- - 2.*rpadW)
- / ((Float_t) rowMax[iplan][icham]);
+}
- Float_t row0 = rpadW - fGeo->GetChamberLength(iplan,0)
- - fGeo->GetChamberLength(iplan,1)
- - fGeo->GetChamberLength(iplan,2) / 2.;
- for (Int_t ic = 0; ic < icham; ic++) {
- row0 += fGeo->GetChamberLength(iplan,ic);
- }
+//_____________________________________________________________________________
+Double_t AliTRDparameter::GetRow0(Int_t p, Int_t c, Int_t /*s*/) const
+{
+ //
+ // Returns the position of the border of the first pad in a row
+ //
- fRow0[iplan][icham][isect] = row0;
- // For new chamber ordering
- //fRow0[iplan][kNcham-icham-1][isect] = row0;
-
- }
- }
- }
+ return GetPadPlane(p,c)->GetRow0();
}
//_____________________________________________________________________________
-void AliTRDparameter::SetColPadSize(Int_t p, Float_t s)
+Double_t AliTRDparameter::GetCol0(Int_t p) const
{
//
- // Redefines the pad size in column direction
+ // Returns the position of the border of the first pad in a column
//
- Float_t cpadW = AliTRDgeometry::CpadW();
-
- fColPadSize[p] = s;
- fCol0[p] = - fGeo->GetChamberWidth(p)/2. + cpadW;
- fColMax[p] = ((Int_t) ((fGeo->GetChamberWidth(p) - 2.*cpadW) / s));
+ return GetPadPlane(p,0)->GetCol0();
}
//_____________________________________________________________________________
-Float_t AliTRDparameter::CrossTalk(Float_t time) const
+Double_t AliTRDparameter::CrossTalk(Double_t time) const
{
//
// Applies the pad-pad capacitive cross talk
//_____________________________________________________________________________
void AliTRDparameter::PrintDriftVelocity()
{
- printf("<AliTRDparameter::PrintDriftVelocity> Driftvelocity = %.3f\n", fDriftVelocity);
+ //
+ // Prints the used drift velocity
+ //
+
+ printf("<AliTRDparameter::PrintDriftVelocity> Driftvelocity = %.3f\n"
+ ,fDriftVelocity);
+
}
//_____________________________________________________________________________
-Float_t AliTRDparameter::TimeStruct(Float_t dist, Float_t z) const
+Double_t AliTRDparameter::TimeStruct(Double_t dist, Double_t z) const
{
//
// Applies the time structure of the drift cells (by C.Lippmann).
Int_t r2 = r1+1;
if (r1<0) r1 = 0;
if (r1>37) r1 = 37;
- const Int_t z1 = (Int_t)(100*z/2.5);
- const Int_t z2 = z1+1;
+ const Int_t kz1 = (Int_t)(100*z/2.5);
+ const Int_t kz2 = kz1+1;
- if (r1<0 || r1>37 || z1<0 || z1>10) {
+ if (r1<0 || r1>37 || kz1<0 || kz1>10) {
printf("<AliTRDparameter::TimeStruct> Warning. Indices out of range: ");
- printf("dist=%.2f, z=%.2f, r1=%d, z1=%d\n",dist,z,r1,z1);
+ printf("dist=%.2f, z=%.2f, r1=%d, kz1=%d\n",dist,z,r1,kz1);
}
- const Float_t y111 = fTimeStruct1[r1+38*z1];
- const Float_t y221 = (r2 <= 37 && z2 <= 10) ? fTimeStruct1[r2+38*z2] : fTimeStruct1[37+38*10];
- const Float_t y121 = (z2 <= 10) ? fTimeStruct1[r1+38*z2] : fTimeStruct1[r1+38*10];
- const Float_t y211 = (r2 <= 37) ? fTimeStruct1[r2+38*z1] : fTimeStruct1[37+38*z1];
+ const Float_t ky111 = fTimeStruct1[r1+38*kz1];
+ const Float_t ky221 = (r2 <= 37 && kz2 <= 10) ? fTimeStruct1[r2+38*kz2] : fTimeStruct1[37+38*10];
+ const Float_t ky121 = (kz2 <= 10) ? fTimeStruct1[r1+38*kz2] : fTimeStruct1[r1+38*10];
+ const Float_t ky211 = (r2 <= 37) ? fTimeStruct1[r2+38*kz1] : fTimeStruct1[37+38*kz1];
// 2D Interpolation, lower drift time map
- const Float_t y11 = (y211-y111)*10*dist + y111 - (y211-y111)*r1;
- const Float_t y21 = (y221-y121)*10*dist + y121 - (y221-y121)*r1;
+ const Float_t ky11 = (ky211-ky111)*10*dist + ky111 - (ky211-ky111)*r1;
+ const Float_t ky21 = (ky221-ky121)*10*dist + ky121 - (ky221-ky121)*r1;
- const Float_t y112 = fTimeStruct2[r1+38*z1];
- const Float_t y222 = (r2 <= 37 && z2 <= 10) ? fTimeStruct2[r2+38*z2] : fTimeStruct2[37+38*10];
- const Float_t y122 = (z2 <= 10) ? fTimeStruct2[r1+38*z2] : fTimeStruct2[r1+38*10];
- const Float_t y212 = (r2 <= 37) ? fTimeStruct2[r2+38*z1] : fTimeStruct2[37+38*z1];
+ const Float_t ky112 = fTimeStruct2[r1+38*kz1];
+ const Float_t ky222 = (r2 <= 37 && kz2 <= 10) ? fTimeStruct2[r2+38*kz2] : fTimeStruct2[37+38*10];
+ const Float_t ky122 = (kz2 <= 10) ? fTimeStruct2[r1+38*kz2] : fTimeStruct2[r1+38*10];
+ const Float_t ky212 = (r2 <= 37) ? fTimeStruct2[r2+38*kz1] : fTimeStruct2[37+38*kz1];
// 2D Interpolation, larger drift time map
- const Float_t y12 = (y212-y112)*10*dist + y112 - (y212-y112)*r1;
- const Float_t y22 = (y222-y122)*10*dist + y122 - (y222-y122)*r1;
+ const Float_t ky12 = (ky212-ky112)*10*dist + ky112 - (ky212-ky112)*r1;
+ const Float_t ky22 = (ky222-ky122)*10*dist + ky122 - (ky222-ky122)*r1;
// dist now is the drift distance to the anode wires (negative if electrons are
// between anode wire plane and cathode pad plane)
dist -= AliTRDgeometry::AmThick()/2.0;
// Get the drift times for the drift velocities fVDlo and fVDhi
- const Float_t tdrift1 =
- ( TMath::Abs(dist)>0.005 || z>0.005 ) ? (y21-y11)*100*z/2.5+y11-(y21-y11)*z1 : 0.0;
- const Float_t tdrift2 =
- ( TMath::Abs(dist)>0.005 || z>0.005 ) ? (y22-y12)*100*z/2.5+y12-(y22-y12)*z1 : 0.0;
+ const Float_t ktdrift1 =
+ ( TMath::Abs(dist)>0.005 || z>0.005 ) ? (ky21-ky11)*100*z/2.5+ky11-(ky21-ky11)*kz1 : 0.0;
+ const Float_t ktdrift2 =
+ ( TMath::Abs(dist)>0.005 || z>0.005 ) ? (ky22-ky12)*100*z/2.5+ky12-(ky22-ky12)*kz1 : 0.0;
// 1D Interpolation between the values at fVDlo and fVDhi
- Float_t a = (tdrift2 - tdrift1) / (fVDhi - fVDlo);
- Float_t b = tdrift2 - a * fVDhi;
+ Float_t a = (ktdrift2 - ktdrift1) / (fVDhi - fVDlo);
+ Float_t b = ktdrift2 - a * fVDhi;
//printf("(%.2f, %.2f): %f, %f -> %f\n",
- // dist+AliTRDgeometry::AmThick()/2.0, z, tdrift1, tdrift2, a*fDriftVelocity+b);
+ // dist+AliTRDgeometry::AmThick()/2.0, z, ktdrift1, ktdrift2, a*fDriftVelocity+b);
return a * fDriftVelocity + b;
}
//_____________________________________________________________________________
-Int_t AliTRDparameter::Diffusion(Float_t driftlength, Float_t *xyz)
+Int_t AliTRDparameter::Diffusion(Double_t driftlength, Double_t *xyz)
{
//
// Applies the diffusion smearing to the position of a single electron
}
//_____________________________________________________________________________
-Int_t AliTRDparameter::ExB(Float_t driftlength, Float_t *xyz) const
+Int_t AliTRDparameter::ExB(Double_t driftlength, Double_t *xyz) const
{
//
// Applies E x B effects to the position of a single electron
}
//_____________________________________________________________________________
-Int_t AliTRDparameter::PadResponse(Float_t signal, Float_t dist
- , Int_t plane, Float_t *pad) const
+Int_t AliTRDparameter::PadResponse(Double_t signal, Double_t dist
+ , Int_t plane, Double_t *pad) const
{
//
// Applies the pad response
}
//_____________________________________________________________________________
-Float_t AliTRDparameter::TimeResponse(Float_t time) const
+Double_t AliTRDparameter::TimeResponse(Double_t time) const
{
//
// Applies the preamp shaper time response
}
-//_____________________________________________________________________________
-Float_t AliTRDparameter::Col0Tilted(Float_t col0, Float_t rowOffset
- , Int_t plane)
-{
- //
- // Calculates col0 for tilted pads
- //
-
- Float_t diff = fTiltingAngle * rowOffset;
- return (col0 + TMath::Power(-1.0,(plane+1)) * diff);
-
-}
-
//_____________________________________________________________________________
void AliTRDparameter::SampleTRF()
{
if ( fDriftVelocity < fVDsmp[0] ) {
printf("<AliTRDparameter::SampleTimeStruct> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
- printf("<AliTRDparameter::SampleTimeStruct> Drift Velocity too small (%.3f<%.3f)\n", fDriftVelocity, fVDsmp[0]);
+ printf("<AliTRDparameter::SampleTimeStruct> Drift Velocity too small (%.3f<%.3f)\n"
+ , fDriftVelocity, fVDsmp[0]);
printf("<AliTRDparameter::SampleTimeStruct> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
fDriftVelocity = fVDsmp[0];
} else if ( fDriftVelocity > fVDsmp[7] ) {
printf("<AliTRDparameter::SampleTimeStruct> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
- printf("<AliTRDparameter::SampleTimeStruct> Drift Velocity too large (%.3f>%.3f)\n", fDriftVelocity,fVDsmp[6]);
+ printf("<AliTRDparameter::SampleTimeStruct> Drift Velocity too large (%.3f>%.3f)\n"
+ , fDriftVelocity,fVDsmp[6]);
printf("<AliTRDparameter::SampleTimeStruct> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
fDriftVelocity = fVDsmp[7];
}
const Int_t kNplan = AliTRDgeometry::kNplan;
const Int_t kPRFbin = 61;
- Float_t prf[kNplan][kPRFbin] = { {0.0267681, 0.031056, 0.036111, 0.0419945, 0.0489578,
- 0.0571508, 0.0666984, 0.078064, 0.0912508, 0.106579,
- 0.124429, 0.144803, 0.168187, 0.194645, 0.224143,
- 0.25717, 0.293146, 0.331943, 0.373128, 0.415798,
- 0.459149, 0.502028, 0.54349, 0.582109, 0.617335,
- 0.648306, 0.674189, 0.695082, 0.710222, 0.719711,
- 0.723751, 0.719711, 0.710222, 0.695082, 0.674189,
- 0.648306, 0.617335, 0.582109, 0.54349, 0.502028,
- 0.459149, 0.415798, 0.373128, 0.331943, 0.293146,
- 0.25717, 0.224143, 0.194645, 0.168187, 0.144803,
- 0.124429, 0.106579, 0.0912508, 0.078064, 0.0666984,
- 0.0571508, 0.0489578, 0.0419945, 0.036111, 0.031056,
- 0.0267681},
- {0.0240831, 0.0281427, 0.0328987, 0.0384801, 0.0451249,
- 0.0530119, 0.0623139, 0.0733268, 0.0864095, 0.101704,
- 0.119473, 0.140308, 0.164191, 0.191333, 0.222141,
- 0.256551, 0.29433, 0.335294, 0.37892, 0.424206,
- 0.470202, 0.515621, 0.559255, 0.600068, 0.636821,
- 0.668836, 0.695767, 0.717076, 0.73233, 0.741818,
- 0.745491, 0.741818, 0.73233, 0.717076, 0.695767,
- 0.668836, 0.636821, 0.600068, 0.559255, 0.515621,
- 0.470202, 0.424206, 0.37892, 0.335294, 0.29433,
- 0.256551, 0.222141, 0.191333, 0.164191, 0.140308,
- 0.119473, 0.101704, 0.0864095, 0.0733268, 0.0623139,
- 0.0530119, 0.0451249, 0.0384801, 0.0328987, 0.0281427,
- 0.0240831},
- {0.0206855, 0.0243011, 0.0285603, 0.0335902, 0.0396015,
- 0.0467843, 0.0553424, 0.0655316, 0.0776688, 0.0921782,
- 0.109269, 0.129259, 0.152459, 0.179369, 0.210091,
- 0.244681, 0.283099, 0.325176, 0.370396, 0.417732,
- 0.466086, 0.514192, 0.560518, 0.603805, 0.643028,
- 0.67738, 0.706095, 0.728728, 0.745307, 0.755731,
- 0.759954, 0.755731, 0.745307, 0.728728, 0.706095,
- 0.67738, 0.643028, 0.603805, 0.560518, 0.514192,
- 0.466086, 0.417732, 0.370396, 0.325176, 0.283099,
- 0.244681, 0.210091, 0.179369, 0.152459, 0.129259,
- 0.109269, 0.0921782, 0.0776688, 0.0655316, 0.0553424,
- 0.0467843, 0.0396015, 0.0335902, 0.0285603, 0.0243011,
- 0.0206855},
- {0.0186168, 0.0219999, 0.0260102, 0.0307769, 0.0364947,
- 0.0433655, 0.0516213, 0.0615466, 0.0734611, 0.0877121,
- 0.104666, 0.124855, 0.14853, 0.176033, 0.207639,
- 0.243511, 0.283633, 0.327786, 0.37537, 0.425281,
- 0.476227, 0.526727, 0.575268, 0.620462, 0.66101,
- 0.69611, 0.725313, 0.748317, 0.764969, 0.775206,
- 0.779006, 0.775206, 0.764969, 0.748317, 0.725313,
- 0.69611, 0.66101, 0.620462, 0.575268, 0.526727,
- 0.476227, 0.425281, 0.37537, 0.327786, 0.283633,
- 0.243511, 0.207639, 0.176033, 0.14853, 0.124855,
- 0.104666, 0.0877121, 0.0734611, 0.0615466, 0.0516213,
- 0.0433655, 0.0364947, 0.0307769, 0.0260102, 0.0219999,
- 0.0186168, },
- {0.0159737, 0.0189921, 0.0225916, 0.0268927, 0.0320634,
- 0.0382995, 0.0458393, 0.0549765, 0.0660512, 0.0794439,
- 0.095565, 0.114844, 0.137713, 0.164586, 0.195824,
- 0.231681, 0.272223, 0.31727, 0.366248, 0.418078,
- 0.471358, 0.524425, 0.575561, 0.623193, 0.666055,
- 0.703243, 0.734192, 0.7586, 0.776331, 0.787347,
- 0.791646, 0.787347, 0.776331, 0.7586, 0.734192,
- 0.703243, 0.666055, 0.623193, 0.575561, 0.524425,
- 0.471358, 0.418078, 0.366248, 0.31727, 0.272223,
- 0.231681, 0.195824, 0.164586, 0.137713, 0.114844,
- 0.095565, 0.0794439, 0.0660512, 0.0549765, 0.0458393,
- 0.0382995, 0.0320634, 0.0268927, 0.0225916, 0.0189921,
- 0.0159737},
- {0.0143532, 0.0171745, 0.0205622, 0.024635, 0.0295461,
- 0.0354915, 0.0427198, 0.0515368, 0.0623058, 0.0754416,
- 0.0913994, 0.110662, 0.133721, 0.161057, 0.193093,
- 0.230138, 0.27229, 0.319327, 0.370597, 0.424961,
- 0.480832, 0.536333, 0.589555, 0.638805, 0.682781,
- 0.720621, 0.751845, 0.776243, 0.793764, 0.804426,
- 0.808259, 0.804426, 0.793764, 0.776243, 0.751845,
- 0.720621, 0.682781, 0.638805, 0.589555, 0.536333,
- 0.480832, 0.424961, 0.370597, 0.319327, 0.27229,
- 0.230138, 0.193093, 0.161057, 0.133721, 0.110662,
- 0.0913994, 0.0754416, 0.0623058, 0.0515368, 0.0427198,
- 0.0354915, 0.0295461, 0.024635, 0.0205622, 0.0171745,
- 0.0143532} };
+ Float_t prf[kNplan][kPRFbin] = { {2.9037e-02, 3.3608e-02, 3.9020e-02, 4.5292e-02,
+ 5.2694e-02, 6.1362e-02, 7.1461e-02, 8.3362e-02,
+ 9.7063e-02, 1.1307e-01, 1.3140e-01, 1.5235e-01,
+ 1.7623e-01, 2.0290e-01, 2.3294e-01, 2.6586e-01,
+ 3.0177e-01, 3.4028e-01, 3.8077e-01, 4.2267e-01,
+ 4.6493e-01, 5.0657e-01, 5.4655e-01, 5.8397e-01,
+ 6.1767e-01, 6.4744e-01, 6.7212e-01, 6.9188e-01,
+ 7.0627e-01, 7.1499e-01, 7.1851e-01, 7.1499e-01,
+ 7.0627e-01, 6.9188e-01, 6.7212e-01, 6.4744e-01,
+ 6.1767e-01, 5.8397e-01, 5.4655e-01, 5.0657e-01,
+ 4.6493e-01, 4.2267e-01, 3.8077e-01, 3.4028e-01,
+ 3.0177e-01, 2.6586e-01, 2.3294e-01, 2.0290e-01,
+ 1.7623e-01, 1.5235e-01, 1.3140e-01, 1.1307e-01,
+ 9.7063e-02, 8.3362e-02, 7.1461e-02, 6.1362e-02,
+ 5.2694e-02, 4.5292e-02, 3.9020e-02, 3.3608e-02,
+ 2.9037e-02},
+ {2.5478e-02, 2.9695e-02, 3.4655e-02, 4.0454e-02,
+ 4.7342e-02, 5.5487e-02, 6.5038e-02, 7.6378e-02,
+ 8.9696e-02, 1.0516e-01, 1.2327e-01, 1.4415e-01,
+ 1.6794e-01, 1.9516e-01, 2.2573e-01, 2.5959e-01,
+ 2.9694e-01, 3.3719e-01, 3.7978e-01, 4.2407e-01,
+ 4.6889e-01, 5.1322e-01, 5.5569e-01, 5.9535e-01,
+ 6.3141e-01, 6.6259e-01, 6.8882e-01, 7.0983e-01,
+ 7.2471e-01, 7.3398e-01, 7.3761e-01, 7.3398e-01,
+ 7.2471e-01, 7.0983e-01, 6.8882e-01, 6.6259e-01,
+ 6.3141e-01, 5.9535e-01, 5.5569e-01, 5.1322e-01,
+ 4.6889e-01, 4.2407e-01, 3.7978e-01, 3.3719e-01,
+ 2.9694e-01, 2.5959e-01, 2.2573e-01, 1.9516e-01,
+ 1.6794e-01, 1.4415e-01, 1.2327e-01, 1.0516e-01,
+ 8.9696e-02, 7.6378e-02, 6.5038e-02, 5.5487e-02,
+ 4.7342e-02, 4.0454e-02, 3.4655e-02, 2.9695e-02,
+ 2.5478e-02},
+ {2.2363e-02, 2.6233e-02, 3.0782e-02, 3.6140e-02,
+ 4.2535e-02, 5.0157e-02, 5.9197e-02, 6.9900e-02,
+ 8.2707e-02, 9.7811e-02, 1.1548e-01, 1.3601e-01,
+ 1.5998e-01, 1.8739e-01, 2.1840e-01, 2.5318e-01,
+ 2.9182e-01, 3.3373e-01, 3.7837e-01, 4.2498e-01,
+ 4.7235e-01, 5.1918e-01, 5.6426e-01, 6.0621e-01,
+ 6.4399e-01, 6.7700e-01, 7.0472e-01, 7.2637e-01,
+ 7.4206e-01, 7.5179e-01, 7.5551e-01, 7.5179e-01,
+ 7.4206e-01, 7.2637e-01, 7.0472e-01, 6.7700e-01,
+ 6.4399e-01, 6.0621e-01, 5.6426e-01, 5.1918e-01,
+ 4.7235e-01, 4.2498e-01, 3.7837e-01, 3.3373e-01,
+ 2.9182e-01, 2.5318e-01, 2.1840e-01, 1.8739e-01,
+ 1.5998e-01, 1.3601e-01, 1.1548e-01, 9.7811e-02,
+ 8.2707e-02, 6.9900e-02, 5.9197e-02, 5.0157e-02,
+ 4.2535e-02, 3.6140e-02, 3.0782e-02, 2.6233e-02,
+ 2.2363e-02},
+ {1.9635e-02, 2.3167e-02, 2.7343e-02, 3.2293e-02,
+ 3.8224e-02, 4.5335e-02, 5.3849e-02, 6.4039e-02,
+ 7.6210e-02, 9.0739e-02, 1.0805e-01, 1.2841e-01,
+ 1.5216e-01, 1.7960e-01, 2.1099e-01, 2.4671e-01,
+ 2.8647e-01, 3.2996e-01, 3.7660e-01, 4.2547e-01,
+ 4.7536e-01, 5.2473e-01, 5.7215e-01, 6.1632e-01,
+ 6.5616e-01, 6.9075e-01, 7.1939e-01, 7.4199e-01,
+ 7.5838e-01, 7.6848e-01, 7.7227e-01, 7.6848e-01,
+ 7.5838e-01, 7.4199e-01, 7.1939e-01, 6.9075e-01,
+ 6.5616e-01, 6.1632e-01, 5.7215e-01, 5.2473e-01,
+ 4.7536e-01, 4.2547e-01, 3.7660e-01, 3.2996e-01,
+ 2.8647e-01, 2.4671e-01, 2.1099e-01, 1.7960e-01,
+ 1.5216e-01, 1.2841e-01, 1.0805e-01, 9.0739e-02,
+ 7.6210e-02, 6.4039e-02, 5.3849e-02, 4.5335e-02,
+ 3.8224e-02, 3.2293e-02, 2.7343e-02, 2.3167e-02,
+ 1.9635e-02},
+ {1.7224e-02, 2.0450e-02, 2.4286e-02, 2.8860e-02,
+ 3.4357e-02, 4.0979e-02, 4.8966e-02, 5.8612e-02,
+ 7.0253e-02, 8.4257e-02, 1.0102e-01, 1.2094e-01,
+ 1.4442e-01, 1.7196e-01, 2.0381e-01, 2.4013e-01,
+ 2.8093e-01, 3.2594e-01, 3.7450e-01, 4.2563e-01,
+ 4.7796e-01, 5.2991e-01, 5.7974e-01, 6.2599e-01,
+ 6.6750e-01, 7.0344e-01, 7.3329e-01, 7.5676e-01,
+ 7.7371e-01, 7.8410e-01, 7.8793e-01, 7.8410e-01,
+ 7.7371e-01, 7.5676e-01, 7.3329e-01, 7.0344e-01,
+ 6.6750e-01, 6.2599e-01, 5.7974e-01, 5.2991e-01,
+ 4.7796e-01, 4.2563e-01, 3.7450e-01, 3.2594e-01,
+ 2.8093e-01, 2.4013e-01, 2.0381e-01, 1.7196e-01,
+ 1.4442e-01, 1.2094e-01, 1.0102e-01, 8.4257e-02,
+ 7.0253e-02, 5.8612e-02, 4.8966e-02, 4.0979e-02,
+ 3.4357e-02, 2.8860e-02, 2.4286e-02, 2.0450e-02,
+ 1.7224e-02},
+ {1.5096e-02, 1.8041e-02, 2.1566e-02, 2.5793e-02,
+ 3.0886e-02, 3.7044e-02, 4.4515e-02, 5.3604e-02,
+ 6.4668e-02, 7.8109e-02, 9.4364e-02, 1.1389e-01,
+ 1.3716e-01, 1.6461e-01, 1.9663e-01, 2.3350e-01,
+ 2.7527e-01, 3.2170e-01, 3.7214e-01, 4.2549e-01,
+ 4.8024e-01, 5.3460e-01, 5.8677e-01, 6.3512e-01,
+ 6.7838e-01, 7.1569e-01, 7.4655e-01, 7.7071e-01,
+ 7.8810e-01, 7.9871e-01, 8.0255e-01, 7.9871e-01,
+ 7.8810e-01, 7.7071e-01, 7.4655e-01, 7.1569e-01,
+ 6.7838e-01, 6.3512e-01, 5.8677e-01, 5.3460e-01,
+ 4.8024e-01, 4.2549e-01, 3.7214e-01, 3.2170e-01,
+ 2.7527e-01, 2.3350e-01, 1.9663e-01, 1.6461e-01,
+ 1.3716e-01, 1.1389e-01, 9.4364e-02, 7.8109e-02,
+ 6.4668e-02, 5.3604e-02, 4.4515e-02, 3.7044e-02,
+ 3.0886e-02, 2.5793e-02, 2.1566e-02, 1.8041e-02,
+ 1.5096e-02}};
// More sampling precision with linear interpolation
fPRFlo = -1.5;
}
-//_____________________________________________________________________________
-void AliTRDparameter::SetTiltingAngle(Float_t v)
-{
- //
- // Set the tilting angle for the readout pads
- //
-
- fTiltingAngle = TMath::Tan(TMath::Pi()/180.0 * v);
-
-}
-
-//_____________________________________________________________________________
-Float_t AliTRDparameter::GetTiltingAngle() const
-{
- //
- // Get the tilting angle for the readout pads
- //
-
- return 180.0 / TMath::Pi() * TMath::ATan(fTiltingAngle);
-
-}
-
//_____________________________________________________________________________
Float_t AliTRDparameter::GetDiffusionL(Float_t vd, Float_t b)
{