Skip to content

Commit

Permalink
Merge pull request cms-sw#605 from Dr15Jones/multipleEventSupport
Browse files Browse the repository at this point in the history
Multiple stream support
  • Loading branch information
ktf committed Aug 25, 2013
2 parents bcb45fb + f6cbdb5 commit ac7b978
Show file tree
Hide file tree
Showing 69 changed files with 3,155 additions and 1,982 deletions.
5 changes: 5 additions & 0 deletions FWCore/Framework/interface/EDAnalyzer.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,13 @@ namespace edm {

class ModuleCallingContext;

namespace maker {
template<typename T> class ModuleHolderT;
}

class EDAnalyzer : public EDConsumerBase {
public:
template <typename T> friend class maker::ModuleHolderT;
template <typename T> friend class WorkerT;
typedef EDAnalyzer ModuleType;
typedef WorkerT<EDAnalyzer> WorkerType;
Expand Down
4 changes: 4 additions & 0 deletions FWCore/Framework/interface/EDFilter.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,15 @@ These products should be informational products about the filter decision.
#include <vector>

namespace edm {
namespace maker {
template<typename T> class ModuleHolderT;
}

class ModuleCallingContext;

class EDFilter : public ProducerBase, public EDConsumerBase {
public:
template <typename T> friend class maker::ModuleHolderT;
template <typename T> friend class WorkerT;
typedef EDFilter ModuleType;
typedef WorkerT<EDFilter> WorkerType;
Expand Down
4 changes: 4 additions & 0 deletions FWCore/Framework/interface/EDProducer.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,13 @@ EDProducts into an Event.
namespace edm {

class ModuleCallingContext;
namespace maker {
template<typename T> class ModuleHolderT;
}

class EDProducer : public ProducerBase, public EDConsumerBase {
public:
template <typename T> friend class maker::ModuleHolderT;
template <typename T> friend class WorkerT;
typedef EDProducer ModuleType;
typedef WorkerT<EDProducer> WorkerType;
Expand Down
3 changes: 3 additions & 0 deletions FWCore/Framework/interface/EventProcessor.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ configured in the user's main() function, and is set running.
#include "FWCore/Framework/interface/IEventProcessor.h"
#include "FWCore/Framework/src/PrincipalCache.h"
#include "FWCore/Framework/src/SignallingProductRegistry.h"
#include "FWCore/Framework/src/PreallocationConfiguration.h"

#include "FWCore/ParameterSet/interface/ParameterSet.h"

Expand Down Expand Up @@ -357,6 +358,8 @@ namespace edm {
bool setCpuAffinity_;
bool continueAfterChildFailure_;

PreallocationConfiguration preallocations_;

typedef std::set<std::pair<std::string, std::string> > ExcludedData;
typedef std::map<std::string, ExcludedData> ExcludedDataMap;
ExcludedDataMap eventSetupDataToExcludeFromPrefetching_;
Expand Down
1 change: 0 additions & 1 deletion FWCore/Framework/interface/Frameworkfwd.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ namespace edm {
class LuminosityBlockPrincipal;
class OutputModule;
class OutputModuleDescription;
class OutputWorker;
class ParameterSet;
class Principal;
class PrincipalCache;
Expand Down
18 changes: 10 additions & 8 deletions FWCore/Framework/interface/OutputModule.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,19 @@ namespace edm {

class ModuleCallingContext;

namespace maker {
template<typename T> class ModuleHolderT;
}

typedef detail::TriggerResultsBasedEventSelector::handle_t Trig;

class OutputModule : public EDConsumerBase {
public:
template <typename T> friend class maker::ModuleHolderT;
template <typename T> friend class WorkerT;
friend class ClassicOutputModuleCommunicator;
template <typename T> friend class OutputModuleCommunicatorT;
typedef OutputModule ModuleType;
typedef OutputWorker WorkerType;
typedef WorkerT<OutputModule> WorkerType;

explicit OutputModule(ParameterSet const& pset);
virtual ~OutputModule();
Expand Down Expand Up @@ -82,6 +87,8 @@ namespace edm {
Trig getTriggerResults(EventPrincipal const& ep, ModuleCallingContext const*) const;

ModuleDescription const& description() const;
ModuleDescription const& moduleDescription() const { return moduleDescription_;
}

ParameterSetID selectorConfig() const { return selector_config_id_; }

Expand Down Expand Up @@ -168,7 +175,7 @@ namespace edm {
void doPreForkReleaseResources();
void doPostForkReacquireResources(unsigned int iChildIndex, unsigned int iNumberOfChildren);

std::string workerType() const {return "OutputWorker";}
std::string workerType() const {return "WorkerT<OutputModule>";}

/// Tell the OutputModule that is must end the current file.
void doCloseFile();
Expand Down Expand Up @@ -216,9 +223,4 @@ namespace edm {
bool limitReached() const {return remainingEvents_ == 0;}
};
}

//this is included after the class definition since this header also needs to know about OutputModule
// we put this here since all OutputModules need this header to create their plugin
#include "FWCore/Framework/src/OutputWorker.h"

#endif
Loading

0 comments on commit ac7b978

Please sign in to comment.