Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef GlobalGridWrapper_h
0002 #define GlobalGridWrapper_h
0003 
0004 /** \class GlobalGridWrapper
0005  *
0006  *  Generic interpolator that is a wrapper of MagneticFieldGrid, i.e.
0007  *  non-specialized/optimized for each kind of grid.
0008  *
0009  *  \author T. Todorov
0010  */
0011 
0012 #include "FWCore/Utilities/interface/Visibility.h"
0013 #include "MagneticField/Interpolation/interface/MFGrid.h"
0014 
0015 #include <string>
0016 
0017 class MagneticFieldGrid;
0018 
0019 class dso_internal GlobalGridWrapper : public MFGrid {
0020 public:
0021   GlobalGridWrapper(const GloballyPositioned<float>& vol, const std::string& fileName);
0022 
0023   LocalVector valueInTesla(const LocalPoint& p) const override;
0024 
0025   void dump() const override;
0026 
0027   void toGridFrame(const LocalPoint& p, double& a, double& b, double& c) const override;
0028 
0029   LocalPoint fromGridFrame(double a, double b, double c) const override;
0030 
0031   Dimensions dimensions() const override;
0032 
0033   LocalPoint nodePosition(int i, int j, int k) const override;
0034 
0035   LocalVector nodeValue(int i, int j, int k) const override;
0036 
0037 private:
0038   MagneticFieldGrid* theRealOne;
0039 };
0040 
0041 #endif