Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#ifndef TKALTRACKSTATE_H
#define TKALTRACKSTATE_H
//*************************************************************************
//* ======================
//* TKalTrackState Class
//* ======================
//*
//* (Description)
//* Track state vector class used in Kalman Filter.
//* (Requires)
//* TVKalState
//* (Provides)
//* class TKalTrackState
//* (Update Recored)
//* 2003/09/30 Y.Nakashima Original version.
//* 2005/02/23 A.Yamaguchi Added CalcDapDa method.
//* 2005/02/XX A.Yamaguchi Moved CalcDapDa method to THelicalTrack.
//* 2005/08/13 K.Fujii Removed CalcProcessNoise method.
//* 2010/04/06 K.Fujii Modified MoveTo to allow a 1-dim hit,
//* for which pivot is at the xpected hit.
//*
//*************************************************************************
#include "TVKalState.h" // from KalLib
#include "THelicalTrack.h" // from GeomLib
#include "TStraightTrack.h" // from GeomLib
#include "KalTrackDim.h" // from KalTrackLib
class TKalTrackSite;
//_________________________________________________________________________
// -----------------------------------
// Base Class for Kalman state vector
// -----------------------------------
//
class TKalTrackState : public TVKalState {
public:
// Ctors and Dtor
TKalTrackState(Int_t p = kSdim);
TKalTrackState(const TKalMatrix &sv, Int_t type = 0, Int_t p = kSdim);
TKalTrackState(const TKalMatrix &sv, const TKalMatrix &c,
Int_t type = 0, Int_t p = kSdim);
TKalTrackState(const TKalMatrix &sv, const TVKalSite &site,
Int_t type = 0, Int_t p = kSdim);
TKalTrackState(const TKalMatrix &sv, const TKalMatrix &c,
const TVKalSite &site, Int_t type = 0, Int_t p = kSdim);
virtual ~TKalTrackState() {}
// Implementation of paraent class pure virtuals
TKalTrackState * MoveTo(TVKalSite &to,
TKalMatrix &F,
TKalMatrix *QPtr = 0) const;
TKalTrackState & MoveTo(TVKalSite &to,
TKalMatrix &F,
TKalMatrix &Q) const;
void DebugPrint() const;
// Derived class methods
THelicalTrack GetHelix() const;
TStraightTrack GetLine () const;
TVTrack &CreateTrack() const;
private:
TVector3 fX0; // pivot
ClassDef(TKalTrackState,1) // sample state vector class
};
#endif