CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/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 "MagneticField/Interpolation/interface/MFGrid3D.h"
00016 #include "MagneticField/Interpolation/src/Trapezoid2RectangleMappingX.h"
00017 
00018 class binary_ifstream;
00019 
00020 class TrapezoidalCartesianMFGrid : public MFGrid3D {
00021 public:
00022 
00023   TrapezoidalCartesianMFGrid( binary_ifstream& istr, 
00024                               const GloballyPositioned<float>& vol);
00025 
00026   virtual LocalVector uncheckedValueInTesla( const LocalPoint& p) const;
00027 
00028   void dump() const;
00029 
00030   virtual void toGridFrame( const LocalPoint& p, double& a, double& b, double& c) const;
00031 
00032   virtual LocalPoint fromGridFrame( double a, double b, double c) const;
00033 
00034 private:
00035 
00036   Trapezoid2RectangleMappingX mapping_;
00037   bool increasingAlongX;
00038   bool convertToLocal;
00039   
00040 };
00041 
00042 #endif