]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/tracking-ca/AliHLTTPCCATrackPar.h
get rid of compilation warning
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCATrackPar.h
1 //-*- Mode: C++ -*-
2 // @(#) $Id$
3 //*************************************************************************
4 // This file is property of and copyright by the ALICE HLT Project        * 
5 // ALICE Experiment at CERN, All rights reserved.                         *
6 //                                                                        *
7 // Primary Authors: Jochen Thaeder <thaeder@kip.uni-heidelberg.de>        *
8 //                  Ivan Kisel <kisel@kip.uni-heidelberg.de>              *
9 //                  for The ALICE HLT Project.                            *
10 //                                                                        *
11 // Permission to use, copy, modify and distribute this software and its   *
12 // documentation strictly for non-commercial purposes is hereby granted   *
13 // without fee, provided that the above copyright notice appears in all   *
14 // copies and that both the copyright notice and this permission notice   *
15 // appear in the supporting documentation. The authors make no claims     *
16 // about the suitability of this software for any purpose. It is          *
17 // provided "as is" without express or implied warranty.                  *
18 //*************************************************************************
19
20
21 #ifndef ALIHLTTPCCATRACKPAR_H
22 #define ALIHLTTPCCATRACKPAR_H
23
24 #include "Rtypes.h"
25
26 /**
27  * @class AliHLTTPCCATrackPar
28  *
29  * AliHLTTPCCATrackPar class describes the track parametrisation
30  * which is used by the AliHLTTPCCATracker slice tracker.
31  * The class is under development.
32  *
33  */
34 class AliHLTTPCCATrackPar 
35 {
36  public:
37
38   AliHLTTPCCATrackPar(): fChi2(0), fNDF(0){}
39   virtual ~AliHLTTPCCATrackPar(){}
40
41   Double_t *Par(){ return fP; }
42   Double_t *Cov(){ return fC; }
43   Double_t &Chi2(){ return fChi2; }
44   Int_t &NDF(){ return fNDF; }
45
46   void Init();
47   void Normalize( Double_t Direction[3]=0 );
48
49   void TransportBz( Double_t Bz, Double_t S );
50   void TransportBz( Double_t Bz, Double_t S, Double_t *T0 );
51
52   Double_t GetDsToPointBz( Double_t Bz, const Double_t xyz[3] ) const;
53   Double_t GetDsToPointBz( Double_t Bz, const Double_t xyz[3], const Double_t *T0 ) const;
54
55   void TransportBz( Double_t Bz, const Double_t xyz[3] )
56   { 
57     TransportBz( Bz,GetDsToPointBz(Bz, xyz)) ; 
58   }
59
60   void TransportBz( Double_t Bz, const Double_t xyz[3], Double_t *T0 )
61   { 
62     TransportBz( Bz,GetDsToPointBz(Bz, xyz, T0), T0) ; 
63   }
64
65   void TransportBz( Double_t Bz, Double_t x, Double_t y, Double_t z )
66   { 
67     Double_t xyz[3] = {x,y,z};
68     TransportBz(Bz, xyz);
69   }
70
71   void GetConnectionMatrix( Double_t Bz, const Double_t p[3], Double_t G[6], const Double_t *T0  ) const ;
72
73   void GetConnectionMatrix( Double_t Bz, const Double_t p[3], Double_t G[6] ) const 
74   {
75     GetConnectionMatrix( Bz, p, G, fP );
76   }
77
78   void Filter( const Double_t m[3], const Double_t V[6], const Double_t V1[6] );
79   void Rotate( Double_t alpha );
80   void ConvertTo5( Double_t alpha, Double_t T[], Double_t C[] ) const;
81
82  private:
83
84   Double_t fP[7];  // track parameters:  X, Y, Z, ex, ey, ez, q/P
85   Double_t fC[28]; // the covariance matrix in the low-triangular form
86   Double_t fChi2;  // the chi^2 value
87   Int_t fNDF;      // the Number of Degrees of Freedom
88
89   ClassDef(AliHLTTPCCATrackPar, 0);
90
91 };
92
93
94 #endif