StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
AliHLTTPCCATrackLinearisation.h
1 // ************************************************************************
2 // This file is property of and copyright by the ALICE HLT Project *
3 // ALICE Experiment at CERN, All rights reserved. *
4 // See cxx source for full Copyright notice *
5 // *
6 //*************************************************************************
7 
8 
9 #ifndef ALIHLTTPCCATRACKLINEARISATION_H
10 #define ALIHLTTPCCATRACKLINEARISATION_H
11 
12 #include "AliHLTTPCCATrackParam.h"
13 
14 
30 {
31  public:
32 
34  : fSinPhi( 0 ), fCosPhi( 1 ), fDzDs( 0 ), fQPt( 0 ) {}
35 
36  AliHLTTPCCATrackLinearisation( float SinPhi1, float CosPhi1, float DzDs1, float QPt1 )
37  : fSinPhi( SinPhi1 ), fCosPhi( CosPhi1 ), fDzDs( DzDs1 ), fQPt( QPt1 ) {}
38 
40 
41  void Set( float SinPhi1, float CosPhi1, float DzDs1, float QPt1 );
42 
43 
44  float SinPhi()const { return fSinPhi; }
45  float CosPhi()const { return fCosPhi; }
46  float DzDs() const { return fDzDs; }
47  float QPt() const { return fQPt; }
48 
49  float GetSinPhi()const { return fSinPhi; }
50  float GetCosPhi()const { return fCosPhi; }
51  float GetDzDs() const { return fDzDs; }
52  float GetQPt() const { return fQPt; }
53 
54  void SetSinPhi( float v ) { fSinPhi = v; }
55  void SetCosPhi( float v ) { fCosPhi = v; }
56  void SetDzDs( float v ) { fDzDs = v; }
57  void SetQPt( float v ) { fQPt = v; }
58 
59  private:
60 
61  float fSinPhi; // SinPhi
62  float fCosPhi; // CosPhi
63  float fDzDs; // DzDs
64  float fQPt; // QPt
65 };
66 
67 
68 inline AliHLTTPCCATrackLinearisation::AliHLTTPCCATrackLinearisation( const AliHLTTPCCATrackParam &t )
69  : fSinPhi( CAMath::Min( .999f, CAMath::Max( -.999f, t.SinPhi() ) ) ),
70  fCosPhi( t.SignCosPhi() * CAMath::Sqrt( 1.f - fSinPhi * fSinPhi ) ),
71  fDzDs( t.DzDs() ), fQPt( t.QPt() )
72 {
73 }
74 
75 
76 inline void AliHLTTPCCATrackLinearisation::Set( float SinPhi1, float CosPhi1,
77  float DzDs1, float QPt1 )
78 {
79  SetSinPhi( SinPhi1 );
80  SetCosPhi( CosPhi1 );
81  SetDzDs( DzDs1 );
82  SetQPt( QPt1 );
83 }
84 
85 #endif