CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/TrackingTools/Producers/src/CompositeTrajectoryFilterESProducer.cc

Go to the documentation of this file.
00001 #include "TrackingTools/Producers/interface/CompositeTrajectoryFilterESProducer.h"
00002 
00003 #include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilterFactory.h"
00004 #include "TrackingTools/TrajectoryFiltering/interface/CompositeTrajectoryFilter.h"
00005 
00006 #include "MagneticField/Engine/interface/MagneticField.h"
00007 
00008 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00009 
00010 CompositeTrajectoryFilterESProducer::CompositeTrajectoryFilterESProducer(const edm::ParameterSet& iConfig)
00011 {
00012   componentName = iConfig.getParameter<std::string>("ComponentName");
00013   filterNames = iConfig.getParameter<std::vector<std::string> >("filterNames");
00014   
00015   edm::LogInfo("CompositeTrajectoryFilterESProducer")<<"configured to produce: CompositeTrajectoryFilterESProducer"
00016                                                      <<" with name: "<<componentName;
00017   setWhatProduced(this, componentName);
00018 }
00019 
00020 
00021 CompositeTrajectoryFilterESProducer::~CompositeTrajectoryFilterESProducer(){}
00022 
00023 CompositeTrajectoryFilterESProducer::ReturnType
00024 CompositeTrajectoryFilterESProducer::produce(const TrajectoryFilter::Record & record)
00025 {
00026    using namespace edm::es;
00027    edm::LogInfo("CompositeTrajectoryFilterESProducer")<<"producing: "<<componentName<<" of type: CompositeTrajectoryFilterESProducer";
00028 
00029    std::vector<const TrajectoryFilter*> filters;
00030    edm::ESHandle<TrajectoryFilter> aFilterH;
00031    for (unsigned int i=0;i!=filterNames.size();++i)
00032      {
00033        record.get(filterNames[i], aFilterH);
00034        edm::LogInfo("CompositeTrajectoryFilterESProducer")<<"adding: "<<filterNames[i];
00035        filters.push_back(aFilterH.product());
00036      }
00037 
00038    CompositeTrajectoryFilterESProducer::ReturnType aFilter( new CompositeTrajectoryFilter(filters));
00039    
00040    return aFilter ;
00041 }
00042