CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/MagneticField/Interpolation/src/CylinderFromSectorMFGrid.h

Go to the documentation of this file.
00001 #ifndef CylinderFromSectorMFGrid_H
00002 #define CylinderFromSectorMFGrid_H
00003 
00004 #include "MagneticField/Interpolation/interface/MFGrid.h"
00005 #include "FWCore/Utilities/interface/Visibility.h"
00006 
00007 class dso_internal CylinderFromSectorMFGrid : public MFGrid {
00008 public:
00009 
00010   CylinderFromSectorMFGrid(const GloballyPositioned<float>& vol,
00011                            double phiMin, double phiMax, MFGrid* sectorGrid);
00012 
00013   ~CylinderFromSectorMFGrid();
00014 
00015   virtual LocalVector valueInTesla( const LocalPoint& p) const;
00016 
00017   virtual void toGridFrame( const LocalPoint& p, double& a, double& b, double& c) const ;
00018 
00019   virtual LocalPoint fromGridFrame( double a, double b, double c) const ;
00020 
00021   virtual Dimensions dimensions() const;
00022 
00023   virtual LocalPoint  nodePosition( int i, int j, int k) const ;
00024 
00025   virtual LocalVector nodeValue( int i, int j, int k) const ;
00026 
00027 
00028 private:
00029 
00030   double  thePhiMin;
00031   double  thePhiMax;
00032   MFGrid* theSectorGrid;
00033   double  theDelta;
00034 
00035   void throwUp( const char *message) const;
00036 
00037 };
00038 
00039 #endif