Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:43

0001 #ifndef CylindricalLorentzForce_H
0002 #define CylindricalLorentzForce_H
0003 
0004 #include "FWCore/Utilities/interface/Visibility.h"
0005 #include "RKDerivative.h"
0006 
0007 class RKLocalFieldProvider;
0008 
0009 template <typename T, int N>
0010 class dso_internal CylindricalLorentzForce final : public RKDerivative<T, N> {
0011 public:
0012   typedef RKDerivative<T, N> Base;
0013   typedef typename Base::Scalar Scalar;
0014   typedef typename Base::Vector Vector;
0015 
0016   CylindricalLorentzForce(const RKLocalFieldProvider& field) : theField(field) {}
0017 
0018   Vector operator()(Scalar r, const Vector& state) const override;
0019 
0020 private:
0021   const RKLocalFieldProvider& theField;
0022 };
0023 
0024 #include "TrackPropagation/RungeKutta/src/CylindricalLorentzForce.icc"
0025 
0026 #endif