![]() |
![]() |
#include <MagneticField/ParametrizedEngine/plugins/ParametrizedMagneticFieldProducer.h>
Public Member Functions | |
ParametrizedMagneticFieldProducer (const edm::ParameterSet &) | |
std::auto_ptr< MagneticField > | produce (const IdealMagneticFieldRecord &) |
~ParametrizedMagneticFieldProducer () | |
Public Attributes | |
edm::ParameterSet | pset |
Definition at line 21 of file ParametrizedMagneticFieldProducer.h.
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 | ( | ) |
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 }
Definition at line 28 of file ParametrizedMagneticFieldProducer.h.
Referenced by ParametrizedMagneticFieldProducer(), and produce().