CMS 3D CMS Logo

magneticfield::ParametrizedMagneticFieldProducer Class Reference

#include <MagneticField/ParametrizedEngine/plugins/ParametrizedMagneticFieldProducer.h>

Inheritance diagram for magneticfield::ParametrizedMagneticFieldProducer:

edm::ESProducer edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

List of all members.

Public Member Functions

 ParametrizedMagneticFieldProducer (const edm::ParameterSet &)
std::auto_ptr< MagneticFieldproduce (const IdealMagneticFieldRecord &)
 ~ParametrizedMagneticFieldProducer ()

Public Attributes

edm::ParameterSet pset


Detailed Description

Definition at line 21 of file ParametrizedMagneticFieldProducer.h.


Constructor & Destructor Documentation

ParametrizedMagneticFieldProducer::ParametrizedMagneticFieldProducer ( const edm::ParameterSet iConfig  ) 

Definition at line 26 of file ParametrizedMagneticFieldProducer.cc.

References edm::ParameterSet::getUntrackedParameter(), pset, and edm::ESProducer::setWhatProduced().

00026                                                                                                    : pset(iConfig) {
00027   setWhatProduced(this, pset.getUntrackedParameter<std::string>("label",""));
00028 }

ParametrizedMagneticFieldProducer::~ParametrizedMagneticFieldProducer (  ) 

Definition at line 31 of file ParametrizedMagneticFieldProducer.cc.

00032 {
00033 }


Member Function Documentation

std::auto_ptr< MagneticField > ParametrizedMagneticFieldProducer::produce ( const IdealMagneticFieldRecord iRecord  ) 

Definition at line 37 of file ParametrizedMagneticFieldProducer.cc.

References Exception, edm::ParameterSet::getParameter(), python::trackProbabilityAnalysis_cff::parameters, pset, HLT_VtxMuL3::result, and version().

00038 {
00039   string version = pset.getParameter<string>("version");
00040   ParameterSet parameters = pset.getParameter<ParameterSet>("parameters");
00041 
00042   if (version=="OAE_85l_030919") {
00043     // V. Karimaki's off-axis expansion fitted to v85l TOSCA computation
00044     std::auto_ptr<MagneticField> result(new OAE85lParametrizedMagneticField(parameters));
00045     return result;
00046   } else if (version=="OAE_1103l_071212") {
00047     // V. Karimaki's off-axis expansion fitted to v1103l TOSCA computation
00048     std::auto_ptr<MagneticField> result( new OAEParametrizedMagneticField(parameters));
00049     return result;
00050   } else if (version=="PolyFit2D") {
00051     // V. Maroussov polynomial fit to mapping data
00052     std::auto_ptr<MagneticField> result( new PolyFit2DParametrizedMagneticField(parameters));
00053     return result;
00054   }  else {
00055     throw cms::Exception("InvalidParameter")<<"Invalid parametrization version " << version;
00056   }
00057   return std::auto_ptr<MagneticField>(0); //make compiler happy
00058 }


Member Data Documentation

edm::ParameterSet magneticfield::ParametrizedMagneticFieldProducer::pset

Definition at line 28 of file ParametrizedMagneticFieldProducer.h.

Referenced by ParametrizedMagneticFieldProducer(), and produce().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:48:54 2009 for CMSSW by  doxygen 1.5.4