ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/* $Id$ */

////////////////////////////////////////////////////////////////////////////
//                                                                        //
// Class containing constant simulation parameters                        //
//                                                                        //
// Request an instance with AliTRDSimParam::Instance()                    //
// Then request the needed values                                         //
//                                                                        //
////////////////////////////////////////////////////////////////////////////

#include <TMath.h>

#include "AliRun.h"

#include "AliTRDSimParam.h"
#include "AliTRDCommonParam.h"
#include "AliLog.h"

ClassImp(AliTRDSimParam)

AliTRDSimParam *AliTRDSimParam::fgInstance   = 0;
Bool_t          AliTRDSimParam::fgTerminated = kFALSE;

//_ singleton implementation __________________________________________________
AliTRDSimParam* AliTRDSimParam::Instance()
{
  //
  // Singleton implementation
  // Returns an instance of this class, it is created if neccessary
  // 
  
  if (fgTerminated != kFALSE) {
    return 0;
  }

  if (fgInstance == 0) {
    fgInstance = new AliTRDSimParam();
  }  

  return fgInstance;

}

//_ singleton implementation __________________________________________________
void AliTRDSimParam::Terminate()
{
  //
  // Singleton implementation
  // Deletes the instance of this class and sets the terminated flag,
  // instances cannot be requested anymore
  // This function can be called several times.
  //
  
  fgTerminated = kTRUE;
  
  if (fgInstance != 0) {
    delete fgInstance;
    fgInstance = 0;
  }

}

//_____________________________________________________________________________
AliTRDSimParam::AliTRDSimParam()
  :TObject()
  ,fGasGain(0.0)
  ,fNoise(0.0)
  ,fChipGain(0.0)
  ,fADCoutRange(0.0)
  ,fADCinRange(0.0)
  ,fADCbaseline(0)
  ,fDiffusionOn(kFALSE)
  ,fElAttachOn(kFALSE)
  ,fElAttachProp(0.0)
  ,fTRFOn(kFALSE)
  ,fTRFsmp(0)
  ,fTRFbin(0)
  ,fTRFlo(0.0)
  ,fTRFhi(0.0)
  ,fTRFwid(0.0)
  ,fCTOn(kFALSE)
  ,fCTsmp(0)
  ,fPadCoupling(0.0)
  ,fTimeCoupling(0.0)
  ,fTimeStructOn(kFALSE)
  ,fPRFOn(kFALSE)
  ,fNTimeBins(0)
  ,fNTBoverwriteOCDB(kFALSE)
{
  //
  // Default constructor
  //
  
  Init();

}

//_____________________________________________________________________________
void AliTRDSimParam::Init()
{
  // 
  // Default initializiation
  //
  
  // The default parameter for the digitization
  fGasGain           = 4000.0;
  fChipGain          =   12.4;
  fNoise             = 1250.0;
  fADCoutRange       = 1023.0;          // 10-bit ADC
  fADCinRange        = 2000.0;          // 2V input range
  fADCbaseline       =   10;

  // Diffusion on
  fDiffusionOn       = kTRUE;
  
  // Propability for electron attachment
  fElAttachOn        = kFALSE;
  fElAttachProp      = 0.0;

  // The time response function
  fTRFOn             = kTRUE;

  // The cross talk
  fCTOn              = kTRUE;

  // The pad coupling factor
  // Use 0.46, instead of the theroetical value 0.3, since it reproduces better 
  // the test beam data, even tough it is not understood why.
  fPadCoupling       = 0.46;

  // The time coupling factor (same number as for the TPC)
  fTimeCoupling      = 0.4;

  // Use drift time maps
  fTimeStructOn      = kTRUE;
  
  // The pad response function
  fPRFOn             = kTRUE;

  // The number of time bins
  fNTimeBins         = 22;
  fNTBoverwriteOCDB  = kFALSE;

  ReInit();

}

//_____________________________________________________________________________
AliTRDSimParam::~AliTRDSimParam() 
{
  //
  // Destructor
  //
  
  if (fTRFsmp) {
    delete [] fTRFsmp;
    fTRFsmp = 0;
  }

  if (fCTsmp) {
    delete [] fCTsmp;
    fCTsmp  = 0;
  }

}

//_____________________________________________________________________________
AliTRDSimParam::AliTRDSimParam(const AliTRDSimParam &p)
  :TObject(p)
  ,fGasGain(p.fGasGain)
  ,fNoise(p.fNoise)
  ,fChipGain(p.fChipGain)
  ,fADCoutRange(p.fADCoutRange)
  ,fADCinRange(p.fADCinRange)
  ,fADCbaseline(p.fADCbaseline)
  ,fDiffusionOn(p.fDiffusionOn)
  ,fElAttachOn(p.fElAttachOn)
  ,fElAttachProp(p.fElAttachProp)
  ,fTRFOn(p.fTRFOn)
  ,fTRFsmp(0)
  ,fTRFbin(p.fTRFbin)
  ,fTRFlo(p.fTRFlo)
  ,fTRFhi(p.fTRFhi)
  ,fTRFwid(p.fTRFwid)
  ,fCTOn(p.fCTOn)
  ,fCTsmp(0)
  ,fPadCoupling(p.fPadCoupling)
  ,fTimeCoupling(p.fTimeCoupling)
  ,fTimeStructOn(p.fTimeStructOn)
  ,fPRFOn(p.fPRFOn)
  ,fNTimeBins(p.fNTimeBins)
  ,fNTBoverwriteOCDB(p.fNTBoverwriteOCDB)
{
  //
  // Copy constructor
  //

  Int_t iBin = 0;

  fTRFsmp = new Float_t[fTRFbin];
  for (iBin = 0; iBin < fTRFbin; iBin++) {
    fTRFsmp[iBin] = ((AliTRDSimParam &) p).fTRFsmp[iBin];
  }                                                                             

  fCTsmp  = new Float_t[fTRFbin];
  for (iBin = 0; iBin < fTRFbin; iBin++) {
    fCTsmp[iBin]  = ((AliTRDSimParam &) p).fCTsmp[iBin];
  }                                                                             

}

