CMS 3D CMS Logo

magneticfield::VolumeBasedMagneticFieldESProducer Class Reference

#include <MagneticField/GeomBuilder/plugins/VolumeBasedMagneticFieldESProducer.h>

Inheritance diagram for magneticfield::VolumeBasedMagneticFieldESProducer:

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

List of all members.

Public Member Functions

std::auto_ptr< MagneticFieldproduce (const IdealMagneticFieldRecord &iRecord)
 VolumeBasedMagneticFieldESProducer (const edm::ParameterSet &iConfig)

Private Member Functions

const
VolumeBasedMagneticFieldESProducer
operator= (const VolumeBasedMagneticFieldESProducer &)
 VolumeBasedMagneticFieldESProducer (const VolumeBasedMagneticFieldESProducer &)

Private Attributes

edm::ParameterSet pset


Detailed Description

Definition at line 20 of file VolumeBasedMagneticFieldESProducer.h.


Constructor & Destructor Documentation

VolumeBasedMagneticFieldESProducer::VolumeBasedMagneticFieldESProducer ( const edm::ParameterSet iConfig  ) 

Definition at line 26 of file VolumeBasedMagneticFieldESProducer.cc.

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

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

magneticfield::VolumeBasedMagneticFieldESProducer::VolumeBasedMagneticFieldESProducer ( const VolumeBasedMagneticFieldESProducer  )  [private]


Member Function Documentation

const VolumeBasedMagneticFieldESProducer& magneticfield::VolumeBasedMagneticFieldESProducer::operator= ( const VolumeBasedMagneticFieldESProducer  )  [private]

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

Definition at line 35 of file VolumeBasedMagneticFieldESProducer.cc.

References MagGeoBuilderFromDDD::barrelLayers(), MagGeoBuilderFromDDD::barrelVolumes(), MagGeoBuilderFromDDD::build(), GenMuonPlsPt100GeV_cfg::cout, debug, MagGeoBuilderFromDDD::endcapSectors(), MagGeoBuilderFromDDD::endcapVolumes(), lat::endl(), edm::eventsetup::EventSetupRecordImplementation< T >::get(), edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), bookConverter::keys, MagGeoBuilderFromDDD::maxR(), MagGeoBuilderFromDDD::maxZ(), edm::ESHandle< T >::product(), pset, s, MagGeoBuilderFromDDD::setScaling(), and values.

00036 {
00037   bool debug = pset.getUntrackedParameter<bool>("debugBuilder", false);
00038   if (debug) {
00039     cout << "VolumeBasedMagneticFieldESProducer::produce() " << pset.getParameter<std::string>("version") << endl;
00040   }
00041   
00042   edm::ESHandle<DDCompactView> cpv;
00043   iRecord.get("magfield",cpv );
00044   MagGeoBuilderFromDDD builder(pset.getParameter<std::string>("version"),
00045                                debug, 
00046                                pset.getParameter<bool>("overrideMasterSector"));
00047 
00048   // Get scaling factors
00049   vector<int> keys = pset.getParameter<vector<int> >("scalingVolumes");
00050   vector<double> values = pset.getParameter<vector<double> >("scalingFactors");
00051 
00052   if (keys.size() != 0) {
00053     builder.setScaling(keys, values);
00054   }
00055 
00056   builder.build(*cpv);
00057 
00058 
00059   // Get slave field
00060   edm::ESHandle<MagneticField> paramField;
00061   if (pset.getParameter<bool>("useParametrizedTrackerField")) {;
00062     iRecord.get(pset.getParameter<string>("paramLabel"),paramField);
00063   }
00064   std::auto_ptr<MagneticField> s(new VolumeBasedMagneticField(pset,builder.barrelLayers(), builder.endcapSectors(), builder.barrelVolumes(), builder.endcapVolumes(), builder.maxR(), builder.maxZ(), paramField.product(), false));
00065   return s;
00066 }


Member Data Documentation

edm::ParameterSet magneticfield::VolumeBasedMagneticFieldESProducer::pset [private]

Definition at line 31 of file VolumeBasedMagneticFieldESProducer.h.

Referenced by produce(), and VolumeBasedMagneticFieldESProducer().


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