#include <GsfMaterialEffectsESProducer.h>
Public Member Functions | |
GsfMaterialEffectsESProducer (const edm::ParameterSet &p) | |
boost::shared_ptr < GsfMaterialEffectsUpdator > | produce (const TrackingComponentsRecord &) |
virtual | ~GsfMaterialEffectsESProducer () |
Private Attributes | |
edm::ParameterSet | pset_ |
Provides algorithms for estimating material effects (GSF compatible). Multiple scattering estimates can be provided according to a single (== "KF") or two-component model. Energy loss estimates can be provided according to a single component ionization- or radiation model (== "KF") or a multi-component Bethe-Heitler model.
Definition at line 16 of file GsfMaterialEffectsESProducer.h.
GsfMaterialEffectsESProducer::GsfMaterialEffectsESProducer | ( | const edm::ParameterSet & | p | ) |
Definition at line 20 of file GsfMaterialEffectsESProducer.cc.
References edm::ParameterSet::getParameter(), and L1TEmulatorMonitor_cff::p.
{ std::string myname = p.getParameter<std::string>("ComponentName"); pset_ = p; setWhatProduced(this,myname); }
GsfMaterialEffectsESProducer::~GsfMaterialEffectsESProducer | ( | ) | [virtual] |
Definition at line 27 of file GsfMaterialEffectsESProducer.cc.
{}
boost::shared_ptr< GsfMaterialEffectsUpdator > GsfMaterialEffectsESProducer::produce | ( | const TrackingComponentsRecord & | iRecord | ) |
Definition at line 30 of file GsfMaterialEffectsESProducer.cc.
References convertXMLtoSQLite_cfg::fileName.
{ double mass = pset_.getParameter<double>("Mass"); std::string msName = pset_.getParameter<std::string>("MultipleScatteringUpdator"); std::string elName = pset_.getParameter<std::string>("EnergyLossUpdator"); GsfMaterialEffectsUpdator* msUpdator; if ( msName == "GsfMultipleScatteringUpdator" ) { msUpdator = new GsfMultipleScatteringUpdator(mass); } else { msUpdator = new GsfMaterialEffectsAdapter(MultipleScatteringUpdator(mass)); } GsfMaterialEffectsUpdator* elUpdator; if ( elName == "GsfBetheHeitlerUpdator" ) { std::string fileName = pset_.getParameter<std::string>("BetheHeitlerParametrization"); int correction = pset_.getParameter<int>("BetheHeitlerCorrection"); elUpdator = new GsfBetheHeitlerUpdator(fileName,correction); } else { elUpdator = new GsfMaterialEffectsAdapter(EnergyLossUpdator(mass)); } boost::shared_ptr<GsfMaterialEffectsUpdator> updator = boost::shared_ptr<GsfMaterialEffectsUpdator>(new GsfCombinedMaterialEffectsUpdator(*msUpdator, *elUpdator)); delete msUpdator; delete elUpdator; return updator; }
Definition at line 22 of file GsfMaterialEffectsESProducer.h.