File indexing completed on 2024-04-06 12:22:31
0001 #ifndef CylinderFromSectorMFGrid_H
0002 #define CylinderFromSectorMFGrid_H
0003
0004 #include "MagneticField/Interpolation/interface/MFGrid.h"
0005 #include "FWCore/Utilities/interface/Visibility.h"
0006
0007 class dso_internal CylinderFromSectorMFGrid : public MFGrid {
0008 public:
0009 CylinderFromSectorMFGrid(const GloballyPositioned<float>& vol, double phiMin, double phiMax, MFGrid* sectorGrid);
0010
0011 ~CylinderFromSectorMFGrid() override;
0012
0013 LocalVector valueInTesla(const LocalPoint& p) const override;
0014
0015 void toGridFrame(const LocalPoint& p, double& a, double& b, double& c) const override;
0016
0017 LocalPoint fromGridFrame(double a, double b, double c) const override;
0018
0019 Dimensions dimensions() const override;
0020
0021 LocalPoint nodePosition(int i, int j, int k) const override;
0022
0023 LocalVector nodeValue(int i, int j, int k) const override;
0024
0025 private:
0026 double thePhiMin;
0027 double thePhiMax;
0028 MFGrid* theSectorGrid;
0029 double theDelta;
0030
0031 void throwUp(const char* message) const;
0032 };
0033
0034 #endif