//_____________________________________________________________________________
AliTRDSimParam &AliTRDSimParam::operator=(const AliTRDSimParam &p)
{
  //
  // Assignment operator
  //

  if (this == &p) {
    return *this;
  }

  Init();

  fGasGain          = p.fGasGain;
  fNoise            = p.fNoise;
  fChipGain         = p.fChipGain;
  fADCoutRange      = p.fADCoutRange;
  fADCinRange       = p.fADCinRange;
  fADCbaseline      = p.fADCbaseline;
  fDiffusionOn      = p.fDiffusionOn;
  fElAttachOn       = p.fElAttachOn;
  fElAttachProp     = p.fElAttachProp;
  fTRFOn            = p.fTRFOn;
  fTRFsmp           = 0;
  fTRFbin           = p.fTRFbin;
  fTRFlo            = p.fTRFlo;
  fTRFhi            = p.fTRFhi;
  fTRFwid           = p.fTRFwid;
  fCTOn             = p.fCTOn;
  fCTsmp            = 0;
  fPadCoupling      = p.fPadCoupling;
  fTimeCoupling     = p.fTimeCoupling;
  fTimeStructOn     = p.fTimeStructOn;
  fPRFOn            = p.fPRFOn;
  fNTimeBins        = p.fNTimeBins;
  fNTBoverwriteOCDB = p.fNTBoverwriteOCDB;

  Int_t iBin = 0;

  if (fTRFsmp) {
    delete[] fTRFsmp;
  }
  fTRFsmp = new Float_t[fTRFbin];
  for (iBin = 0; iBin < fTRFbin; iBin++) {
    fTRFsmp[iBin] = ((AliTRDSimParam &) p).fTRFsmp[iBin];
  }                                                                             

  if (fCTsmp) {
    delete[] fCTsmp;
  }
  fCTsmp  = new Float_t[fTRFbin];
  for (iBin = 0; iBin < fTRFbin; iBin++) {
    fCTsmp[iBin]  = ((AliTRDSimParam &) p).fCTsmp[iBin];
  }                                                                             

  return *this;

}

//_____________________________________________________________________________
void AliTRDSimParam::Copy(TObject &p) const
{
  //
  // Copy function
  //
  
  AliTRDSimParam *target = dynamic_cast<AliTRDSimParam *> (&p);
  if (!target) {
    return;
  }

  target->fGasGain            = fGasGain;
  target->fNoise              = fNoise;
  target->fChipGain           = fChipGain;  
  target->fADCoutRange        = fADCoutRange;
  target->fADCinRange         = fADCinRange;
  target->fADCbaseline        = fADCbaseline; 
  target->fDiffusionOn        = fDiffusionOn; 
  target->fElAttachOn         = fElAttachOn;
  target->fElAttachProp       = fElAttachProp;
  target->fTRFOn              = fTRFOn;
  target->fTRFbin             = fTRFbin;
  target->fTRFlo              = fTRFlo;
  target->fTRFhi              = fTRFhi;
  target->fTRFwid             = fTRFwid;
  target->fCTOn               = fCTOn;
  target->fPadCoupling        = fPadCoupling;
  target->fTimeCoupling       = fTimeCoupling;
  target->fPRFOn              = fPRFOn;
  target->fNTimeBins          = fNTimeBins;
  target->fNTBoverwriteOCDB   = fNTBoverwriteOCDB;

  if (target->fTRFsmp) {
    delete[] target->fTRFsmp;
  }
  target->fTRFsmp = new Float_t[fTRFbin];
  for (Int_t iBin = 0; iBin < fTRFbin; iBin++) {
    target->fTRFsmp[iBin] = fTRFsmp[iBin];
  }

  if (target->fCTsmp) {
    delete[] target->fCTsmp;
  }
  target->fCTsmp  = new Float_t[fTRFbin];
  for (Int_t iBin = 0; iBin < fTRFbin; iBin++) {
    target->fCTsmp[iBin]  = fCTsmp[iBin];
  }
  
}

