CMS 3D CMS Logo

RK4OneStep Class Reference

#include <TrackPropagation/RungeKutta/interface/RK4OneStep.h>

List of all members.

Public Member Functions

CartesianState operator() (const CartesianState &start, const RKCartesianDerivative &deriv, double step) const


Detailed Description

Definition at line 8 of file RK4OneStep.h.


Member Function Documentation

CartesianState RK4OneStep::operator() ( const CartesianState start,
const RKCartesianDerivative deriv,
double  step 
) const

Definition at line 7 of file RK4OneStep.cc.

References HLT_VtxMuL3::result.

00009 {
00010   double s0 = 0; // derivatives do't depend on absolute value of the integration variable
00011   CartesianState k1 = step * deriv( s0, start);
00012   CartesianState k2 = step * deriv( s0+step/2, start+k1/2);
00013   CartesianState k3 = step * deriv( s0+step/2, start+k2/2);
00014   CartesianState k4 = step * deriv( s0+step, start+k3);
00015 /*
00016   std::cout << "k1 = " << k1.position() << k1.momentum() << std::endl;
00017   std::cout << "k2 = " << k2.position() << k2.momentum() << std::endl;
00018   std::cout << "k3 = " << k3.position() << k3.momentum() << std::endl;
00019   std::cout << "k4 = " << k4.position() << k4.momentum() << std::endl;
00020 */
00021   CartesianState result = start + k1/6 + k2/3 + k3/3 + k4/6;
00022   return result;
00023 }


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:30:48 2009 for CMSSW by  doxygen 1.5.4