Fork me on GitHub

source: git/external/TrackCovariance/TrkUtil.h@ a617744

Last change on this file since a617744 was a617744, checked in by michele <michele.selvaggi@…>, 3 years ago

adding latest TrackCovariance libraries (F. Bedeschi)

  • Property mode set to 100644
File size: 1.4 KB
Line 
1//
2#ifndef G__TRKUTIL_H
3#define G__TRKUTIL_H
4//
5#include <TVector3.h>
6#include <TVectorD.h>
7#include <TMatrixDSym.h>
8//
9//
10// Class test
11
12class TrkUtil {
13 //
14 //
15protected:
16 Double_t fBz; // Solenoid magnetic field
17 //
18 // Service routines
19 //
20 void SetBfield(Double_t Bz) { fBz = Bz; }
21 TVectorD XPtoPar(TVector3 x, TVector3 p, Double_t Q);
22 TVector3 ParToX(TVectorD Par);
23 TVector3 ParToP(TVectorD Par);
24 Double_t ParToQ(TVectorD Par);
25 //
26 // Conversion to ACTS parametrization
27 //
28 TVectorD ParToACTS(TVectorD Par); // Parameter conversion
29 TMatrixDSym CovToACTS(TVectorD Par, TMatrixDSym Cov); // Covariance conversion
30 //
31 // Conversion to ILC parametrization
32 //
33 TVectorD ParToILC(TVectorD Par); // Parameter conversion
34 TMatrixDSym CovToILC(TMatrixDSym Cov); // Covariance conversion
35
36public:
37 //
38 // Constructors
39 TrkUtil();
40 TrkUtil(Double_t Bz);
41 // Destructor
42 ~TrkUtil();
43 //
44 // Overload methods to allow call without instantiating class
45 //
46 static Double_t cSpeed()
47 {
48 return TMath::C()*1.0e-9; // Reduced speed of light
49 }
50 //
51 // Service routines
52 //
53 static TVectorD XPtoPar(TVector3 x, TVector3 p, Double_t Q, Double_t Bz);
54 //
55 // Conversion from meters to mm
56 //
57 static TVectorD ParToMm(TVectorD Par); // Parameter conversion
58 static TMatrixDSym CovToMm(TMatrixDSym Cov); // Covariance conversion
59
60};
61
62#endif
Note: See TracBrowser for help on using the repository browser.