CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/FWCore/Framework/interface/ScheduleItems.h

Go to the documentation of this file.
00001 #ifndef FWCore_Framework_ScheduleItems_h
00002 #define FWCore_Framework_ScheduleItems_h
00003 
00004 #include "FWCore/ServiceRegistry/interface/ServiceLegacy.h"
00005 #include "FWCore/ServiceRegistry/interface/ServiceToken.h"
00006 
00007 #include "boost/shared_ptr.hpp"
00008 #include "boost/utility.hpp"
00009 
00010 #include <memory>
00011 #include <vector>
00012 
00013 namespace edm {
00014   class ActionTable;
00015   class ActivityRegistry;
00016   class CommonParams;
00017   class ParameterSet;
00018   class ProcessConfiguration;
00019   class ProductRegistry;
00020   class Schedule;
00021   class SignallingProductRegistry;
00022 
00023   struct ScheduleItems : private boost::noncopyable {
00024     ScheduleItems();
00025 
00026     ScheduleItems(ProductRegistry const& preg);
00027 
00028     ServiceToken
00029     initServices(std::vector<ParameterSet>& servicePSets,
00030                  ParameterSet& processPSet,
00031                  ServiceToken const& iToken,
00032                  serviceregistry::ServiceLegacy iLegacy,
00033                  bool associate);
00034 
00035     ServiceToken
00036     addCPRandTNS(ParameterSet const& parameterSet, ServiceToken const& token);
00037 
00038     boost::shared_ptr<CommonParams>
00039     initMisc(ParameterSet& parameterSet);
00040 
00041     std::auto_ptr<Schedule>
00042     initSchedule(ParameterSet& parameterSet,
00043                  ParameterSet const* subProcessPSet);
00044 
00045     void
00046     clear();
00047 
00048     boost::shared_ptr<ActivityRegistry>           actReg_;
00049     boost::shared_ptr<SignallingProductRegistry>  preg_;
00050     boost::shared_ptr<ActionTable const>          act_table_;
00051     boost::shared_ptr<ProcessConfiguration>       processConfiguration_;
00052   };
00053 }
00054 
00055 #endif