Main Page | Class Hierarchy | Compound List | File List | Compound Members | File Members

TrackMomentumConstraint.h

Go to the documentation of this file.
00001 
00009 #ifndef __TRACKMOMENTUMCONSTRAINT_H
00010 #define __TRACKMOMENTUMCONSTRAINT_H
00011 
00012 #include "jbltools/kinfit/TrackConstraint.h"
00013 #include "FourVector.h"
00014 
00015 class ParticleFitObject;
00016 
00017 class TrackMomentumConstraint : public TrackConstraint {
00018   public:
00019     TrackMomentumConstraint (double pxfact_, 
00020                              double pyfact_, 
00021                              double pzfact_,
00022                              double efact_=0, 
00023                              double value_ = 0
00024                              );
00025     TrackMomentumConstraint (int axis, 
00026                              double value_ = 0
00027                             );                          
00028     virtual ~TrackMomentumConstraint();
00029     virtual double getValue() const;
00030     virtual void getDerivatives (int idim, double der[]) const;
00031     virtual void add1stDerivativesToMatrix(int idim, double *M) const;
00032     virtual void add2ndDerivativesToMatrix(int idim, double *M, double lambda) const;
00033     
00034     virtual void addToGlobalDerMatrix (double lambda, int idim, double *M) const;
00035     
00036     virtual void invalidateCache() const;
00037   
00038   protected:
00039     void updateCache() const;
00040   
00041     FourVector factor;
00042     double value;
00043     
00044     mutable bool cachevalid;
00045     mutable int  nparams;
00046 };
00047 
00048 #endif // __TRACKMOMENTUMCONSTRAINT_H

Generated on Fri Sep 14 17:38:21 2007 for Kinfit by doxygen 1.3.2