CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
InputSourceDescription.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_InputSourceDescription_h
2 #define FWCore_Framework_InputSourceDescription_h
3 
4 /*----------------------------------------------------------------------
5 
6 InputSourceDescription : the stuff that is needed to configure an
7 input source that does not come in through the ParameterSet
8 ----------------------------------------------------------------------*/
9 #include <memory>
13 
14 namespace edm {
15  class ProductRegistry;
16  class ActivityRegistry;
17  class BranchIDListHelper;
18  class PreallocationConfiguration;
19  class ThinnedAssociationsHelper;
20 
24  productRegistry_(nullptr),
25  actReg_(),
26  maxEvents_(-1),
27  maxLumis_(-1),
28  allocations_(nullptr) {}
29 
31  std::shared_ptr<ProductRegistry> preg,
32  std::shared_ptr<BranchIDListHelper> branchIDListHelper,
33  std::shared_ptr<ProcessBlockHelper> const& processBlockHelper,
34  std::shared_ptr<ThinnedAssociationsHelper> thinnedAssociationsHelper,
35  std::shared_ptr<ActivityRegistry> areg,
36  int maxEvents,
37  int maxLumis,
38  int maxSecondsUntilRampdown,
39  PreallocationConfiguration const& allocations)
40  : moduleDescription_(md),
41  productRegistry_(preg),
42  branchIDListHelper_(branchIDListHelper),
43  processBlockHelper_(processBlockHelper),
44  thinnedAssociationsHelper_(thinnedAssociationsHelper),
45  actReg_(areg),
46  maxEvents_(maxEvents),
47  maxLumis_(maxLumis),
48  maxSecondsUntilRampdown_(maxSecondsUntilRampdown),
49  allocations_(&allocations) {}
50 
52  std::shared_ptr<ProductRegistry> productRegistry_;
53  std::shared_ptr<BranchIDListHelper> branchIDListHelper_;
54  std::shared_ptr<ProcessBlockHelper> processBlockHelper_;
55  std::shared_ptr<ThinnedAssociationsHelper> thinnedAssociationsHelper_;
56  std::shared_ptr<ActivityRegistry> actReg_; // We do not use propagate_const because the registry itself is mutable.
58  int maxLumis_;
61  };
62 } // namespace edm
63 
64 #endif
std::shared_ptr< ProductRegistry > productRegistry_
std::shared_ptr< ActivityRegistry > actReg_
std::shared_ptr< ThinnedAssociationsHelper > thinnedAssociationsHelper_
InputSourceDescription(ModuleDescription const &md, std::shared_ptr< ProductRegistry > preg, std::shared_ptr< BranchIDListHelper > branchIDListHelper, std::shared_ptr< ProcessBlockHelper > const &processBlockHelper, std::shared_ptr< ThinnedAssociationsHelper > thinnedAssociationsHelper, std::shared_ptr< ActivityRegistry > areg, int maxEvents, int maxLumis, int maxSecondsUntilRampdown, PreallocationConfiguration const &allocations)
std::shared_ptr< ProcessBlockHelper > processBlockHelper_
areg
Definition: Schedule.cc:687
std::shared_ptr< BranchIDListHelper > branchIDListHelper_
preg
Definition: Schedule.cc:687
PreallocationConfiguration const * allocations_