CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/MagneticField/ParametrizedEngine/plugins/OAE85lParametrizedMagneticField.h

Go to the documentation of this file.
00001 #ifndef ParametrizedEngine_OAE85lParametrizedMagneticField_h
00002 #define ParametrizedEngine_OAE85lParametrizedMagneticField_h
00003 
00015 #include "MagneticField/Engine/interface/MagneticField.h"
00016 
00017 namespace edm { class ParameterSet; }
00018 
00019 class OAE85lParametrizedMagneticField : public MagneticField {
00020  public:
00021 
00024   OAE85lParametrizedMagneticField(float b0_ = 40.681, 
00025                                   float a_ = 4.6430, 
00026                                   float l_ = 15.284);
00027 
00029   OAE85lParametrizedMagneticField(const edm::ParameterSet& parameters);
00030 
00031 
00033   virtual ~OAE85lParametrizedMagneticField();
00034   
00035   GlobalVector inTesla (const GlobalPoint& gp) const;
00036 
00037   GlobalVector inTeslaUnchecked (const GlobalPoint& gp) const;
00038 
00039   bool isDefined(const GlobalPoint& gp) const;
00040 
00041  private:
00042 
00043   void ffunkti(float u, float* ff) const;
00044 
00045   void init();
00046 
00047   //phenomen. parameters:
00048   // b0=field at centre, l=solenoid length, a=radius (m) 
00049   float b0;
00050   float l;
00051   float a;
00052   // Derived parameters
00053   float ap2;
00054   float hb0;
00055   float hlova;
00056   float ainv;
00057 };
00058 #endif