CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/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 
00009 #include <memory>
00010 #include <vector>
00011 
00012 namespace edm {
00013   class ActionTable;
00014   class ActivityRegistry;
00015   class BranchIDListHelper;
00016   class CommonParams;
00017   class OutputModule;
00018   class ParameterSet;
00019   class ProcessConfiguration;
00020   class ProductRegistry;
00021   class Schedule;
00022   class SignallingProductRegistry;
00023 
00024   struct ScheduleItems {
00025     ScheduleItems();
00026 
00027     ScheduleItems(ProductRegistry const& preg, BranchIDListHelper const& branchIDListHelper, OutputModule const& om);
00028 
00029     ScheduleItems(ScheduleItems const&) = delete; // Disallow copying and moving
00030     ScheduleItems& operator=(ScheduleItems const&) = delete; // Disallow copying and moving
00031 
00032     ServiceToken
00033     initServices(std::vector<ParameterSet>& servicePSets,
00034                  ParameterSet& processPSet,
00035                  ServiceToken const& iToken,
00036                  serviceregistry::ServiceLegacy iLegacy,
00037                  bool associate);
00038 
00039     ServiceToken
00040     addCPRandTNS(ParameterSet const& parameterSet, ServiceToken const& token);
00041 
00042     boost::shared_ptr<CommonParams>
00043     initMisc(ParameterSet& parameterSet);
00044 
00045     std::auto_ptr<Schedule>
00046     initSchedule(ParameterSet& parameterSet,
00047                  ParameterSet const* subProcessPSet);
00048 
00049     void
00050     clear();
00051 
00052     boost::shared_ptr<ActivityRegistry>           actReg_;
00053     std::unique_ptr<SignallingProductRegistry>    preg_;
00054     boost::shared_ptr<BranchIDListHelper>         branchIDListHelper_;
00055     std::unique_ptr<ActionTable const>            act_table_;
00056     boost::shared_ptr<ProcessConfiguration>       processConfiguration_;
00057   };
00058 }
00059 
00060 #endif