CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/MagneticField/Interpolation/src/GlobalGridWrapper.h

Go to the documentation of this file.
00001 #ifndef GlobalGridWrapper_h
00002 #define GlobalGridWrapper_h
00003 
00015 #include "FWCore/Utilities/interface/Visibility.h"
00016 #include "MagneticField/Interpolation/interface/MFGrid.h"
00017 
00018 #include <string>
00019 
00020 class binary_ifstream;
00021 class MagneticFieldGrid;
00022 
00023 class dso_internal GlobalGridWrapper : public MFGrid {
00024 public:
00025 
00026   GlobalGridWrapper(  const GloballyPositioned<float>& vol,
00027                       const std::string& fileName);
00028 
00029   virtual LocalVector valueInTesla( const LocalPoint& p) const;
00030 
00031   void dump() const;
00032 
00033   virtual void toGridFrame( const LocalPoint& p, double& a, double& b, double& c) const;
00034 
00035   virtual LocalPoint fromGridFrame( double a, double b, double c) const;
00036 
00037   virtual Dimensions dimensions() const;
00038 
00039   virtual LocalPoint  nodePosition( int i, int j, int k) const;
00040 
00041   virtual LocalVector nodeValue( int i, int j, int k) const;
00042 
00043 private:
00044 
00045   MagneticFieldGrid* theRealOne;
00046 
00047 };
00048 
00049 #endif