]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDSimParam.cxx
First implementation of calibration scheme by Jan Fiete
[u/mrichter/AliRoot.git] / TRD / AliTRDSimParam.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 /* $Id$ */
17
18 ///////////////////////////////////////////////////////////////////////////////
19 //                                                                           //
20 // Class containing constant simulation parameters                           //
21 //                                                                           //
22 // Request an instance with AliTRDSimParam::Instance()                 //
23 // Then request the needed values                                            //
24 //                                                                           //
25 ///////////////////////////////////////////////////////////////////////////////
26
27 #include <TMath.h>
28
29 #include "AliRun.h"
30
31 #include "AliTRDSimParam.h"
32
33 ClassImp(AliTRDSimParam)
34
35 AliTRDSimParam* AliTRDSimParam::fgInstance = 0;
36 Bool_t AliTRDSimParam::fgTerminated = kFALSE;
37
38 //_ singleton implementation __________________________________________________
39 AliTRDSimParam* AliTRDSimParam::Instance()
40 {
41   //
42   // Singleton implementation
43   // Returns an instance of this class, it is created if neccessary
44   // 
45   
46   if (fgTerminated != kFALSE)
47     return 0;
48
49   if (fgInstance == 0)
50     fgInstance = new AliTRDSimParam();
51   
52   return fgInstance;
53 }
54
55 void AliTRDSimParam::Terminate()
56 {
57   //
58   // Singleton implementation
59   // Deletes the instance of this class and sets the terminated flag, instances cannot be requested anymore
60   // This function can be called several times.
61   //
62   
63   fgTerminated = kTRUE;
64   
65   if (fgInstance != 0)
66   {
67     delete fgInstance;
68     fgInstance = 0;
69   }
70 }
71
72 //_____________________________________________________________________________
73 AliTRDSimParam::AliTRDSimParam()
74 {
75   //
76   // default constructor
77   //
78   
79   fGasGain            = 0.0;
80   fNoise              = 0.0;
81   fChipGain           = 0.0;
82   
83   fADCoutRange        = 0.0;
84   fADCinRange         = 0.0;
85   fADCthreshold       = 0;
86   fADCbaseline        = 0;        
87   
88   fDiffusionOn        = kFALSE;
89   
90   fElAttachOn         = kFALSE;
91   fElAttachProp       = 0.0;
92   
93   fTRFOn              = kFALSE;
94   fTRFsmp             = 0;
95   fTRFbin             = 0;
96   fTRFlo              = 0.0;
97   fTRFhi              = 0.0;
98   fTRFwid             = 0.0;
99   
100   fCTOn               = kFALSE;
101   fCTsmp              = 0;
102   
103   fTCOn               = kFALSE;
104   
105   fTCnexp             = 0;
106   
107   fAnodeWireOffset    = 0.0;
108   fPadCoupling        = 0.0;
109   fTimeCoupling       = 0.0;
110   fTimeStructOn       = kFALSE;
111   
112   Init();
113 }
114
115 //_____________________________________________________________________________
116 void AliTRDSimParam::Init()
117 {
118   // 
119   // default initializiation
120   //
121   
122   // The default parameter for the digitization
123   fGasGain        = 4000.;
124   fChipGain       = 12.4;
125   fNoise          = 1000.;
126   fADCoutRange    = 1023.;          // 10-bit ADC
127   fADCinRange     = 2000.;          // 2V input range
128   fADCthreshold   = 1;
129   fADCbaseline    = 0;
130
131   // Diffusion on
132   fDiffusionOn    = kTRUE;
133   
134   // Propability for electron attachment
135   fElAttachOn     = kFALSE;
136   fElAttachProp   = 0.0;
137
138   // The time response function
139   fTRFOn          = kTRUE;
140
141   // The cross talk
142   fCTOn           = kTRUE;
143
144   // The tail cancelation
145   fTCOn           = kTRUE;
146   
147   // The number of exponentials
148   fTCnexp         = 1;
149
150   // The pad coupling factor
151   //fPadCoupling    = 0.3;
152   // Use 0.46 instead which reproduces better the test beam
153   // data, even tough it is not understood why.
154   fPadCoupling    = 0.46;
155
156   // The time coupling factor (same number as for the TPC)
157   fTimeCoupling   = 0.4;
158
159   // Distance of first Anode wire from first pad edge
160   fAnodeWireOffset = 0.25;
161
162   // Use drift time maps
163   fTimeStructOn = kTRUE;
164   
165   ReInit();
166 };
167
168 //_____________________________________________________________________________
169 AliTRDSimParam::~AliTRDSimParam() 
170 {
171   //
172   // destructor
173   //
174   
175   if (fTRFsmp) {
176     delete [] fTRFsmp;
177     fTRFsmp = 0;
178   }
179
180   if (fCTsmp) {
181     delete [] fCTsmp;
182     fCTsmp  = 0;
183   }
184 };
185
186 //_____________________________________________________________________________
187 AliTRDSimParam::AliTRDSimParam(const AliTRDSimParam &p):TObject(p)
188 {
189   //
190   // copy constructor
191   //
192
193   ((AliTRDSimParam &) p).Copy(*this);
194 }
195
196
197 //_____________________________________________________________________________
198 AliTRDSimParam &AliTRDSimParam::operator=(const AliTRDSimParam &p)
199 {
200   //
201   // Assignment operator
202   //
203
204   if (this != &p) ((AliTRDSimParam &) p).Copy(*this);
205   return *this;
206 }
207
208 //_____________________________________________________________________________
209 void AliTRDSimParam::Copy(TObject &p) const
210 {
211   //
212   // Copy function
213   //
214   
215   AliTRDSimParam* target = dynamic_cast<AliTRDSimParam*> (&p);
216   if (!target)
217     return;
218
219   target->fGasGain            = fGasGain;
220   //target->fField              = fField;
221   target->fNoise              = fNoise;
222   target->fChipGain           = fChipGain;
223   
224   target->fADCoutRange        = fADCoutRange;
225   target->fADCinRange         = fADCinRange;
226   target->fADCthreshold       = fADCthreshold;
227   target->fADCbaseline        = fADCbaseline; 
228   
229   target->fDiffusionOn        = fDiffusionOn; 
230   
231   target->fElAttachOn         = fElAttachOn;
232   target->fElAttachProp       = fElAttachProp;
233   
234   target->fTRFOn              = fTRFOn;
235   if (target->fTRFsmp) 
236     delete[] target->fTRFsmp;
237   target->fTRFsmp = new Float_t[fTRFbin];
238   for (Int_t iBin = 0; iBin < fTRFbin; iBin++) {
239     target->fTRFsmp[iBin] = fTRFsmp[iBin];
240   }
241   target->fTRFbin             = fTRFbin;
242   target->fTRFlo              = fTRFlo;
243   target->fTRFhi              = fTRFhi;
244   target->fTRFwid             = fTRFwid;
245   
246   target->fCTOn               = fCTOn;
247   if (target->fCTsmp) 
248     delete[] target->fCTsmp;
249   target->fCTsmp  = new Float_t[fTRFbin];
250   for (Int_t iBin = 0; iBin < fTRFbin; iBin++) {
251     target->fCTsmp[iBin]  = fCTsmp[iBin];
252   }
253   
254   target->fTCOn               = fTCOn;
255   target->fTCnexp             = fTCnexp;
256
257   target->fAnodeWireOffset    = fAnodeWireOffset;
258   target->fPadCoupling        = fPadCoupling;
259   target->fTimeCoupling       = fTimeCoupling;
260 }
261
262 //_____________________________________________________________________________
263 void AliTRDSimParam::ReInit()
264 {
265   //
266   // Reinitializes the parameter class after a change
267   //
268
269   // The range and the binwidth for the sampled TRF 
270   fTRFbin = 100;
271   // Start 0.2 mus before the signal
272   fTRFlo  = -0.2;
273   // End the maximum drift time after the signal 
274   fTRFhi  = 2.2;
275   // 
276   fTRFwid = (fTRFhi - fTRFlo) / ((Float_t) fTRFbin);
277
278   // Create the sampled TRF
279   SampleTRF();
280 }
281
282 //_____________________________________________________________________________
283 void AliTRDSimParam::SampleTRF()
284 {
285   //
286   // Samples the time response function
287   //
288   // New TRF from Venelin Angelov, simulated with CADENCE
289   // Pad-ground capacitance = 25 pF
290   // Pad-pad cross talk capacitance = 6 pF   
291   //
292
293   Int_t   ipos1;
294   Int_t   ipos2;
295   Float_t diff;
296
297   const Int_t kNpasa     = 252;
298
299   Float_t time[kNpasa]   = { -0.220000, -0.210000, -0.200000, -0.190000 
300                            , -0.180000, -0.170000, -0.160000, -0.150000 
301                            , -0.140000, -0.130000, -0.120000, -0.110000 
302                            , -0.100000, -0.090000, -0.080000, -0.070000 
303                            , -0.060000, -0.050000, -0.040000, -0.030000 
304                            , -0.020000, -0.010000, -0.000000,  0.010000 
305                            ,  0.020000,  0.030000,  0.040000,  0.050000 
306                            ,  0.060000,  0.070000,  0.080000,  0.090000 
307                            ,  0.100000,  0.110000,  0.120000,  0.130000 
308                            ,  0.140000,  0.150000,  0.160000,  0.170000 
309                            ,  0.180000,  0.190000,  0.200000,  0.210000 
310                            ,  0.220000,  0.230000,  0.240000,  0.250000 
311                            ,  0.260000,  0.270000,  0.280000,  0.290000 
312                            ,  0.300000,  0.310000,  0.320000,  0.330000 
313                            ,  0.340000,  0.350000,  0.360000,  0.370000 
314                            ,  0.380000,  0.390000,  0.400000,  0.410000 
315                            ,  0.420000,  0.430000,  0.440000,  0.450000 
316                            ,  0.460000,  0.470000,  0.480000,  0.490000 
317                            ,  0.500000,  0.510000,  0.520000,  0.530000 
318                            ,  0.540000,  0.550000,  0.560000,  0.570000 
319                            ,  0.580000,  0.590000,  0.600000,  0.610000 
320                            ,  0.620000,  0.630000,  0.640000,  0.650000 
321                            ,  0.660000,  0.670000,  0.680000,  0.690000 
322                            ,  0.700000,  0.710000,  0.720000,  0.730000 
323                            ,  0.740000,  0.750000,  0.760000,  0.770000 
324                            ,  0.780000,  0.790000,  0.800000,  0.810000 
325                            ,  0.820000,  0.830000,  0.840000,  0.850000 
326                            ,  0.860000,  0.870000,  0.880000,  0.890000 
327                            ,  0.900000,  0.910000,  0.920000,  0.930000 
328                            ,  0.940000,  0.950000,  0.960000,  0.970000 
329                            ,  0.980000,  0.990000,  1.000000,  1.010000 
330                            ,  1.020000,  1.030000,  1.040000,  1.050000 
331                            ,  1.060000,  1.070000,  1.080000,  1.090000 
332                            ,  1.100000,  1.110000,  1.120000,  1.130000 
333                            ,  1.140000,  1.150000,  1.160000,  1.170000 
334                            ,  1.180000,  1.190000,  1.200000,  1.210000 
335                            ,  1.220000,  1.230000,  1.240000,  1.250000 
336                            ,  1.260000,  1.270000,  1.280000,  1.290000 
337                            ,  1.300000,  1.310000,  1.320000,  1.330000 
338                            ,  1.340000,  1.350000,  1.360000,  1.370000 
339                            ,  1.380000,  1.390000,  1.400000,  1.410000 
340                            ,  1.420000,  1.430000,  1.440000,  1.450000 
341                            ,  1.460000,  1.470000,  1.480000,  1.490000 
342                            ,  1.500000,  1.510000,  1.520000,  1.530000 
343                            ,  1.540000,  1.550000,  1.560000,  1.570000 
344                            ,  1.580000,  1.590000,  1.600000,  1.610000 
345                            ,  1.620000,  1.630000,  1.640000,  1.650000 
346                            ,  1.660000,  1.670000,  1.680000,  1.690000 
347                            ,  1.700000,  1.710000,  1.720000,  1.730000 
348                            ,  1.740000,  1.750000,  1.760000,  1.770000 
349                            ,  1.780000,  1.790000,  1.800000,  1.810000 
350                            ,  1.820000,  1.830000,  1.840000,  1.850000 
351                            ,  1.860000,  1.870000,  1.880000,  1.890000 
352                            ,  1.900000,  1.910000,  1.920000,  1.930000 
353                            ,  1.940000,  1.950000,  1.960000,  1.970000 
354                            ,  1.980000,  1.990000,  2.000000,  2.010000 
355                            ,  2.020000,  2.030000,  2.040000,  2.050000 
356                            ,  2.060000,  2.070000,  2.080000,  2.090000 
357                            ,  2.100000,  2.110000,  2.120000,  2.130000 
358                            ,  2.140000,  2.150000,  2.160000,  2.170000 
359                            ,  2.180000,  2.190000,  2.200000,  2.210000 
360                            ,  2.220000,  2.230000,  2.240000,  2.250000 
361                            ,  2.260000,  2.270000,  2.280000,  2.290000 };
362
363   Float_t signal[kNpasa] = {  0.000000,  0.000000,  0.000000,  0.000000 
364                            ,  0.000000,  0.000000,  0.000000,  0.000396 
365                            ,  0.005096,  0.022877,  0.061891,  0.126614 
366                            ,  0.215798,  0.324406,  0.444507,  0.566817 
367                            ,  0.683465,  0.787089,  0.873159,  0.937146 
368                            ,  0.979049,  0.999434,  1.000000,  0.983579 
369                            ,  0.954134,  0.913364,  0.866365,  0.813703 
370                            ,  0.759910,  0.706116,  0.653454,  0.603624 
371                            ,  0.556625,  0.514156,  0.475085,  0.439977 
372                            ,  0.408834,  0.380578,  0.355549,  0.333352 
373                            ,  0.313647,  0.296093,  0.280351,  0.266195 
374                            ,  0.253397,  0.241789,  0.231257,  0.221574 
375                            ,  0.212627,  0.204417,  0.196772,  0.189581 
376                            ,  0.182956,  0.176784,  0.171008,  0.165515 
377                            ,  0.160419,  0.155606,  0.151076,  0.146716 
378                            ,  0.142639,  0.138845,  0.135221,  0.131767 
379                            ,  0.128482,  0.125368,  0.122424,  0.119592 
380                            ,  0.116931,  0.114326,  0.111891,  0.109513 
381                            ,  0.107248,  0.105096,  0.103058,  0.101019 
382                            ,  0.099151,  0.097282,  0.095527,  0.093715 
383                            ,  0.092129,  0.090544,  0.088958,  0.087429 
384                            ,  0.086014,  0.084598,  0.083239,  0.081880 
385                            ,  0.080634,  0.079388,  0.078143,  0.077010 
386                            ,  0.075878,  0.074745,  0.073669,  0.072593 
387                            ,  0.071574,  0.070612,  0.069649,  0.068686 
388                            ,  0.067780,  0.066874,  0.066025,  0.065176 
389                            ,  0.064326,  0.063533,  0.062684,  0.061948 
390                            ,  0.061212,  0.060419,  0.059740,  0.059003 
391                            ,  0.058324,  0.057644,  0.057022,  0.056342 
392                            ,  0.055663,  0.055096,  0.054473,  0.053851 
393                            ,  0.053284,  0.052718,  0.052152,  0.051585 
394                            ,  0.051019,  0.050566,  0.050000,  0.049490 
395                            ,  0.048981,  0.048528,  0.048018,  0.047508 
396                            ,  0.047055,  0.046602,  0.046149,  0.045696 
397                            ,  0.045300,  0.044904,  0.044451,  0.044054 
398                            ,  0.043658,  0.043205,  0.042865,  0.042469 
399                            ,  0.042072,  0.041733,  0.041336,  0.040997 
400                            ,  0.040657,  0.040260,  0.039921,  0.039581 
401                            ,  0.039241,  0.038958,  0.038618,  0.038335 
402                            ,  0.037995,  0.037656,  0.037373,  0.037089 
403                            ,  0.036806,  0.036467,  0.036183,  0.035900 
404                            ,  0.035617,  0.035334,  0.035108,  0.034824 
405                            ,  0.034541,  0.034315,  0.034032,  0.033805 
406                            ,  0.033522,  0.033296,  0.033069,  0.032786 
407                            ,  0.032559,  0.032333,  0.032106,  0.031880 
408                            ,  0.031653,  0.031427,  0.031200,  0.030974 
409                            ,  0.030804,  0.030578,  0.030351,  0.030125 
410                            ,  0.029955,  0.029785,  0.029558,  0.029332 
411                            ,  0.029162,  0.028992,  0.028766,  0.028596 
412                            ,  0.028426,  0.028199,  0.028086,  0.027860 
413                            ,  0.027746,  0.027633,  0.027463,  0.027293 
414                            ,  0.027180,  0.027067,  0.026954,  0.026954 
415                            ,  0.026840,  0.026727,  0.026727,  0.026614 
416                            ,  0.026614,  0.026614,  0.026557,  0.026501 
417                            ,  0.026501,  0.026501,  0.026501,  0.026501 
418                            ,  0.026501,  0.026501,  0.026501,  0.026387 
419                            ,  0.026387,  0.026387,  0.026387,  0.026387 
420                            ,  0.026387,  0.026387,  0.026387,  0.026387 
421                            ,  0.026387,  0.026387,  0.026387,  0.026387 
422                            ,  0.026387,  0.026274,  0.026274,  0.026274 
423                            ,  0.026274,  0.026274,  0.026274,  0.026274 
424                            ,  0.026274,  0.026274,  0.026274,  0.026274 
425                            ,  0.026274,  0.026274,  0.026274,  0.026161 };
426
427   Float_t xtalk[kNpasa]  = {  0.000000,  0.000000,  0.000000,  0.000000 
428                            ,  0.000000,  0.000000,  0.000000,  0.000113 
429                            ,  0.000793,  0.003058,  0.007305,  0.013194 
430                            ,  0.019706,  0.025821,  0.030634,  0.033465 
431                            ,  0.034145,  0.032729,  0.029615,  0.025198 
432                            ,  0.019989,  0.014496,  0.009003,  0.003964 
433                            , -0.000510, -0.004190, -0.007191, -0.009400 
434                            , -0.010872, -0.011835, -0.012288, -0.012288 
435                            , -0.012005, -0.011495, -0.010872, -0.010136 
436                            , -0.009343, -0.008607, -0.007871, -0.007191 
437                            , -0.006512, -0.005946, -0.005379, -0.004926 
438                            , -0.004473, -0.004077, -0.003737, -0.003398 
439                            , -0.003114, -0.002831, -0.002605, -0.002378 
440                            , -0.002208, -0.002039, -0.001869, -0.001699 
441                            , -0.001585, -0.001472, -0.001359, -0.001246 
442                            , -0.001132, -0.001019, -0.001019, -0.000906 
443                            , -0.000906, -0.000793, -0.000793, -0.000680 
444                            , -0.000680, -0.000680, -0.000566, -0.000566 
445                            , -0.000566, -0.000566, -0.000453, -0.000453 
446                            , -0.000453, -0.000453, -0.000453, -0.000453 
447                            , -0.000340, -0.000340, -0.000340, -0.000340 
448                            , -0.000340, -0.000340, -0.000340, -0.000340 
449                            , -0.000340, -0.000340, -0.000340, -0.000340 
450                            , -0.000340, -0.000227, -0.000227, -0.000227 
451                            , -0.000227, -0.000227, -0.000227, -0.000227 
452                            , -0.000227, -0.000227, -0.000227, -0.000227 
453                            , -0.000227, -0.000227, -0.000227, -0.000227 
454                            , -0.000227, -0.000227, -0.000227, -0.000227 
455                            , -0.000227, -0.000227, -0.000227, -0.000227 
456                            , -0.000227, -0.000227, -0.000227, -0.000227 
457                            , -0.000227, -0.000227, -0.000227, -0.000227 
458                            , -0.000227, -0.000227, -0.000227, -0.000227 
459                            , -0.000227, -0.000227, -0.000227, -0.000113 
460                            , -0.000113, -0.000113, -0.000113, -0.000113 
461                            , -0.000113, -0.000113, -0.000113, -0.000113 
462                            , -0.000113, -0.000113, -0.000113, -0.000113 
463                            , -0.000113, -0.000113, -0.000113, -0.000113 
464                            , -0.000113, -0.000113, -0.000113, -0.000113 
465                            , -0.000113, -0.000113, -0.000113, -0.000113 
466                            , -0.000113, -0.000113, -0.000113, -0.000113 
467                            , -0.000113, -0.000113, -0.000113, -0.000113 
468                            , -0.000113, -0.000113, -0.000113, -0.000113 
469                            , -0.000113, -0.000113, -0.000113, -0.000113 
470                            , -0.000113, -0.000113, -0.000113, -0.000113 
471                            , -0.000113, -0.000113, -0.000113, -0.000113 
472                            , -0.000113, -0.000113, -0.000113, -0.000113 
473                            , -0.000113, -0.000113, -0.000113, -0.000113 
474                            , -0.000113, -0.000113, -0.000113, -0.000113 
475                            , -0.000113, -0.000113, -0.000113, -0.000113 
476                            , -0.000113, -0.000113, -0.000113, -0.000113 
477                            , -0.000113, -0.000113, -0.000113, -0.000113 
478                            , -0.000113, -0.000113, -0.000113, -0.000113 
479                            , -0.000113, -0.000113, -0.000113,  0.000000 
480                            ,  0.000000,  0.000000,  0.000000,  0.000000 
481                            ,  0.000000,  0.000000,  0.000000,  0.000000 
482                            ,  0.000000,  0.000000,  0.000000,  0.000000 
483                            ,  0.000000,  0.000000,  0.000000,  0.000000 
484                            ,  0.000000,  0.000000,  0.000000,  0.000000 
485                            ,  0.000000,  0.000000,  0.000000,  0.000000 
486                            ,  0.000000,  0.000000,  0.000000,  0.000000 
487                            ,  0.000000,  0.000000,  0.000000,  0.000000 
488                            ,  0.000000,  0.000000,  0.000000,  0.000000 
489                            ,  0.000000,  0.000000,  0.000000,  0.000000 };
490
491   // increase CrossTalk to measurements
492   for (Int_t ipasa = 0; ipasa < kNpasa; ipasa++) {
493     xtalk[ipasa] *= 1.75;
494   }
495
496   if (fTRFsmp) delete [] fTRFsmp;
497   fTRFsmp = new Float_t[fTRFbin];
498   if (fCTsmp)  delete [] fCTsmp;
499   fCTsmp  = new Float_t[fTRFbin];
500
501   Float_t loTRF    = TMath::Max(fTRFlo, time[0]);
502   Float_t hiTRF    = TMath::Min(fTRFhi, time[kNpasa-1]);
503   Float_t binWidth = (hiTRF - loTRF) / ((Float_t) fTRFbin);
504
505   // Take the linear interpolation
506   for (Int_t iBin = 0; iBin < fTRFbin; iBin++) {
507
508     Float_t bin = (((Float_t) iBin) + 0.5) * binWidth + loTRF;
509     ipos1 = ipos2 = 0;
510     diff  = 0;
511     do {
512       diff = bin - time[ipos2++];
513     } while (diff > 0);
514     ipos2--;
515     if (ipos2 >= kNpasa) ipos2 = kNpasa - 1;
516     ipos1 = ipos2 - 1;
517
518     fTRFsmp[iBin] = signal[ipos2] 
519                   + diff * (signal[ipos2] - signal[ipos1]) 
520                          / (  time[ipos2] -   time[ipos1]);
521
522     fCTsmp[iBin]  = xtalk[ipos2] 
523                   + diff * (xtalk[ipos2]  -  xtalk[ipos1]) 
524                          / (  time[ipos2] -   time[ipos1]);
525
526   }
527
528 }
529
530 //_____________________________________________________________________________
531 Double_t AliTRDSimParam::TimeResponse(Double_t time) const
532 {
533   //
534   // Applies the preamp shaper time response
535   //
536
537   Int_t iBin = ((Int_t) ((time) / fTRFwid));
538   //Int_t iBin = ((Int_t) ((time - fTRFlo) / fTRFwid)); 
539   if ((iBin >= 0) && (iBin < fTRFbin)) {
540     return fTRFsmp[iBin];
541   }
542   else {
543     return 0.0;
544   }    
545
546 }
547
548 //_____________________________________________________________________________
549 Double_t AliTRDSimParam::CrossTalk(Double_t time) const
550 {
551   //
552   // Applies the pad-pad capacitive cross talk
553   //
554
555   Int_t iBin = ((Int_t) ((time - fTRFlo) / fTRFwid)); 
556   if ((iBin >= 0) && (iBin < fTRFbin)) {
557     return fCTsmp[iBin];
558   }
559   else {
560     return 0.0;
561   }    
562
563 }
564