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 AliMUONTrackParam
//-------------------------
// Track parameters in ALICE dimuon spectrometer
//-----------------------------------------------------------------------------

#include "AliMUONTrackParam.h"
#include "AliMUONVCluster.h"

#include "AliLog.h"

#include <TMath.h>

#include <Riostream.h>

using std::setw;
using std::setprecision;
using std::endl;
using std::cout;
/// \cond CLASSIMP
ClassImp(AliMUONTrackParam) // Class implementation in ROOT context
/// \endcond

  //_________________________________________________________________________
AliMUONTrackParam::AliMUONTrackParam()
  : TObject(),
    fZ(0.),
    fParameters(5,1),
    fCovariances(0x0),
    fPropagator(0x0),
    fExtrapParameters(0x0),
    fExtrapCovariances(0x0),
    fSmoothParameters(0x0),
    fSmoothCovariances(0x0),
    fClusterPtr(0x0),
    fOwnCluster(kFALSE),
    fRemovable(kFALSE),
    fTrackChi2(0.),
    fLocalChi2(0.)
{
  /// Constructor
  fParameters.Zero();
}

  //_________________________________________________________________________
AliMUONTrackParam::AliMUONTrackParam(const AliMUONTrackParam& theMUONTrackParam)
  : TObject(theMUONTrackParam),
    fZ(theMUONTrackParam.fZ),
    fParameters(theMUONTrackParam.fParameters),
    fCovariances(0x0),
    fPropagator(0x0),
    fExtrapParameters(0x0),
    fExtrapCovariances(0x0),
    fSmoothParameters(0x0),
    fSmoothCovariances(0x0),
    fClusterPtr(0x0),
    fOwnCluster(theMUONTrackParam.fOwnCluster),
    fRemovable(theMUONTrackParam.fRemovable),
    fTrackChi2(theMUONTrackParam.fTrackChi2),
    fLocalChi2(theMUONTrackParam.fLocalChi2)
{
  /// Copy constructor
  if (theMUONTrackParam.fCovariances) fCovariances = new TMatrixD(*(theMUONTrackParam.fCovariances));
  if (theMUONTrackParam.fPropagator) fPropagator = new TMatrixD(*(theMUONTrackParam.fPropagator));
  if (theMUONTrackParam.fExtrapParameters) fExtrapParameters = new TMatrixD(*(theMUONTrackParam.fExtrapParameters));
  if (theMUONTrackParam.fExtrapCovariances) fExtrapCovariances = new TMatrixD(*(theMUONTrackParam.fExtrapCovariances));
  if (theMUONTrackParam.fSmoothParameters) fSmoothParameters = new TMatrixD(*(theMUONTrackParam.fSmoothParameters));
  if (theMUONTrackParam.fSmoothCovariances) fSmoothCovariances = new TMatrixD(*(theMUONTrackParam.fSmoothCovariances));
  
  if(fOwnCluster) fClusterPtr = static_cast<AliMUONVCluster*>(theMUONTrackParam.fClusterPtr->Clone());
  else fClusterPtr = theMUONTrackParam.fClusterPtr;
}

  //_________________________________________________________________________
