00001 #ifndef PolyFit2DParametrizedMagneticField_h 00002 #define PolyFit2DParametrizedMagneticField_h 00003 00014 #include "MagneticField/Engine/interface/MagneticField.h" 00015 00016 namespace edm { class ParameterSet; } 00017 namespace magfieldparam { class BFit; } 00018 00019 00020 class PolyFit2DParametrizedMagneticField : public MagneticField { 00021 public: 00024 PolyFit2DParametrizedMagneticField(double bVal = 3.8114); 00025 00027 PolyFit2DParametrizedMagneticField(const edm::ParameterSet& parameters); 00028 00030 virtual ~PolyFit2DParametrizedMagneticField(); 00031 00032 GlobalVector inTesla (const GlobalPoint& gp) const; 00033 00034 GlobalVector inTeslaUnchecked (const GlobalPoint& gp) const; 00035 00036 bool isDefined(const GlobalPoint& gp) const; 00037 00038 private: 00039 magfieldparam::BFit* theParam; 00040 }; 00041 #endif 00042