//_____________________________________________________________________________
void AliTRDSimParam::ReInit()
{
  //
  // Reinitializes the parameter class after a change
  //

  if      (AliTRDCommonParam::Instance()->IsXenon()) {
    // The range and the binwidth for the sampled TRF 
    fTRFbin = 200;
    // Start 0.2 mus before the signal
    fTRFlo  = -0.4;
    // End the maximum drift time after the signal 
    fTRFhi  =  3.58;
    // Standard gas gain
    fGasGain = 4000.0;
  }
  else if (AliTRDCommonParam::Instance()->IsArgon()) {
    // The range and the binwidth for the sampled TRF 
    fTRFbin  =  50;
    // Start 0.2 mus before the signal
    fTRFlo   =  0.02;
    // End the maximum drift time after the signal 
    fTRFhi   =  1.98;
    // Higher gas gain
    fGasGain = 8000.0;
  }
  else {
    AliFatal("Not a valid gas mixture!");
  }
  fTRFwid = (fTRFhi - fTRFlo) / ((Float_t) fTRFbin);

  // Create the sampled TRF
  SampleTRF();

}

//_____________________________________________________________________________
void AliTRDSimParam::SampleTRF()
{
  //
  // Samples the new time response function.
  //

  Int_t ipasa = 0;

  // Xenon
  // From Antons measurements with Fe55 source, adjusted by C. Lippmann.
  // time bins are -0.4, -0.38, -0.36, ...., 3.54, 3.56, 3.58 microseconds
  const Int_t kNpasa     = 200;  // kNpasa should be equal to fTRFbin!
  Float_t xtalk[kNpasa];
  Float_t signal[kNpasa]     = { 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000
			       , 0.0002, 0.0007, 0.0026, 0.0089, 0.0253, 0.0612, 0.1319
			       , 0.2416, 0.3913, 0.5609, 0.7295, 0.8662, 0.9581, 1.0000
			       , 0.9990, 0.9611, 0.8995, 0.8269, 0.7495, 0.6714, 0.5987
			       , 0.5334, 0.4756, 0.4249, 0.3811, 0.3433, 0.3110, 0.2837
			       , 0.2607, 0.2409, 0.2243, 0.2099, 0.1974, 0.1868, 0.1776
			       , 0.1695, 0.1627, 0.1566, 0.1509, 0.1457, 0.1407, 0.1362
			       , 0.1317, 0.1274, 0.1233, 0.1196, 0.1162, 0.1131, 0.1102
			       , 0.1075, 0.1051, 0.1026, 0.1004, 0.0979, 0.0956, 0.0934
			       , 0.0912, 0.0892, 0.0875, 0.0858, 0.0843, 0.0829, 0.0815
			       , 0.0799, 0.0786, 0.0772, 0.0757, 0.0741, 0.0729, 0.0718
			       , 0.0706, 0.0692, 0.0680, 0.0669, 0.0655, 0.0643, 0.0630
			       , 0.0618, 0.0607, 0.0596, 0.0587, 0.0576, 0.0568, 0.0558
			       , 0.0550, 0.0541, 0.0531, 0.0522, 0.0513, 0.0505, 0.0497
			       , 0.0490, 0.0484, 0.0474, 0.0465, 0.0457, 0.0449, 0.0441
			       , 0.0433, 0.0425, 0.0417, 0.0410, 0.0402, 0.0395, 0.0388
			       , 0.0381, 0.0374, 0.0368, 0.0361, 0.0354, 0.0348, 0.0342
			       , 0.0336, 0.0330, 0.0324, 0.0318, 0.0312, 0.0306, 0.0301
			       , 0.0296, 0.0290, 0.0285, 0.0280, 0.0275, 0.0270, 0.0265
			       , 0.0260, 0.0256, 0.0251, 0.0246, 0.0242, 0.0238, 0.0233
			       , 0.0229, 0.0225, 0.0221, 0.0217, 0.0213, 0.0209, 0.0206
			       , 0.0202, 0.0198, 0.0195, 0.0191, 0.0188, 0.0184, 0.0181
			       , 0.0178, 0.0175, 0.0171, 0.0168, 0.0165, 0.0162, 0.0159
			       , 0.0157, 0.0154, 0.0151, 0.0148, 0.0146, 0.0143, 0.0140
			       , 0.0138, 0.0135, 0.0133, 0.0131, 0.0128, 0.0126, 0.0124
			       , 0.0121, 0.0119, 0.0120, 0.0115, 0.0113, 0.0111, 0.0109
			       , 0.0107, 0.0105, 0.0103, 0.0101, 0.0100, 0.0098, 0.0096
			       , 0.0094, 0.0092, 0.0091, 0.0089, 0.0088, 0.0086, 0.0084
			       , 0.0083, 0.0081, 0.0080, 0.0078 };
  signal[0] = 0.0;
  signal[1] = 0.0;
  signal[2] = 0.0;
  // With undershoot, positive peak corresponds to ~3% of the main signal:
  for (ipasa = 3; ipasa < kNpasa; ipasa++) {
    xtalk[ipasa] = 0.2 * (signal[ipasa-2] - signal[ipasa-3]);
  }
  xtalk[0]  = 0.0;   
  xtalk[1]  = 0.0;  
  xtalk[2]  = 0.0;  

  // Argon
  // Ar measurement with Fe55 source by Anton
  // time bins are 0.02, 0.06, 0.10, ...., 1.90, 1.94, 1.98 microseconds
  const Int_t kNpasaAr = 50;
  Float_t xtalkAr[kNpasaAr];
  Float_t signalAr[kNpasaAr] = { -0.01,  0.01,  0.00,  0.00,  0.01
                               , -0.01,  0.01,  2.15, 22.28, 55.53
                               , 68.52, 58.21, 40.92, 27.12, 18.49
                               , 13.42, 10.48,  8.67,  7.49,  6.55
                               ,  5.71,  5.12,  4.63,  4.22,  3.81
                               ,  3.48,  3.20,  2.94,  2.77,  2.63
                               ,  2.50,  2.37,  2.23,  2.13,  2.03
                               ,  1.91,  1.83,  1.75,  1.68,  1.63
                               ,  1.56,  1.49,  1.50,  1.49,  1.29
			       ,  1.19,  1.21,  1.21,  1.20,  1.10 };
  // Normalization to maximum
  for (ipasa = 0; ipasa < kNpasaAr; ipasa++) {
    signalAr[ipasa] /= 68.52;
  }
  signalAr[0] = 0.0;
  signalAr[1] = 0.0;
  signalAr[2] = 0.0;
  // With undershoot, positive peak corresponds to ~3% of the main signal:
  for (ipasa = 3; ipasa < kNpasaAr; ipasa++) {
    xtalkAr[ipasa] = 0.2 * (signalAr[ipasa-2] - signalAr[ipasa-3]);
  }
  xtalkAr[0]  = 0.0;   
  xtalkAr[1]  = 0.0;  
  xtalkAr[2]  = 0.0;  

  if (fTRFsmp) {
    delete [] fTRFsmp;
  }
  fTRFsmp = new Float_t[fTRFbin];

  if (fCTsmp)  {
    delete [] fCTsmp;
  }
  fCTsmp  = new Float_t[fTRFbin];

  if      (AliTRDCommonParam::Instance()->IsXenon()) {
    if (fTRFbin != kNpasa) {
      AliError("Array mismatch (xenon)\n\n");
    }
  }
  else if (AliTRDCommonParam::Instance()->IsArgon()) {
    if (fTRFbin != kNpasaAr) {
      AliError("Array mismatch (argon)\n\n");
    }
  }

  for (Int_t iBin = 0; iBin < fTRFbin; iBin++) {
    if      (AliTRDCommonParam::Instance()->IsXenon()) {
      fTRFsmp[iBin] = signal[iBin];
      fCTsmp[iBin]  = xtalk[iBin];
    }
    else if (AliTRDCommonParam::Instance()->IsArgon()) {
      fTRFsmp[iBin] = signalAr[iBin];
      fCTsmp[iBin]  = xtalkAr[iBin];
    }
  }

}

