LCOV - code coverage report
Current view: top level - HLT/TPCLib/tracking-ca - AliHLTTPCCATrackConvertor.cxx (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 29 0.0 %
Date: 2016-06-14 17:26:59 Functions: 0 2 0.0 %

          Line data    Source code
       1             : // $Id: AliHLTTPCCATrackConvertor.cxx 27042 2008-07-02 12:06:02Z richterm $
       2             : // **************************************************************************
       3             : // This file is property of and copyright by the ALICE HLT Project          *
       4             : // ALICE Experiment at CERN, All rights reserved.                           *
       5             : //                                                                          *
       6             : // Primary Authors: Sergey Gorbunov <sergey.gorbunov@kip.uni-heidelberg.de> *
       7             : //                  Ivan Kisel <kisel@kip.uni-heidelberg.de>                *
       8             : //                  for The ALICE HLT Project.                              *
       9             : //                                                                          *
      10             : // Permission to use, copy, modify and distribute this software and its     *
      11             : // documentation strictly for non-commercial purposes is hereby granted     *
      12             : // without fee, provided that the above copyright notice appears in all     *
      13             : // copies and that both the copyright notice and this permission notice     *
      14             : // appear in the supporting documentation. The authors make no claims       *
      15             : // about the suitability of this software for any purpose. It is            *
      16             : // provided "as is" without express or implied warranty.                    *
      17             : //                                                                          *
      18             : //***************************************************************************
      19             : 
      20             : 
      21             : #include "AliHLTTPCCATrackConvertor.h"
      22             : #include "AliExternalTrackParam.h"
      23             : #include "AliHLTTPCCATrackParam.h"
      24             : #include "AliHLTTPCCAMath.h"
      25             : 
      26             : 
      27             : bool AliHLTTPCCATrackConvertor::GetExtParam( const AliHLTTPCCATrackParam &T1, AliExternalTrackParam &T2, double alpha )
      28             : {
      29             :   //* Convert from AliHLTTPCCATrackParam to AliExternalTrackParam parameterisation,
      30             :   //* the angle alpha is the global angle of the local X axis
      31             : 
      32           0 :   bool ok = T1.CheckNumericalQuality();
      33             : 
      34           0 :   double par[5], cov[15];
      35           0 :   for ( int i = 0; i < 5; i++ ) par[i] = T1.GetPar()[i];
      36           0 :   for ( int i = 0; i < 15; i++ ) cov[i] = T1.GetCov()[i];
      37             : 
      38           0 :   if ( par[2] > .99 ) par[2] = .99;
      39           0 :   if ( par[2] < -.99 ) par[2] = -.99;
      40             : 
      41           0 :   if ( T1.GetSignCosPhi() < 0 ) { // change direction
      42           0 :     par[2] = -par[2]; // sin phi
      43           0 :     par[3] = -par[3]; // DzDs
      44           0 :     par[4] = -par[4]; // kappa
      45           0 :     cov[3] = -cov[3];
      46           0 :     cov[4] = -cov[4];
      47           0 :     cov[6] = -cov[6];
      48           0 :     cov[7] = -cov[7];
      49           0 :     cov[10] = -cov[10];
      50           0 :     cov[11] = -cov[11];
      51           0 :   }
      52             : 
      53           0 :   if ( CAMath::Abs( par[4] ) < 1.e-5 ) par[4] = 1.e-5; // some other software will crash if q/Pt==0
      54           0 :   if ( CAMath::Abs( par[4] ) > 1./0.08 ) ok = 0; // some other software will crash if q/Pt is too big
      55             : 
      56           0 :   T2.Set( ( double ) T1.GetX(), alpha, par, cov );
      57             : 
      58           0 :   return ok;
      59           0 : }
      60             : 
      61             : void AliHLTTPCCATrackConvertor::SetExtParam( AliHLTTPCCATrackParam &T1, const AliExternalTrackParam &T2 )
      62             : {
      63             :   //* Convert from AliExternalTrackParam parameterisation
      64             : 
      65           0 :   for ( int i = 0; i < 5; i++ ) T1.SetPar( i, T2.GetParameter()[i] );
      66           0 :   for ( int i = 0; i < 15; i++ ) T1.SetCov( i, T2.GetCovariance()[i] );
      67           0 :   T1.SetX( T2.GetX() );
      68           0 :   if ( T1.SinPhi() > .99 ) T1.SetSinPhi( .99 );
      69           0 :   if ( T1.SinPhi() < -.99 ) T1.SetSinPhi( -.99 );
      70           0 :   T1.SetSignCosPhi( 1 );
      71           0 : }
      72             : 

Generated by: LCOV version 1.11