#include <PerigeeKinematicState.h>
Public Member Functions | |
bool | hasError () const |
bool | isValid () const |
const ExtendedPerigeeTrajectoryError & | perigeeError () const |
PerigeeKinematicState () | |
const ExtendedPerigeeTrajectoryParameters & | perigeeParameters () const |
const GlobalPoint | referencePoint () const |
const KinematicState | theState () const |
virtual | ~PerigeeKinematicState () |
Private Member Functions | |
AlgebraicMatrix | jacobianCurvilinear2Perigee (const FreeTrajectoryState &fts) const |
PerigeeKinematicState (const KinematicState &state, const GlobalPoint &pt) | |
Private Attributes | |
ExtendedPerigeeTrajectoryError | cov |
bool | errorIsAvailable |
KinematicState | inState |
ExtendedPerigeeTrajectoryParameters | par |
GlobalPoint | point |
bool | vl |
Friends | |
class | TransientTrackKinematicStateBuilder |
Class caching the "extended" perigee parametrization for vertex fitting inside the KinematicFit library. Extended parameters are: (epsilon, rho, phi, theta_p, z_p, m) (see TrajectoryStateClosestToPoint class for reference)
Kirill Prokofiev, august 2003
Definition at line 21 of file PerigeeKinematicState.h.
PerigeeKinematicState::PerigeeKinematicState | ( | ) | [inline] |
Definition at line 25 of file PerigeeKinematicState.h.
References errorIsAvailable, and vl.
{ vl = false; errorIsAvailable = false; }
virtual PerigeeKinematicState::~PerigeeKinematicState | ( | ) | [inline, virtual] |
Definition at line 31 of file PerigeeKinematicState.h.
{}
PerigeeKinematicState::PerigeeKinematicState | ( | const KinematicState & | state, |
const GlobalPoint & | pt | ||
) | [private] |
Definition at line 6 of file PerigeeKinematicState.cc.
References conversions_cfi::conversions, cov, KinematicPerigeeConversions::extendedPerigeeFromKinematicParameters(), KinematicState::freeTrajectoryState(), KinematicState::isValid(), PerigeeConversions::jacobianCurvilinear2Perigee(), KinematicState::kinematicParametersError(), KinematicParametersError::matrix(), par, and FreeTrajectoryState::parameters().
: point(pt), inState(state), errorIsAvailable(true),vl(true) { if(!(state.isValid())) throw VertexException("PerigeeKinematicState::kinematic state passed is not valid!"); //working with parameters: KinematicPerigeeConversions conversions; par = conversions.extendedPerigeeFromKinematicParameters(state,pt); //creating the error AlgebraicSymMatrix77 err = state.kinematicParametersError().matrix(); //making jacobian for curvilinear frame JacobianCartesianToCurvilinear jj(state.freeTrajectoryState().parameters()); AlgebraicMatrix67 ki2cu; ki2cu.Place_at(jj.jacobian(),0,0); ki2cu(5,6) = 1.; AlgebraicMatrix66 cu2pe; PerigeeConversions pc; cu2pe.Place_at(pc.jacobianCurvilinear2Perigee(state.freeTrajectoryState()),0,0); cu2pe(5,5) = 1.; AlgebraicMatrix67 jacobian = cu2pe*ki2cu; cov = ExtendedPerigeeTrajectoryError(ROOT::Math::Similarity(jacobian, err)); }
bool PerigeeKinematicState::hasError | ( | void | ) | const [inline] |
Access methods
Definition at line 35 of file PerigeeKinematicState.h.
References errorIsAvailable, and isValid().
Referenced by perigeeError().
{ if(!(isValid()))throw VertexException("PerigeeKinematicState::error is requested for the invalid state"); return errorIsAvailable; }
bool PerigeeKinematicState::isValid | ( | void | ) | const [inline] |
Definition at line 41 of file PerigeeKinematicState.h.
References vl.
Referenced by hasError(), ParticleKinematicLinearizedTrackState::hasError(), perigeeError(), perigeeParameters(), referencePoint(), and theState().
{return vl;}
AlgebraicMatrix PerigeeKinematicState::jacobianCurvilinear2Perigee | ( | const FreeTrajectoryState & | fts | ) | const [private] |
const ExtendedPerigeeTrajectoryError& PerigeeKinematicState::perigeeError | ( | ) | const [inline] |
Returns the error matrix of extended perigee parametrization
Definition at line 63 of file PerigeeKinematicState.h.
References cov, hasError(), and isValid().
Referenced by ParticleKinematicLinearizedTrackState::predictedStateError(), ParticleKinematicLinearizedTrackState::predictedStateMomentumError(), and ParticleKinematicLinearizedTrackState::predictedStateWeight().
{ if(!(isValid())) throw VertexException("PerigeeKinematicState::requesting perigee error for invalid state"); if(!(hasError())) throw VertexException("PerigeeKinematicState::requesting perigee error when none available"); return cov; }
const ExtendedPerigeeTrajectoryParameters& PerigeeKinematicState::perigeeParameters | ( | ) | const [inline] |
Returns the extended perigee parameters
Definition at line 73 of file PerigeeKinematicState.h.
References isValid(), and par.
Referenced by ParticleKinematicLinearizedTrackState::predictedStateMomentumParameters(), and ParticleKinematicLinearizedTrackState::predictedStateParameters().
{ if(!(isValid())) throw VertexException("PerigeeKinematicState::requesting perigee parameters for invalid state"); return par; }
const GlobalPoint PerigeeKinematicState::referencePoint | ( | ) | const [inline] |
Returns the reference point
Definition at line 53 of file PerigeeKinematicState.h.
References isValid(), and point.
{ if(!isValid()) throw VertexException("PerigeeKinematicState::point is requested for the invalid state"); return point; }
const KinematicState PerigeeKinematicState::theState | ( | ) | const [inline] |
Definition at line 44 of file PerigeeKinematicState.h.
References inState, and isValid().
Referenced by ParticleKinematicLinearizedTrackState::computeChargedJacobians(), and ParticleKinematicLinearizedTrackState::computeNeutralJacobians().
{ if(!isValid()) throw VertexException("PerigeeKinematicState::initial state is requested for the invalid state"); return inState; }
friend class TransientTrackKinematicStateBuilder [friend] |
Definition at line 81 of file PerigeeKinematicState.h.
Definition at line 96 of file PerigeeKinematicState.h.
Referenced by perigeeError(), and PerigeeKinematicState().
bool PerigeeKinematicState::errorIsAvailable [private] |
Definition at line 98 of file PerigeeKinematicState.h.
Referenced by hasError(), and PerigeeKinematicState().
KinematicState PerigeeKinematicState::inState [private] |
Definition at line 97 of file PerigeeKinematicState.h.
Referenced by theState().
Definition at line 95 of file PerigeeKinematicState.h.
Referenced by PerigeeKinematicState(), and perigeeParameters().
GlobalPoint PerigeeKinematicState::point [private] |
Definition at line 94 of file PerigeeKinematicState.h.
Referenced by referencePoint().
bool PerigeeKinematicState::vl [private] |
Definition at line 99 of file PerigeeKinematicState.h.
Referenced by isValid(), and PerigeeKinematicState().