AliMUONTrackParam& AliMUONTrackParam::operator=(const AliMUONTrackParam& theMUONTrackParam)
{
  /// Asignment operator
  if (this == &theMUONTrackParam)
    return *this;

  // base class assignement
  TObject::operator=(theMUONTrackParam);

  fZ = theMUONTrackParam.fZ; 
  
  fParameters = theMUONTrackParam.fParameters;
  
  if (theMUONTrackParam.fCovariances) {
    if (fCovariances) *fCovariances = *(theMUONTrackParam.fCovariances);
    else fCovariances = new TMatrixD(*(theMUONTrackParam.fCovariances));
  } else {
    delete fCovariances;
    fCovariances = 0x0;
  }
  
  if (theMUONTrackParam.fPropagator) {
    if (fPropagator) *fPropagator = *(theMUONTrackParam.fPropagator);
    else fPropagator = new TMatrixD(*(theMUONTrackParam.fPropagator));
  } else {
    delete fPropagator;
    fPropagator = 0x0;
  }
  
  if (theMUONTrackParam.fExtrapParameters) {
    if (fExtrapParameters) *fExtrapParameters = *(theMUONTrackParam.fExtrapParameters);
    else fExtrapParameters = new TMatrixD(*(theMUONTrackParam.fExtrapParameters));
  } else {
    delete fExtrapParameters;
    fExtrapParameters = 0x0;
  }
  
  if (theMUONTrackParam.fExtrapCovariances) {
    if (fExtrapCovariances) *fExtrapCovariances = *(theMUONTrackParam.fExtrapCovariances);
    else fExtrapCovariances = new TMatrixD(*(theMUONTrackParam.fExtrapCovariances));
  } else {
    delete fExtrapCovariances;
    fExtrapCovariances = 0x0;
  }
  
  if (theMUONTrackParam.fSmoothParameters) {
    if (fSmoothParameters) *fSmoothParameters = *(theMUONTrackParam.fSmoothParameters);
    else fSmoothParameters = new TMatrixD(*(theMUONTrackParam.fSmoothParameters));
  } else {
    delete fSmoothParameters;
    fSmoothParameters = 0x0;
  }
  
  if (theMUONTrackParam.fSmoothCovariances) {
    if (fSmoothCovariances) *fSmoothCovariances = *(theMUONTrackParam.fSmoothCovariances);
    else fSmoothCovariances = new TMatrixD(*(theMUONTrackParam.fSmoothCovariances));
  } else {
    delete fSmoothCovariances;
    fSmoothCovariances = 0x0;
  }
  
  if (fOwnCluster) delete fClusterPtr;
  fOwnCluster = theMUONTrackParam.fOwnCluster;
  if(fOwnCluster) fClusterPtr = static_cast<AliMUONVCluster*>(theMUONTrackParam.fClusterPtr->Clone());
  else fClusterPtr = theMUONTrackParam.fClusterPtr;
  
  fRemovable = theMUONTrackParam.fRemovable;
  
  fTrackChi2 = theMUONTrackParam.fTrackChi2;
  fLocalChi2 = theMUONTrackParam.fLocalChi2;
  
  return *this;
}

  //__________________________________________________________________________
AliMUONTrackParam::~AliMUONTrackParam()
{
/// Destructor
  DeleteCovariances();
  delete fPropagator;
  delete fExtrapParameters;
  delete fExtrapCovariances;
  delete fSmoothParameters;
  delete fSmoothCovariances;
  if(fOwnCluster) delete fClusterPtr;
}

  //__________________________________________________________________________
void
AliMUONTrackParam::Clear(Option_t* /*opt*/)
{
  /// clear memory
  DeleteCovariances();
  delete fPropagator; fPropagator = 0x0;
  delete fExtrapParameters; fExtrapParameters = 0x0;
  delete fExtrapCovariances; fExtrapCovariances = 0x0;
  delete fSmoothParameters; fSmoothParameters = 0x0;
  delete fSmoothCovariances; fSmoothCovariances = 0x0;
  if(fOwnCluster) {
    delete fClusterPtr; fClusterPtr = 0x0;
  }
}

  //__________________________________________________________________________
Double_t AliMUONTrackParam::Px() const
{
  /// return p_x from track parameters
  Double_t pZ;
  if (TMath::Abs(fParameters(4,0)) > 0) {
    Double_t pYZ = (TMath::Abs(fParameters(4,0)) > 0) ? TMath::Abs(1.0 / fParameters(4,0)) : FLT_MAX;
    pZ = - pYZ / (TMath::Sqrt(1.0 + fParameters(3,0) * fParameters(3,0)));  // spectro. (z<0)
  } else {
    pZ = - FLT_MAX / TMath::Sqrt(1.0 + fParameters(3,0) * fParameters(3,0) + fParameters(1,0) * fParameters(1,0));
  }
  return pZ * fParameters(1,0); 
}

  //__________________________________________________________________________
Double_t AliMUONTrackParam::Py() const
{
  /// return p_y from track parameters
  Double_t pZ;
  if (TMath::Abs(fParameters(4,0)) > 0) {
    Double_t pYZ = (TMath::Abs(fParameters(4,0)) > 0) ? TMath::Abs(1.0 / fParameters(4,0)) : FLT_MAX;
    pZ = - pYZ / (TMath::Sqrt(1.0 + fParameters(3,0) * fParameters(3,0)));  // spectro. (z<0)
  } else {
    pZ = - FLT_MAX / TMath::Sqrt(1.0 + fParameters(3,0) * fParameters(3,0) + fParameters(1,0) * fParameters(1,0));
  }
  return pZ * fParameters(3,0); 
}

  //__________________________________________________________________________
