40 |
|
|
41 |
|
namespace mitedm |
42 |
|
{ |
43 |
< |
// Define existing track parameter conventions |
44 |
< |
enum TrackConvention { iCms, iMvf }; |
43 |
> |
enum TrackConvention { // Define existing track parameter conventions |
44 |
> |
|
45 |
> |
iCms, |
46 |
> |
iMvf |
47 |
> |
}; |
48 |
|
|
49 |
|
// Declare the track parameter class |
50 |
|
class TrackParameters |
51 |
|
{ |
52 |
|
public: |
53 |
|
TrackParameters() {} |
54 |
< |
TrackParameters(const reco::Track *trk, TrackConvention tcv = iCms, double bField = 3.8); |
54 |
> |
TrackParameters(const reco::Track *trk, TrackConvention tcv = iCms, double bField = 3.8); |
55 |
|
TrackParameters(const TrackParameters &trk); |
56 |
|
~TrackParameters() {}; |
57 |
|
|
58 |
|
// Access the specific contents |
59 |
< |
const TVectorD *pars () const { return &pars_; }; |
60 |
< |
double pars (int i) const { return pars_[i]; }; |
61 |
< |
const TMatrixDSym *cMat () const { return &cMat_; }; |
62 |
< |
double cMat (int i, int j) const { return cMat_(i,j); }; |
59 |
> |
const TVectorD *pars() const { return &pars_; }; |
60 |
> |
double pars(int i) const { return pars_[i]; }; |
61 |
> |
const TMatrixDSym *cMat() const { return &cMat_; }; |
62 |
> |
double cMat(int i, int j) const { return cMat_(i,j); }; |
63 |
|
|
64 |
|
// Access the different parametrizations independently of the local storage |
65 |
|
TrackParameters cmsTrack() const; |
66 |
|
TrackParameters mvfTrack() const; |
67 |
|
|
68 |
< |
void setPars (int i, double v) { pars_(i) = v; } |
69 |
< |
void setCMat (int i, int j, double v) { cMat_(i,j) = v; } |
70 |
< |
void addCMat (int i, int j, double v) { cMat_(i,j) += v; } |
68 |
> |
void setPars(int i, double v) { pars_(i) = v; } |
69 |
> |
void setCMat(int i, int j, double v) { cMat_(i,j) = v; } |
70 |
> |
void addCMat(int i, int j, double v) { cMat_(i,j) += v; } |
71 |
|
|
72 |
|
// Utilities |
73 |
< |
void print () const; |
73 |
> |
void print() const; |
74 |
|
|
75 |
|
private: |
76 |
< |
TrackConvention iConvention_; // track parameter convention (def. CMS) |
77 |
< |
double bField_; // magnetic field in Tesla |
78 |
< |
double fCurv_; // combined curvature constant |
79 |
< |
TVectorD pars_; // track paramters (helix) |
80 |
< |
TMatrixDSym cMat_; // corresponding covariance matrix (sig_i * sig_j) |
76 |
> |
TrackConvention iConvention_; //track parameter convention (def. CMS) |
77 |
> |
double bField_; //magnetic field in Tesla |
78 |
> |
double fCurv_; //combined curvature constant |
79 |
> |
TVectorD pars_; //track paramters (helix) |
80 |
> |
TMatrixDSym cMat_; //corresponding covariance matrix (sig_i * sig_j) |
81 |
|
}; |
82 |
|
} |
83 |
|
#endif |