CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/MagneticField/Interpolation/src/TrapezoidalCartesianMFGrid.h

Go to the documentation of this file.
00001 #ifndef Interpolation_TrapezoidalCartesianMFGrid_h
00002 #define Interpolation_TrapezoidalCartesianMFGrid_h
00003 
00015 #include "MFGrid3D.h"
00016 #include "Trapezoid2RectangleMappingX.h"
00017 #include "FWCore/Utilities/interface/Visibility.h"
00018 
00019 class binary_ifstream;
00020 
00021 class dso_internal TrapezoidalCartesianMFGrid : public MFGrid3D {
00022 public:
00023 
00024   TrapezoidalCartesianMFGrid( binary_ifstream& istr, 
00025                               const GloballyPositioned<float>& vol);
00026 
00027   virtual LocalVector uncheckedValueInTesla( const LocalPoint& p) const;
00028 
00029   void dump() const;
00030 
00031   virtual void toGridFrame( const LocalPoint& p, double& a, double& b, double& c) const;
00032 
00033   virtual LocalPoint fromGridFrame( double a, double b, double c) const;
00034 
00035 private:
00036 
00037   Trapezoid2RectangleMappingX mapping_;
00038   bool increasingAlongX;
00039   bool convertToLocal;
00040   
00041 };
00042 
00043 #endif