CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes | Friends

PerigeeKinematicState Class Reference

#include <PerigeeKinematicState.h>

List of all members.

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

Detailed Description

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.


Constructor & Destructor Documentation

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(), findQualityFiles::jj, 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));

}

Member Function Documentation

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]
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;
 }

Friends And Related Function Documentation

friend class TransientTrackKinematicStateBuilder [friend]

Definition at line 81 of file PerigeeKinematicState.h.


Member Data Documentation

Definition at line 96 of file PerigeeKinematicState.h.

Referenced by perigeeError(), and PerigeeKinematicState().

Definition at line 98 of file PerigeeKinematicState.h.

Referenced by hasError(), and PerigeeKinematicState().

Definition at line 97 of file PerigeeKinematicState.h.

Referenced by theState().

Definition at line 95 of file PerigeeKinematicState.h.

Referenced by PerigeeKinematicState(), and perigeeParameters().

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().