#include <KFitTrack.h>
Public Types | |
enum | FitStatus { INVALID, UNKNOWN, FORWARD, FORWARD_PREDICTED, BACKWARD, BACKWARD_PREDICTED, OPTIMAL, OPTIMAL_PREDICTED } |
Fit status enum. More... | |
Public Member Functions | |
KFitTrack () | |
Default constructor. More... | |
KFitTrack (const KETrack &tre, double s=0., double chisq=0., FitStatus stat=INVALID) | |
Initializing constructor. More... | |
virtual | ~KFitTrack () |
Destructor. More... | |
double | getPath () const |
Propagation distance. More... | |
double | getChisq () const |
Fit chisquare. More... | |
FitStatus | getStat () const |
Fit status. More... | |
void | setPath (double path) |
Set propagation distance. More... | |
void | setChisq (double chisq) |
Set chisquare. More... | |
void | setStat (FitStatus stat) |
Set fit status. More... | |
bool | combineFit (const KFitTrack &trf) |
Combine two tracks. More... | |
virtual std::ostream & | Print (std::ostream &out, bool doTitle=true) const |
Printout. More... | |
Public Member Functions inherited from trkf::KETrack | |
KETrack () | |
Default constructor. More... | |
KETrack (const std::shared_ptr< const Surface > &psurf) | |
Constructor - specify surface only. More... | |
KETrack (const std::shared_ptr< const Surface > &psurf, const TrackVector &vec, const TrackError &err, Surface::TrackDirection dir=Surface::UNKNOWN, int pdg=0) | |
Constructor - surface + track parameters + error matrix. More... | |
KETrack (const KTrack &trk, const TrackError &err) | |
Constructor - KTrack + error matrix. More... | |
virtual | ~KETrack () |
Destructor. More... | |
const TrackError & | getError () const |
Track error matrix. More... | |
double | PointingError () const |
Pointing error (radians). More... | |
TrackError & | getError () |
Modifiable error matrix. More... | |
void | setError (const TrackError &err) |
Set error matrix. More... | |
std::optional< double > | combineTrack (const KETrack &tre) |
Combine two tracks. More... | |
Public Member Functions inherited from trkf::KTrack | |
KTrack () | |
Enum. More... | |
KTrack (const std::shared_ptr< const Surface > &psurf) | |
Constructor - specify surface only. More... | |
KTrack (std::shared_ptr< const Surface > psurf, const TrackVector &vec, Surface::TrackDirection dir=Surface::UNKNOWN, int pdg=0) | |
Constructor - surface + track parameters. More... | |
virtual | ~KTrack () |
Destructor. More... | |
const std::shared_ptr< const Surface > & | getSurface () const |
Surface. More... | |
const TrackVector & | getVector () const |
Track state vector. More... | |
Surface::TrackDirection | getDirection () const |
Track direction. More... | |
int | PdgCode () const |
Pdg code. More... | |
double | Mass () const |
Based on pdg code. More... | |
TrackVector & | getVector () |
Modifiable state vector. More... | |
void | setSurface (const std::shared_ptr< const Surface > &psurf) |
Set surface. More... | |
void | setVector (const TrackVector &vec) |
Set state vector. More... | |
void | setDirection (Surface::TrackDirection dir) |
Set direction. More... | |
void | setPdgCode (int pdg) |
Set pdg code. More... | |
bool | isValid () const |
Test if track is valid. More... | |
void | getPosition (double xyz[3]) const |
Get position of track. More... | |
void | getMomentum (double mom[3]) const |
Get momentum vector of track. More... | |
double | XLatitude () const |
Get x-latitude. More... | |
double | XLongitude () const |
Get x-longitude. More... | |
Private Attributes | |
double | fPath |
Propagation distance. More... | |
double | fChisq |
Fit chisquare. More... | |
FitStatus | fStat |
Fit status. More... | |
Definition at line 36 of file KFitTrack.h.
Fit status enum.
Enumerator | |
---|---|
INVALID | |
UNKNOWN | |
FORWARD | |
FORWARD_PREDICTED | |
BACKWARD | |
BACKWARD_PREDICTED | |
OPTIMAL | |
OPTIMAL_PREDICTED |
Definition at line 41 of file KFitTrack.h.
trkf::KFitTrack::KFitTrack | ( | ) |
trkf::KFitTrack::KFitTrack | ( | const KETrack & | tre, |
double | s = 0. , |
||
double | chisq = 0. , |
||
FitStatus | stat = INVALID |
||
) |
Initializing constructor.
Initializing constructor.
Arguments:
tre - KETrack. s - Path distance. chisq - Fit chisquare. stat - Fit status.
Definition at line 28 of file KFitTrack.cxx.
|
virtual |
bool trkf::KFitTrack::combineFit | ( | const KFitTrack & | trf | ) |
Combine two tracks.
Combine two tracks.
Arguments:
trf - Another track.
Returns: True if success.
This method updates the current track to be the weighted average of itself and another track. Track parameters and error matrix are updated by method KETrack::combineTrack. The updated chissquare is the sum of the original chisquare, the chisquare from the other track, and the chisquare of the combination. The path distance is not updated.
The updated status is derived from the input status according to the following table.
FORWARD + BACKWARD_PREDICTED = OPTIMAL FORWARD_PREDICTED + BACKWARD = OPTIMAL FORWARD_PREDICTED + BACKWARD_PREDICTED = OPTIMAL_PREDICTED
Any other combination of input statuses will cause this method to return failure. This method can also return failure because of singular error matrices. In case of failure, the original track is not updated.
The two tracks being combined should be on the same surface (throw exception if not).
Definition at line 66 of file KFitTrack.cxx.
|
inline |
Fit chisquare.
Definition at line 67 of file KFitTrack.h.
|
inline |
Propagation distance.
Definition at line 66 of file KFitTrack.h.
|
inline |
Fit status.
Definition at line 68 of file KFitTrack.h.
|
virtual |
Printout.
Reimplemented from trkf::KETrack.
Reimplemented in trkf::KHitsTrack, and trkf::KHitTrack.
Definition at line 115 of file KFitTrack.cxx.
|
inline |
Set chisquare.
Definition at line 73 of file KFitTrack.h.
|
inline |
Set propagation distance.
Definition at line 72 of file KFitTrack.h.
|
inline |
Set fit status.
Definition at line 74 of file KFitTrack.h.
|
private |
Fit chisquare.
Definition at line 87 of file KFitTrack.h.
|
private |
Propagation distance.
Definition at line 86 of file KFitTrack.h.
|
private |
Fit status.
Definition at line 88 of file KFitTrack.h.