#include <KinematicConstraint.h>
Public Member Functions | |
virtual KinematicConstraint * | clone () const =0 |
virtual std::pair< AlgebraicMatrix, AlgebraicVector > | derivative (const AlgebraicVector &exPoint) const =0 |
virtual std::pair< AlgebraicMatrix, AlgebraicVector > | derivative (const std::vector< RefCountedKinematicParticle > &par) const =0 |
virtual AlgebraicVector | deviations (int nStates) const =0 |
KinematicConstraint () | |
virtual int | numberOfEquations () const =0 |
virtual std::pair< AlgebraicVector, AlgebraicVector > | value (const AlgebraicVector &exPoint) const =0 |
virtual std::pair< AlgebraicVector, AlgebraicVector > | value (const std::vector< RefCountedKinematicParticle > &par) const =0 |
virtual | ~KinematicConstraint () |
Pure abstract base class to implement different types of constraints for single tracks. Class caches the information about calculation of of constraint equation derivatives and values at given linearization 7-point (x,y,z,p_x,p_y,p_z,m)_0. Fitter usually takes current parameters as the first step point and the change it to the result of the first iteration.
Kirill Prokofiev, December 2002 Change for multistate refit: July 2004
Definition at line 21 of file KinematicConstraint.h.
|
inline |
|
inlinevirtual |
Definition at line 29 of file KinematicConstraint.h.
References clone(), derivative(), deviations(), numberOfEquations(), and value().
|
pure virtual |
Clone method
Implemented in FourMomentumKinematicConstraint, MassKinematicConstraint, BackToBackKinematicConstraint, PointingKinematicConstraint, SimplePointingConstraint, SmartPointingConstraint, MultipleKinematicConstraint, and MomentumKinematicConstraint.
Referenced by LagrangeParentParticleFitter::fit(), and ~KinematicConstraint().
|
pure virtual |
Implemented in BackToBackKinematicConstraint, FourMomentumKinematicConstraint, MassKinematicConstraint, MomentumKinematicConstraint, PointingKinematicConstraint, SimplePointingConstraint, SmartPointingConstraint, and MultipleKinematicConstraint.
Referenced by LagrangeParentParticleFitter::fit(), and ~KinematicConstraint().
|
pure virtual |
|
pure virtual |
Returns vector of sigma squared associated to the KinematicParameters of refitted particles Initial deviations are given by user for the constraining parameters (mass, momentum components etc). In case of multiple states exactly the same values are added to every particle parameters
Implemented in FourMomentumKinematicConstraint, MassKinematicConstraint, BackToBackKinematicConstraint, MultipleKinematicConstraint, MomentumKinematicConstraint, PointingKinematicConstraint, SimplePointingConstraint, and SmartPointingConstraint.
Referenced by LagrangeParentParticleFitter::fit(), and ~KinematicConstraint().
|
pure virtual |
Returns an actual number of equations in particular constraint (corresponds to the number of strings in constraint derivative matrix, for example)
Implemented in BackToBackKinematicConstraint, FourMomentumKinematicConstraint, PointingKinematicConstraint, SimplePointingConstraint, SmartPointingConstraint, MassKinematicConstraint, MomentumKinematicConstraint, and MultipleKinematicConstraint.
Referenced by LagrangeParentParticleFitter::fit(), and ~KinematicConstraint().
|
pure virtual |
Methods returning the constraint derivative matrix and value. The equation expansion is done at the 7-point specified by user: (x,y,z,p_x,p_y,p_z,m)_0. In case of multiple state refit vector should be of dimension 7xNumberOfStates
Implemented in BackToBackKinematicConstraint, FourMomentumKinematicConstraint, MassKinematicConstraint, MomentumKinematicConstraint, PointingKinematicConstraint, SimplePointingConstraint, SmartPointingConstraint, and MultipleKinematicConstraint.
Referenced by LagrangeParentParticleFitter::fit(), and ~KinematicConstraint().
|
pure virtual |
Methods making value and derivative matrix using current state parameters as expansion 7-point. Constraint can be made equaly for single and multiple states
Implemented in FourMomentumKinematicConstraint, BackToBackKinematicConstraint, MomentumKinematicConstraint, PointingKinematicConstraint, SimplePointingConstraint, SmartPointingConstraint, MassKinematicConstraint, and MultipleKinematicConstraint.