00001 #ifndef PolyFit3DParametrizedMagneticField_h 00002 #define PolyFit3DParametrizedMagneticField_h 00003 00014 #include "MagneticField/Engine/interface/MagneticField.h" 00015 00016 namespace edm { class ParameterSet; } 00017 namespace magfieldparam { class BFit3D; } 00018 00019 00020 class PolyFit3DParametrizedMagneticField : public MagneticField { 00021 public: 00024 PolyFit3DParametrizedMagneticField(double bVal = 3.8114); 00025 00027 PolyFit3DParametrizedMagneticField(const edm::ParameterSet& parameters); 00028 00030 virtual ~PolyFit3DParametrizedMagneticField(); 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::BFit3D* theParam; 00040 }; 00041 #endif 00042