File indexing completed on 2024-04-06 12:22:31
0001 #ifndef Interpolation_LinearGridInterpolator3D_h
0002 #define Interpolation_LinearGridInterpolator3D_h
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include "DataFormats/GeometryVector/interface/Basic3DVector.h"
0012 #include "Grid1D.h"
0013 #include "Grid3D.h"
0014 #include "DataFormats/GeometryVector/interface/Basic3DVector.h"
0015 #include "FWCore/Utilities/interface/Visibility.h"
0016
0017 #ifdef DEBUG_LinearGridInterpolator3D
0018 #include <iostream>
0019 #include "InterpolationDebug.h"
0020 #endif
0021
0022 class dso_internal LinearGridInterpolator3D {
0023 public:
0024 typedef Grid3D::ValueType ValueType;
0025 typedef Grid3D::Scalar Scalar;
0026 typedef ValueType ReturnType;
0027
0028 LinearGridInterpolator3D(const Grid3D& g) : grid(g), grida(g.grida()), gridb(g.gridb()), gridc(g.gridc()) {}
0029
0030 void throwGridInterpolator3DException(void);
0031
0032 ReturnType interpolate(Scalar a, Scalar b, Scalar c);
0033
0034
0035 private:
0036 const Grid3D& grid;
0037 const Grid1D& grida;
0038 const Grid1D& gridb;
0039 const Grid1D& gridc;
0040 };
0041
0042 #endif