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

          Line data    Source code
       1             : //-*- Mode: C++ -*-
       2             : // $Id: AliHLTTPCCABaseTrackParam.h 35151 2009-10-01 13:35:10Z sgorbuno $
       3             : // ************************************************************************
       4             : // This file is property of and copyright by the ALICE HLT Project        *
       5             : // ALICE Experiment at CERN, All rights reserved.                         *
       6             : // See cxx source for full Copyright notice                               *
       7             : //                                                                        *
       8             : //*************************************************************************
       9             : 
      10             : 
      11             : #ifndef ALIHLTTPCCABASETRACKPARAM_H
      12             : #define ALIHLTTPCCABASETRACKPARAM_H
      13             : 
      14             : #include "AliHLTTPCCADef.h"
      15             : MEM_CLASS_PRE() class AliHLTTPCCATrackParam;
      16             : 
      17             : /**
      18             :  * @class AliHLTTPCCABaseTrackParam
      19             :  *
      20             :  * AliHLTTPCCABaseTrackParam class contains track parameters 
      21             :  * used in output of the AliHLTTPCCATracker slice tracker.
      22             :  * This class is used for transfer between tracker and merger and does not contain the covariance matrice
      23             :  */
      24             : MEM_CLASS_PRE() class AliHLTTPCCABaseTrackParam
      25             : {
      26             :   public:
      27             : 
      28           0 :     GPUd() float X()      const { return fX;    }
      29           0 :     GPUd() float Y()      const { return fP[0]; }
      30           0 :     GPUd() float Z()      const { return fP[1]; }
      31           0 :     GPUd() float SinPhi() const { return fP[2]; }
      32           0 :     GPUd() float DzDs()   const { return fP[3]; }
      33           0 :     GPUd() float QPt()    const { return fP[4]; }
      34             : 
      35           0 :     GPUhd() float GetX()      const { return fX; }
      36           0 :     GPUhd() float GetY()      const { return fP[0]; }
      37           0 :     GPUhd() float GetZ()      const { return fP[1]; }
      38           0 :     GPUhd() float GetSinPhi() const { return fP[2]; }
      39           0 :     GPUhd() float GetDzDs()   const { return fP[3]; }
      40           0 :     GPUhd() float GetQPt()    const { return fP[4]; }
      41             : 
      42           0 :     GPUd() float GetKappa( float Bz ) const { return -fP[4]*Bz; }
      43             : 
      44           0 :     GPUhd() MakeType(const float*) Par() const { return fP; }
      45           0 :     GPUd() const MakeType(float*) GetPar() const { return fP; }
      46           0 :         GPUd() float GetPar(int i) const { return(fP[i]); }
      47             : 
      48           0 :     GPUhd() void SetPar( int i, float v ) { fP[i] = v; }
      49             : 
      50           0 :     GPUd() void SetX( float v )     {  fX = v;    }
      51           0 :     GPUd() void SetY( float v )     {  fP[0] = v; }
      52           0 :     GPUd() void SetZ( float v )     {  fP[1] = v; }
      53           0 :     GPUd() void SetSinPhi( float v ) {  fP[2] = v; }
      54           0 :     GPUd() void SetDzDs( float v )  {  fP[3] = v; }
      55           0 :     GPUd() void SetQPt( float v )   {  fP[4] = v; }
      56             : 
      57             :   private:
      58             :         //WARNING, Track Param Data is copied in the GPU Tracklet Constructor element by element instead of using copy constructor!!!
      59             :         //This is neccessary for performance reasons!!!
      60             :         //Changes to Elements of this class therefore must also be applied to TrackletConstructor!!!
      61             :     float fX;      // x position
      62             :     float fP[5];   // 'active' track parameters: Y, Z, SinPhi, DzDs, q/Pt
      63             : };
      64             : 
      65             : #endif 

Generated by: LCOV version 1.11