File indexing completed on 2025-01-31 23:35:44
0001 #ifndef FWCore_Framework_InputSourceDescription_h
0002 #define FWCore_Framework_InputSourceDescription_h
0003
0004
0005
0006
0007
0008
0009 #include <memory>
0010 #include "DataFormats/Provenance/interface/ModuleDescription.h"
0011 #include "FWCore/Common/interface/FWCoreCommonFwd.h"
0012 #include "FWCore/Framework/interface/PreallocationConfiguration.h"
0013
0014 namespace edm {
0015 class ProductRegistry;
0016 class ActivityRegistry;
0017 class BranchIDListHelper;
0018 class PreallocationConfiguration;
0019 class ThinnedAssociationsHelper;
0020
0021 struct InputSourceDescription {
0022 InputSourceDescription() : moduleDescription_(), actReg_(), maxEvents_(-1), maxLumis_(-1), allocations_(nullptr) {}
0023
0024 InputSourceDescription(ModuleDescription const& md,
0025 std::shared_ptr<BranchIDListHelper> branchIDListHelper,
0026 std::shared_ptr<ProcessBlockHelper> const& processBlockHelper,
0027 std::shared_ptr<ThinnedAssociationsHelper> thinnedAssociationsHelper,
0028 std::shared_ptr<ActivityRegistry> areg,
0029 int maxEvents,
0030 int maxLumis,
0031 int maxSecondsUntilRampdown,
0032 PreallocationConfiguration const& allocations)
0033 : moduleDescription_(md),
0034 branchIDListHelper_(branchIDListHelper),
0035 processBlockHelper_(processBlockHelper),
0036 thinnedAssociationsHelper_(thinnedAssociationsHelper),
0037 actReg_(areg),
0038 maxEvents_(maxEvents),
0039 maxLumis_(maxLumis),
0040 maxSecondsUntilRampdown_(maxSecondsUntilRampdown),
0041 allocations_(&allocations) {}
0042
0043 ModuleDescription moduleDescription_;
0044 std::shared_ptr<BranchIDListHelper> branchIDListHelper_;
0045 std::shared_ptr<ProcessBlockHelper> processBlockHelper_;
0046 std::shared_ptr<ThinnedAssociationsHelper> thinnedAssociationsHelper_;
0047 std::shared_ptr<ActivityRegistry> actReg_;
0048 int maxEvents_;
0049 int maxLumis_;
0050 int maxSecondsUntilRampdown_;
0051 PreallocationConfiguration const* allocations_;
0052 };
0053 }
0054
0055 #endif