Double_t AliMUONTrackParam::Pz() const
{
  /// return p_z from track parameters
  if (TMath::Abs(fParameters(4,0)) > 0) {
    Double_t pYZ = TMath::Abs(1.0 / fParameters(4,0));
    return - pYZ / (TMath::Sqrt(1.0 + fParameters(3,0) * fParameters(3,0)));  // spectro. (z<0)
  } else return - FLT_MAX / TMath::Sqrt(1.0 + fParameters(3,0) * fParameters(3,0) + fParameters(1,0) * fParameters(1,0));
}

  //__________________________________________________________________________
Double_t AliMUONTrackParam::P() const
{
  /// return p from track parameters
  if (TMath::Abs(fParameters(4,0)) > 0) {
    Double_t pYZ = TMath::Abs(1.0 / fParameters(4,0));
    Double_t pZ = - pYZ / (TMath::Sqrt(1.0 + fParameters(3,0) * fParameters(3,0)));  // spectro. (z<0)
    return - pZ * TMath::Sqrt(1.0 + fParameters(3,0) * fParameters(3,0) + fParameters(1,0) * fParameters(1,0));
  } else return FLT_MAX;
}

  //__________________________________________________________________________
const TMatrixD& AliMUONTrackParam::GetCovariances() const
{
  /// Return the covariance matrix (create it before if needed)
  if (!fCovariances) {
    fCovariances = new TMatrixD(5,5);
    fCovariances->Zero();
  }
  return *fCovariances;
}

  //__________________________________________________________________________
void AliMUONTrackParam::SetCovariances(const TMatrixD& covariances)
{
  /// Set the covariance matrix
  if (fCovariances) *fCovariances = covariances;
  else fCovariances = new TMatrixD(covariances);
}

  //__________________________________________________________________________
void AliMUONTrackParam::SetCovariances(const Double_t matrix[5][5])
{
  /// Set the covariance matrix
  if (fCovariances) fCovariances->SetMatrixArray(&(matrix[0][0]));
  else fCovariances = new TMatrixD(5,5,&(matrix[0][0]));
}

  //__________________________________________________________________________
void AliMUONTrackParam::SetVariances(const Double_t matrix[5][5])
{
  /// Set the diagonal terms of the covariance matrix (variances)
  if (!fCovariances) fCovariances = new TMatrixD(5,5);
  fCovariances->Zero();
  for (Int_t i=0; i<5; i++) (*fCovariances)(i,i) = matrix[i][i];
}

  //__________________________________________________________________________
void AliMUONTrackParam::DeleteCovariances()
{
  /// Delete the covariance matrix
  delete fCovariances;
  fCovariances = 0x0;
}

  //__________________________________________________________________________
const TMatrixD& AliMUONTrackParam::GetPropagator() const
{
  /// Return the propagator (create it before if needed)
  if (!fPropagator) {
    fPropagator = new TMatrixD(5,5);
    fPropagator->UnitMatrix();
  }
  return *fPropagator;
}

  //__________________________________________________________________________
void AliMUONTrackParam::ResetPropagator()
{
  /// Reset the propagator
  if (fPropagator) fPropagator->UnitMatrix();
}

  //__________________________________________________________________________
void AliMUONTrackParam::UpdatePropagator(const TMatrixD& propagator)
{
  /// Update the propagator
  if (fPropagator) *fPropagator = TMatrixD(propagator,TMatrixD::kMult,*fPropagator);
  else fPropagator = new TMatrixD(propagator);
}

  //__________________________________________________________________________
const TMatrixD& AliMUONTrackParam::GetExtrapParameters() const
{
  /// Return extrapolated parameters (create it before if needed)
  if (!fExtrapParameters) {
    fExtrapParameters = new TMatrixD(5,1);
    fExtrapParameters->Zero();
  }
  return *fExtrapParameters;
  }

  //__________________________________________________________________________
void AliMUONTrackParam::SetExtrapParameters(const TMatrixD& extrapParameters)
{
  /// Set extrapolated parameters
  if (fExtrapParameters) *fExtrapParameters = extrapParameters;
  else fExtrapParameters = new TMatrixD(extrapParameters);
}

  //__________________________________________________________________________
const TMatrixD& AliMUONTrackParam::GetExtrapCovariances() const
{
  /// Return the extrapolated covariance matrix (create it before if needed)
  if (!fExtrapCovariances) {
    fExtrapCovariances = new TMatrixD(5,5);
    fExtrapCovariances->Zero();
  }
  return *fExtrapCovariances;
  }

  //__________________________________________________________________________