//_____________________________________________________________________________
Double_t AliTRDSimParam::TimeResponse(Double_t time) const
{
  //
  // Applies the preamp shaper time response
  // (We assume a signal rise time of 0.2us = fTRFlo/2.
  //

  Double_t rt   = (time - .5*fTRFlo) / fTRFwid;
  Int_t    iBin = (Int_t) rt; 
  Double_t dt   = rt - iBin; 
  if ((iBin >= 0) && (iBin+1 < fTRFbin)) {
    return fTRFsmp[iBin] + (fTRFsmp[iBin+1] - fTRFsmp[iBin])*dt;
  } 
  else {
    return 0.0;
  }

}

//_____________________________________________________________________________
Double_t AliTRDSimParam::CrossTalk(Double_t time) const
{
  //
  // Applies the pad-pad capacitive cross talk
  //

  Double_t rt   = (time - fTRFlo) / fTRFwid;
  Int_t    iBin = (Int_t) rt; 
  Double_t dt   = rt - iBin; 
  if ((iBin >= 0) && (iBin+1 < fTRFbin)) {
    return fCTsmp[iBin] + (fCTsmp[iBin+1] - fCTsmp[iBin])*dt;
  } 
  else {
    return 0.0;
  }

}
 AliTRDSimParam.cxx:1
 AliTRDSimParam.cxx:2
 AliTRDSimParam.cxx:3
 AliTRDSimParam.cxx:4
 AliTRDSimParam.cxx:5
 AliTRDSimParam.cxx:6
 AliTRDSimParam.cxx:7
 AliTRDSimParam.cxx:8
 AliTRDSimParam.cxx:9
 AliTRDSimParam.cxx:10
 AliTRDSimParam.cxx:11
 AliTRDSimParam.cxx:12
 AliTRDSimParam.cxx:13
 AliTRDSimParam.cxx:14
 AliTRDSimParam.cxx:15
 AliTRDSimParam.cxx:16
 AliTRDSimParam.cxx:17
 AliTRDSimParam.cxx:18
 AliTRDSimParam.cxx:19
 AliTRDSimParam.cxx:20
 AliTRDSimParam.cxx:21
 AliTRDSimParam.cxx:22
 AliTRDSimParam.cxx:23
 AliTRDSimParam.cxx:24
 AliTRDSimParam.cxx:25
 AliTRDSimParam.cxx:26
 AliTRDSimParam.cxx:27
 AliTRDSimParam.cxx:28
 AliTRDSimParam.cxx:29
 AliTRDSimParam.cxx:30
 AliTRDSimParam.cxx:31
 AliTRDSimParam.cxx:32
 AliTRDSimParam.cxx:33
 AliTRDSimParam.cxx:34
 AliTRDSimParam.cxx:35
 AliTRDSimParam.cxx:36
 AliTRDSimParam.cxx:37
 AliTRDSimParam.cxx:38
 AliTRDSimParam.cxx:39
 AliTRDSimParam.cxx:40
 AliTRDSimParam.cxx:41
 AliTRDSimParam.cxx:42
 AliTRDSimParam.cxx:43
 AliTRDSimParam.cxx:44
 AliTRDSimParam.cxx:45
 AliTRDSimParam.cxx:46
 AliTRDSimParam.cxx:47
 AliTRDSimParam.cxx:48
 AliTRDSimParam.cxx:49
 AliTRDSimParam.cxx:50
 AliTRDSimParam.cxx:51
 AliTRDSimParam.cxx:52
 AliTRDSimParam.cxx:53
 AliTRDSimParam.cxx:54
 AliTRDSimParam.cxx:55
 AliTRDSimParam.cxx:56
 AliTRDSimParam.cxx:57
 AliTRDSimParam.cxx:58
 AliTRDSimParam.cxx:59
 AliTRDSimParam.cxx:60
 AliTRDSimParam.cxx:61
 AliTRDSimParam.cxx:62
 AliTRDSimParam.cxx:63
 AliTRDSimParam.cxx:64
 AliTRDSimParam.cxx:65
 AliTRDSimParam.cxx:66
 AliTRDSimParam.cxx:67
 AliTRDSimParam.cxx:68
 AliTRDSimParam.cxx:69
 AliTRDSimParam.cxx:70
 AliTRDSimParam.cxx:71
 AliTRDSimParam.cxx:72
 AliTRDSimParam.cxx:73
 AliTRDSimParam.cxx:74
 AliTRDSimParam.cxx:75
 AliTRDSimParam.cxx:76
 AliTRDSimParam.cxx:77
 AliTRDSimParam.cxx:78
 AliTRDSimParam.cxx:79
 AliTRDSimParam.cxx:80
 AliTRDSimParam.cxx:81
 AliTRDSimParam.cxx:82
 AliTRDSimParam.cxx:83
 AliTRDSimParam.cxx:84
 AliTRDSimParam.cxx:85
 AliTRDSimParam.cxx:86
 AliTRDSimParam.cxx:87
 AliTRDSimParam.cxx:88
 AliTRDSimParam.cxx:89
 AliTRDSimParam.cxx:90
 AliTRDSimParam.cxx:91
 AliTRDSimParam.cxx:92
 AliTRDSimParam.cxx:93
 AliTRDSimParam.cxx:94
 AliTRDSimParam.cxx:95
 AliTRDSimParam.cxx:96
 AliTRDSimParam.cxx:97
 AliTRDSimParam.cxx:98
 AliTRDSimParam.cxx:99
 AliTRDSimParam.cxx:100
 AliTRDSimParam.cxx:101
 AliTRDSimParam.cxx:102
 AliTRDSimParam.cxx:103
 AliTRDSimParam.cxx:104
 AliTRDSimParam.cxx:105
 AliTRDSimParam.cxx:106
 AliTRDSimParam.cxx:107
 AliTRDSimParam.cxx:108
 AliTRDSimParam.cxx:109
 AliTRDSimParam.cxx:110
 AliTRDSimParam.cxx:111
 AliTRDSimParam.cxx:112
 AliTRDSimParam.cxx:113
 AliTRDSimParam.cxx:114
 AliTRDSimParam.cxx:115
 AliTRDSimParam.cxx:116
 AliTRDSimParam.cxx:117
 AliTRDSimParam.cxx:118
 AliTRDSimParam.cxx:119
 AliTRDSimParam.cxx:120
 AliTRDSimParam.cxx:121
 AliTRDSimParam.cxx:122
 AliTRDSimParam.cxx:123
 AliTRDSimParam.cxx:124
 AliTRDSimParam.cxx:125
 AliTRDSimParam.cxx:126
 AliTRDSimParam.cxx:127
 AliTRDSimParam.cxx:128
 AliTRDSimParam.cxx:129
 AliTRDSimParam.cxx:130
 AliTRDSimParam.cxx:131
 AliTRDSimParam.cxx:132
 AliTRDSimParam.cxx:133
 AliTRDSimParam.cxx:134
 AliTRDSimParam.cxx:135
 AliTRDSimParam.cxx:136
 AliTRDSimParam.cxx:137
 AliTRDSimParam.cxx:138
 AliTRDSimParam.cxx:139
 AliTRDSimParam.cxx:140
 AliTRDSimParam.cxx:141
 AliTRDSimParam.cxx:142
 AliTRDSimParam.cxx:143
 AliTRDSimParam.cxx:144
 AliTRDSimParam.cxx:145
 AliTRDSimParam.cxx:146
 AliTRDSimParam.cxx:147
 AliTRDSimParam.cxx:148
 AliTRDSimParam.cxx:149
 AliTRDSimParam.cxx:150
 AliTRDSimParam.cxx:151
 AliTRDSimParam.cxx:152
 AliTRDSimParam.cxx:153
 AliTRDSimParam.cxx:154
 AliTRDSimParam.cxx:155
 AliTRDSimParam.cxx:156
 AliTRDSimParam.cxx:157
 AliTRDSimParam.cxx:158
 AliTRDSimParam.cxx:159
 AliTRDSimParam.cxx:160
 AliTRDSimParam.cxx:161
 AliTRDSimParam.cxx:162
 AliTRDSimParam.cxx:163
 AliTRDSimParam.cxx:164
 AliTRDSimParam.cxx:165
 AliTRDSimParam.cxx:166
 AliTRDSimParam.cxx:167
 AliTRDSimParam.cxx:168
 AliTRDSimParam.cxx:169
 AliTRDSimParam.cxx:170
 AliTRDSimParam.cxx:171
 AliTRDSimParam.cxx:172
 AliTRDSimParam.cxx:173
 AliTRDSimParam.cxx:174
 AliTRDSimParam.cxx:175
 AliTRDSimParam.cxx:176
 AliTRDSimParam.cxx:177
 AliTRDSimParam.cxx:178
 AliTRDSimParam.cxx:179
 AliTRDSimParam.cxx:180
 AliTRDSimParam.cxx:181
 AliTRDSimParam.cxx:182
 AliTRDSimParam.cxx:183
 AliTRDSimParam.cxx:184
 AliTRDSimParam.cxx:185
 AliTRDSimParam.cxx:186
 AliTRDSimParam.cxx:187
 AliTRDSimParam.cxx:188
 AliTRDSimParam.cxx:189
 AliTRDSimParam.cxx:190
 AliTRDSimParam.cxx:191
 AliTRDSimParam.cxx:192
 AliTRDSimParam.cxx:193
 AliTRDSimParam.cxx:194
 AliTRDSimParam.cxx:195
 AliTRDSimParam.cxx:196
 AliTRDSimParam.cxx:197
 AliTRDSimParam.cxx:198
 AliTRDSimParam.cxx:199
 AliTRDSimParam.cxx:200
 AliTRDSimParam.cxx:201
 AliTRDSimParam.cxx:202
 AliTRDSimParam.cxx:203
 AliTRDSimParam.cxx:204
 AliTRDSimParam.cxx:205
 AliTRDSimParam.cxx:206
 AliTRDSimParam.cxx:207
 AliTRDSimParam.cxx:208
 AliTRDSimParam.cxx:209
 AliTRDSimParam.cxx:210
 AliTRDSimParam.cxx:211
 AliTRDSimParam.cxx:212
 AliTRDSimParam.cxx:213
 AliTRDSimParam.cxx:214
 AliTRDSimParam.cxx:215
 AliTRDSimParam.cxx:216
 AliTRDSimParam.cxx:217
 AliTRDSimParam.cxx:218
 AliTRDSimParam.cxx:219
 AliTRDSimParam.cxx:220
 AliTRDSimParam.cxx:221
 AliTRDSimParam.cxx:222
 AliTRDSimParam.cxx:223
 AliTRDSimParam.cxx:224
 AliTRDSimParam.cxx:225
 AliTRDSimParam.cxx:226
 AliTRDSimParam.cxx:227
 AliTRDSimParam.cxx:228
 AliTRDSimParam.cxx:229
 AliTRDSimParam.cxx:230
 AliTRDSimParam.cxx:231
 AliTRDSimParam.cxx:232
 AliTRDSimParam.cxx:233
 AliTRDSimParam.cxx:234
 AliTRDSimParam.cxx:235
 AliTRDSimParam.cxx:236
 AliTRDSimParam.cxx:237
 AliTRDSimParam.cxx:238
 AliTRDSimParam.cxx:239
 AliTRDSimParam.cxx:240
 AliTRDSimParam.cxx:241
 AliTRDSimParam.cxx:242
 AliTRDSimParam.cxx:243
 AliTRDSimParam.cxx:244
 AliTRDSimParam.cxx:245
 AliTRDSimParam.cxx:246
 AliTRDSimParam.cxx:247
 AliTRDSimParam.cxx:248
 AliTRDSimParam.cxx:249
 AliTRDSimParam.cxx:250
 AliTRDSimParam.cxx:251
 AliTRDSimParam.cxx:252
 AliTRDSimParam.cxx:253
 AliTRDSimParam.cxx:254
 AliTRDSimParam.cxx:255
 AliTRDSimParam.cxx:256
 AliTRDSimParam.cxx:257
 AliTRDSimParam.cxx:258
 AliTRDSimParam.cxx:259
 AliTRDSimParam.cxx:260
 AliTRDSimParam.cxx:261
 AliTRDSimParam.cxx:262
 AliTRDSimParam.cxx:263
 AliTRDSimParam.cxx:264
 AliTRDSimParam.cxx:265
 AliTRDSimParam.cxx:266
 AliTRDSimParam.cxx:267
 AliTRDSimParam.cxx:268
 AliTRDSimParam.cxx:269
 AliTRDSimParam.cxx:270
 AliTRDSimParam.cxx:271
 AliTRDSimParam.cxx:272
 AliTRDSimParam.cxx:273
 AliTRDSimParam.cxx:274
 AliTRDSimParam.cxx:275
 AliTRDSimParam.cxx:276
 AliTRDSimParam.cxx:277
 AliTRDSimParam.cxx:278
 AliTRDSimParam.cxx:279
 AliTRDSimParam.cxx:280
 AliTRDSimParam.cxx:281
 AliTRDSimParam.cxx:282
 AliTRDSimParam.cxx:283
 AliTRDSimParam.cxx:284
 AliTRDSimParam.cxx:285
 AliTRDSimParam.cxx:286
 AliTRDSimParam.cxx:287
 AliTRDSimParam.cxx:288
 AliTRDSimParam.cxx:289
 AliTRDSimParam.cxx:290
 AliTRDSimParam.cxx:291
 AliTRDSimParam.cxx:292
 AliTRDSimParam.cxx:293
 AliTRDSimParam.cxx:294
 AliTRDSimParam.cxx:295
 AliTRDSimParam.cxx:296
 AliTRDSimParam.cxx:297
 AliTRDSimParam.cxx:298
 AliTRDSimParam.cxx:299
 AliTRDSimParam.cxx:300
 AliTRDSimParam.cxx:301
 AliTRDSimParam.cxx:302
 AliTRDSimParam.cxx:303
 AliTRDSimParam.cxx:304
 AliTRDSimParam.cxx:305
 AliTRDSimParam.cxx:306
 AliTRDSimParam.cxx:307
 AliTRDSimParam.cxx:308
 AliTRDSimParam.cxx:309
 AliTRDSimParam.cxx:310
 AliTRDSimParam.cxx:311
 AliTRDSimParam.cxx:312
 AliTRDSimParam.cxx:313
 AliTRDSimParam.cxx:314
 AliTRDSimParam.cxx:315
 AliTRDSimParam.cxx:316
 AliTRDSimParam.cxx:317
 AliTRDSimParam.cxx:318
 AliTRDSimParam.cxx:319
 AliTRDSimParam.cxx:320
 AliTRDSimParam.cxx:321
 AliTRDSimParam.cxx:322
 AliTRDSimParam.cxx:323
 AliTRDSimParam.cxx:324
 AliTRDSimParam.cxx:325
 AliTRDSimParam.cxx:326
 AliTRDSimParam.cxx:327
 AliTRDSimParam.cxx:328
 AliTRDSimParam.cxx:329
 AliTRDSimParam.cxx:330
 AliTRDSimParam.cxx:331
 AliTRDSimParam.cxx:332
 AliTRDSimParam.cxx:333
 AliTRDSimParam.cxx:334
 AliTRDSimParam.cxx:335
 AliTRDSimParam.cxx:336
 AliTRDSimParam.cxx:337
 AliTRDSimParam.cxx:338
 AliTRDSimParam.cxx:339
 AliTRDSimParam.cxx:340
 AliTRDSimParam.cxx:341
 AliTRDSimParam.cxx:342
 AliTRDSimParam.cxx:343
 AliTRDSimParam.cxx:344
 AliTRDSimParam.cxx:345
 AliTRDSimParam.cxx:346
 AliTRDSimParam.cxx:347
 AliTRDSimParam.cxx:348
 AliTRDSimParam.cxx:349
 AliTRDSimParam.cxx:350
 AliTRDSimParam.cxx:351
 AliTRDSimParam.cxx:352
 AliTRDSimParam.cxx:353
 AliTRDSimParam.cxx:354
 AliTRDSimParam.cxx:355
 AliTRDSimParam.cxx:356
 AliTRDSimParam.cxx:357
 AliTRDSimParam.cxx:358
 AliTRDSimParam.cxx:359
 AliTRDSimParam.cxx:360
 AliTRDSimParam.cxx:361
 AliTRDSimParam.cxx:362
 AliTRDSimParam.cxx:363
 AliTRDSimParam.cxx:364
 AliTRDSimParam.cxx:365
 AliTRDSimParam.cxx:366
 AliTRDSimParam.cxx:367
 AliTRDSimParam.cxx:368
 AliTRDSimParam.cxx:369
 AliTRDSimParam.cxx:370
 AliTRDSimParam.cxx:371
 AliTRDSimParam.cxx:372
 AliTRDSimParam.cxx:373
 AliTRDSimParam.cxx:374
 AliTRDSimParam.cxx:375
 AliTRDSimParam.cxx:376
 AliTRDSimParam.cxx:377
 AliTRDSimParam.cxx:378
 AliTRDSimParam.cxx:379
 AliTRDSimParam.cxx:380
 AliTRDSimParam.cxx:381
 AliTRDSimParam.cxx:382
 AliTRDSimParam.cxx:383
 AliTRDSimParam.cxx:384
 AliTRDSimParam.cxx:385
 AliTRDSimParam.cxx:386
 AliTRDSimParam.cxx:387
 AliTRDSimParam.cxx:388
 AliTRDSimParam.cxx:389
 AliTRDSimParam.cxx:390
 AliTRDSimParam.cxx:391
 AliTRDSimParam.cxx:392
 AliTRDSimParam.cxx:393
 AliTRDSimParam.cxx:394
 AliTRDSimParam.cxx:395
 AliTRDSimParam.cxx:396
 AliTRDSimParam.cxx:397
 AliTRDSimParam.cxx:398
 AliTRDSimParam.cxx:399
 AliTRDSimParam.cxx:400
 AliTRDSimParam.cxx:401
 AliTRDSimParam.cxx:402
 AliTRDSimParam.cxx:403
 AliTRDSimParam.cxx:404
 AliTRDSimParam.cxx:405
 AliTRDSimParam.cxx:406
 AliTRDSimParam.cxx:407
 AliTRDSimParam.cxx:408
 AliTRDSimParam.cxx:409
 AliTRDSimParam.cxx:410
 AliTRDSimParam.cxx:411
 AliTRDSimParam.cxx:412
 AliTRDSimParam.cxx:413
 AliTRDSimParam.cxx:414
 AliTRDSimParam.cxx:415
 AliTRDSimParam.cxx:416
 AliTRDSimParam.cxx:417
 AliTRDSimParam.cxx:418
 AliTRDSimParam.cxx:419
 AliTRDSimParam.cxx:420
 AliTRDSimParam.cxx:421
 AliTRDSimParam.cxx:422
 AliTRDSimParam.cxx:423
 AliTRDSimParam.cxx:424
 AliTRDSimParam.cxx:425
 AliTRDSimParam.cxx:426
 AliTRDSimParam.cxx:427
 AliTRDSimParam.cxx:428
 AliTRDSimParam.cxx:429
 AliTRDSimParam.cxx:430
 AliTRDSimParam.cxx:431
 AliTRDSimParam.cxx:432
 AliTRDSimParam.cxx:433
 AliTRDSimParam.cxx:434
 AliTRDSimParam.cxx:435
 AliTRDSimParam.cxx:436
 AliTRDSimParam.cxx:437
 AliTRDSimParam.cxx:438
 AliTRDSimParam.cxx:439
 AliTRDSimParam.cxx:440
 AliTRDSimParam.cxx:441
 AliTRDSimParam.cxx:442
 AliTRDSimParam.cxx:443
 AliTRDSimParam.cxx:444
 AliTRDSimParam.cxx:445
 AliTRDSimParam.cxx:446
 AliTRDSimParam.cxx:447
 AliTRDSimParam.cxx:448
 AliTRDSimParam.cxx:449
 AliTRDSimParam.cxx:450
 AliTRDSimParam.cxx:451
 AliTRDSimParam.cxx:452
 AliTRDSimParam.cxx:453
 AliTRDSimParam.cxx:454
 AliTRDSimParam.cxx:455
 AliTRDSimParam.cxx:456
 AliTRDSimParam.cxx:457
 AliTRDSimParam.cxx:458
 AliTRDSimParam.cxx:459
 AliTRDSimParam.cxx:460
 AliTRDSimParam.cxx:461
 AliTRDSimParam.cxx:462
 AliTRDSimParam.cxx:463
 AliTRDSimParam.cxx:464
 AliTRDSimParam.cxx:465
 AliTRDSimParam.cxx:466
 AliTRDSimParam.cxx:467
 AliTRDSimParam.cxx:468
 AliTRDSimParam.cxx:469
 AliTRDSimParam.cxx:470
 AliTRDSimParam.cxx:471
 AliTRDSimParam.cxx:472
 AliTRDSimParam.cxx:473
 AliTRDSimParam.cxx:474
 AliTRDSimParam.cxx:475
 AliTRDSimParam.cxx:476
 AliTRDSimParam.cxx:477
 AliTRDSimParam.cxx:478
 AliTRDSimParam.cxx:479
 AliTRDSimParam.cxx:480
 AliTRDSimParam.cxx:481
 AliTRDSimParam.cxx:482
 AliTRDSimParam.cxx:483
 AliTRDSimParam.cxx:484
 AliTRDSimParam.cxx:485
 AliTRDSimParam.cxx:486
 AliTRDSimParam.cxx:487
 AliTRDSimParam.cxx:488
 AliTRDSimParam.cxx:489
 AliTRDSimParam.cxx:490
 AliTRDSimParam.cxx:491
 AliTRDSimParam.cxx:492
 AliTRDSimParam.cxx:493
 AliTRDSimParam.cxx:494
 AliTRDSimParam.cxx:495
 AliTRDSimParam.cxx:496
 AliTRDSimParam.cxx:497
 AliTRDSimParam.cxx:498
 AliTRDSimParam.cxx:499
 AliTRDSimParam.cxx:500
 AliTRDSimParam.cxx:501
 AliTRDSimParam.cxx:502
 AliTRDSimParam.cxx:503
 AliTRDSimParam.cxx:504
 AliTRDSimParam.cxx:505
 AliTRDSimParam.cxx:506
 AliTRDSimParam.cxx:507
 AliTRDSimParam.cxx:508
 AliTRDSimParam.cxx:509
 AliTRDSimParam.cxx:510
 AliTRDSimParam.cxx:511
 AliTRDSimParam.cxx:512
 AliTRDSimParam.cxx:513
 AliTRDSimParam.cxx:514
 AliTRDSimParam.cxx:515
 AliTRDSimParam.cxx:516
 AliTRDSimParam.cxx:517
 AliTRDSimParam.cxx:518
 AliTRDSimParam.cxx:519
 AliTRDSimParam.cxx:520
 AliTRDSimParam.cxx:521
 AliTRDSimParam.cxx:522
 AliTRDSimParam.cxx:523
 AliTRDSimParam.cxx:524
 AliTRDSimParam.cxx:525
 AliTRDSimParam.cxx:526
 AliTRDSimParam.cxx:527
 AliTRDSimParam.cxx:528
 AliTRDSimParam.cxx:529
 AliTRDSimParam.cxx:530