File indexing completed on 2024-04-06 12:31:43
0001 #ifndef RK4PreciseStep_H
0002 #define RK4PreciseStep_H
0003
0004 #include "FWCore/Utilities/interface/Visibility.h"
0005 #include "CartesianState.h"
0006 #include <utility>
0007
0008 class RKCartesianDerivative;
0009
0010 class dso_internal RK4PreciseStep {
0011 public:
0012 CartesianState operator()(const CartesianState& start,
0013 const RKCartesianDerivative& deriv,
0014 double step,
0015 double eps) const;
0016
0017 double distance(const CartesianState& a, const CartesianState& b) const;
0018
0019 std::pair<CartesianState, double> stepWithAccuracy(const CartesianState& start,
0020 const RKCartesianDerivative& deriv,
0021 double step) const;
0022
0023 private:
0024 bool verbose() const;
0025 };
0026
0027 #endif