12#include <CLHEP/Matrix/Matrix.h>
13#include <CLHEP/Matrix/SymMatrix.h>
14#include <CLHEP/Vector/LorentzVector.h>
15#include <CLHEP/Geometry/Point3D.h>
17#include <framework/logging/Logger.h>
19#include <analysis/VertexFitting/KFit/KFitConst.h>
21#ifndef ENABLE_BACKWARDS_COMPATIBILITY
22typedef HepGeom::Point3D<double> HepPoint3D;
45 CLHEP::HepLorentzVector
m_P;
49 CLHEP::HepSymMatrix
m_E;
64 const CLHEP::HepLorentzVector& p,
66 const CLHEP::HepSymMatrix& e,
152 const CLHEP::HepSymMatrix
getFitError(
const int flag)
const;
157 const CLHEP::HepMatrix
getMomPos(
const int flag)
const;
175 if (m.num_row() != dim) B2FATAL(
"checkMatrixDimension");
KFitTrack is a container of the track information (Lorentz vector, position, and error matrix),...
void checkMatrixDimension(const CLHEP::HepSymMatrix &m, const int dim) const
Check if the matrix size is intended one.
void checkFlag(const int flag) const
Check if the flag is one of KFitConst::kBeforeFit or KFitConst::kAfterFit.
double m_Charge
Charge of the track.
double m_Mass
Mass of the track.
KFitTrack & operator=(const KFitTrack &)
Operator: assignment operator.
KFitTrack(void)
Construct an object with no argument.
void setCharge(const double q)
Set a charge of the track.
~KFitTrack(void)
Destruct the object.
const CLHEP::HepLorentzVector getMomentum(const int flag=KFitConst::kAfterFit) const
Get a Lorentz vector of the track.
void setPosition(const HepPoint3D &x, const int flag=KFitConst::kBeforeFit)
Set a position of the track.
const HepPoint3D getVertex(void) const
Get a vertex position associated to the track.
const CLHEP::HepSymMatrix getVertexError(void) const
Get a vertex error matrix associated to the track.
HepPoint3D m_Vertex
Vertex position associated to the track.
void setVertexError(const CLHEP::HepSymMatrix &ve)
Set a vertex error matrix associated to the track.
CLHEP::HepSymMatrix m_VertexError
Vertex error matrix associated to the track.
const CLHEP::HepSymMatrix getError(const int flag=KFitConst::kAfterFit) const
Get an error matrix of the track.
const CLHEP::HepSymMatrix getFitError(const int flag) const
Get an error matrix of the track.
void setVertex(const HepPoint3D &v)
Set a vertex position associated to the track.
KFitTrack(const KFitTrack &kp)
Construct the object as a copy constructor.
double getCharge(void) const
Get a charge of the track.
void setMomentum(const CLHEP::HepLorentzVector &p, const int flag=KFitConst::kBeforeFit)
Set a Lorentz vector of the track.
struct KFitPXE m_PXEBefore
Lorentz vector, position, and error matrix of the track before the fit.
double getFitParameter(const int which, const int flag) const
Get a parameter of the track.
void setError(const CLHEP::HepSymMatrix &e, const int flag=KFitConst::kBeforeFit)
Set an error matrix of the track.
const HepPoint3D getPosition(const int flag=KFitConst::kAfterFit) const
Get a position of the track.
const CLHEP::HepMatrix getMomPos(const int flag) const
Get a combination of Lorentz vector and position of the track.
struct KFitPXE m_PXEAfter
Lorentz vector, position, and error matrix of the track after the fit.
double getMass(void) const
Get a mass of the track.
Abstract base class for different kinds of events.
static const int kAfterFit
Input parameter to specify after-fit when setting/getting a track attribute.
static const int kBeforeFit
Input parameter to specify before-fit when setting/getting a track attribute.
KFitPXE is a container of the track information (Lorentz vector, position, and error matrix).
HepPoint3D m_X
Position of the track.
CLHEP::HepSymMatrix m_E
(7x7) error matrix of the track
CLHEP::HepLorentzVector m_P
Lorentz vector of the track.