Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:22:32

0001 #ifndef TrapezoidalCylindricalMFGrid_H
0002 #define TrapezoidalCylindricalMFGrid_H
0003 
0004 #include "MFGrid3D.h"
0005 #include "Trapezoid2RectangleMappingX.h"
0006 #include "FWCore/Utilities/interface/Visibility.h"
0007 
0008 namespace magneticfield::interpolation {
0009   class binary_ifstream;
0010 }
0011 
0012 class dso_internal TrapezoidalCylindricalMFGrid : public MFGrid3D {
0013 public:
0014   using binary_ifstream = magneticfield::interpolation::binary_ifstream;
0015 
0016   TrapezoidalCylindricalMFGrid(binary_ifstream& istr, const GloballyPositioned<float>& vol);
0017 
0018   LocalVector uncheckedValueInTesla(const LocalPoint& p) const override;
0019 
0020   void dump() const override;
0021 
0022   void toGridFrame(const LocalPoint& p, double& a, double& b, double& c) const override;
0023 
0024   LocalPoint fromGridFrame(double a, double b, double c) const override;
0025 
0026 private:
0027   Trapezoid2RectangleMappingX mapping_;
0028 };
0029 
0030 #endif