void AliMUONTrackParam::SetExtrapCovariances(const TMatrixD& extrapCovariances)
{
  /// Set the extrapolated covariance matrix
  if (fExtrapCovariances) *fExtrapCovariances = extrapCovariances;
  else fExtrapCovariances = new TMatrixD(extrapCovariances);
}

  //__________________________________________________________________________
const TMatrixD& AliMUONTrackParam::GetSmoothParameters() const
{
  /// Return the smoothed parameters (create it before if needed)
  if (!fSmoothParameters) {
    fSmoothParameters = new TMatrixD(5,1);
    fSmoothParameters->Zero();
  }
  return *fSmoothParameters;
  }

  //__________________________________________________________________________
void AliMUONTrackParam::SetSmoothParameters(const TMatrixD& smoothParameters)
{
  /// Set the smoothed parameters
  if (fSmoothParameters) *fSmoothParameters = smoothParameters;
  else fSmoothParameters = new TMatrixD(smoothParameters);
}

  //__________________________________________________________________________
const TMatrixD& AliMUONTrackParam::GetSmoothCovariances() const
{
  /// Return the smoothed covariance matrix (create it before if needed)
  if (!fSmoothCovariances) {
    fSmoothCovariances = new TMatrixD(5,5);
    fSmoothCovariances->Zero();
  }
  return *fSmoothCovariances;
  }

  //__________________________________________________________________________
void AliMUONTrackParam::SetSmoothCovariances(const TMatrixD& smoothCovariances)
{
  /// Set the smoothed covariance matrix
  if (fSmoothCovariances) *fSmoothCovariances = smoothCovariances;
  else fSmoothCovariances = new TMatrixD(smoothCovariances);
}

//__________________________________________________________________________
void AliMUONTrackParam::SetClusterPtr(AliMUONVCluster* cluster, Bool_t owner)
{
  /// set pointeur to associated cluster
  if (fOwnCluster) delete fClusterPtr;
  fClusterPtr = cluster;
  fOwnCluster = owner;
}

  //__________________________________________________________________________
Int_t AliMUONTrackParam::Compare(const TObject* trackParam) const
{
  /// "Compare" function to sort with decreasing Z (spectro. muon Z <0).
  /// Returns 1 (0, -1) if the current Z
  /// is smaller than (equal to, larger than) Z of trackParam
  if (fZ < ((AliMUONTrackParam*)trackParam)->GetZ()) return(1);
  else if (fZ == ((AliMUONTrackParam*)trackParam)->GetZ()) return(0);
  else return(-1);
}

  //__________________________________________________________________________
Bool_t AliMUONTrackParam::CompatibleTrackParam(const AliMUONTrackParam &trackParam, Double_t sigma2Cut, Double_t &chi2) const
{
  /// Return kTRUE if the two set of track parameters are compatible within sigma2Cut
  /// Set chi2 to the compatible chi2 value
  /// Note that parameter covariances must exist for at least one set of parameters
  /// Note also that if parameters are not given at the same Z, results will be meaningless
  
  // reset chi2 value
  chi2 = 0.;
  
  // ckeck covariance matrices
  if (!fCovariances && !trackParam.fCovariances) {
    AliError("Covariance matrix must exist for at least one set of parameters");
    return kFALSE;
  }
  
  Double_t maxChi2 = 5. * sigma2Cut * sigma2Cut; // 5 degrees of freedom
  
  // check Z parameters
  if (fZ != trackParam.fZ)
    AliWarning(Form("Parameters are given at different Z position (%e : %e): results are meaningless", fZ, trackParam.fZ));
  
  // compute the parameter residuals
  TMatrixD deltaParam(fParameters, TMatrixD::kMinus, trackParam.fParameters);
  
  // build the error matrix
  TMatrixD weight(5,5);
  if (fCovariances) weight += *fCovariances;
  if (trackParam.fCovariances) weight += *(trackParam.fCovariances);
  
  // invert the error matrix to get the parameter weights if possible
  if (weight.Determinant() == 0) {
    AliError("Cannot compute the compatibility chi2");
    return kFALSE;
  }
  weight.Invert();
  
  // compute the compatibility chi2
  TMatrixD tmp(deltaParam, TMatrixD::kTransposeMult, weight);
  TMatrixD mChi2(tmp, TMatrixD::kMult, deltaParam);
  
  // set chi2 value
  chi2 = mChi2(0,0);
  
  // check compatibility
  if (chi2 > maxChi2) return kFALSE;
  
  return kTRUE;
}

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