CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Run.cc
Go to the documentation of this file.
2 
5 
6 namespace edm {
7 
9 
11  ModuleCallingContext const* moduleCallingContext) :
12  provRecorder_(rp, md),
13  aux_(rp.aux()),
14  moduleCallingContext_(moduleCallingContext) {
15  }
16 
18  }
19 
22 
23  RunIndex Run::index() const { return runPrincipal().index();}
24 
27  return dynamic_cast<RunPrincipal&>(provRecorder_.principal());
28  }
29 
30  RunPrincipal const&
32  return dynamic_cast<RunPrincipal const&>(provRecorder_.principal());
33  }
34 
36  Run::getProvenance(BranchID const& bid) const {
38  }
39 
40  void
41  Run::getAllProvenance(std::vector<Provenance const*>& provenances) const {
42  runPrincipal().getAllProvenance(provenances);
43  }
44 
45 /* Not yet fully implemented
46  bool
47  Run::getProcessParameterSet(std::string const& processName, std::vector<ParameterSet>& psets) const {
48  // Get the relevant ProcessHistoryIDs
49  ProcessHistoryRegistry* phreg = ProcessHistoryRegistry::instance();
50  // Need to fill these in.
51  std::vector<ProcessHistoryID> historyIDs;
52 
53 
54  // Get the relevant ParameterSetIDs.
55  // Need to fill these in.
56  std::vector<ParameterSetID> psetIdsUsed;
57  for(std::vector<ProcessHistoryID>::const_iterator
58  i = historyIDs.begin(),
59  e = historyIDs.end();
60  i != e;
61  ++i) {
62  ProcessHistory temp;
63  phreg->getMapped(*i, temp);
64  }
65 
66  // Look up the ParameterSets for these IDs.
67  pset::Registry* psreg = pset::Registry::instance();
68  for(std::vector<ParameterSetID>::const_iterator
69  i = psetIdsUsed.begin(),
70  e = psetIdsUsed.end();
71  i != e;
72  ++i) {
73  ParameterSet temp;
74  psreg->getMapped(*i, temp);
75  psets.push_back(temp);
76  }
77 
78  return false;
79  }
80 */
81 
82  void
84  RunPrincipal& rp = runPrincipal();
85  ProductPtrVec::iterator pit(putProducts().begin());
86  ProductPtrVec::iterator pie(putProducts().end());
87 
88  while(pit != pie) {
89  rp.put(*pit->second, std::move(pit->first));
90  ++pit;
91  }
92 
93  // the cleanup is all or none
94  putProducts().clear();
95  }
96 
97  ProcessHistoryID const&
99  return runPrincipal().processHistoryID();
100  }
101 
102  ProcessHistory const&
104  return provRecorder_.processHistory();
105  }
106 
107  void
108  Run::addToGotBranchIDs(Provenance const& prov) const {
109  gotBranchIDs_.insert(prov.branchID());
110  }
111 
113  Run::getByLabelImpl(std::type_info const&, std::type_info const& iProductType, const InputTag& iTag) const {
115  if(h.isValid()) {
117  }
118  return h;
119  }
120 }
ProcessHistory const & processHistory() const
Provenance getProvenance(BranchID const &theID) const
Definition: Run.cc:36
static const std::string emptyString_
Definition: Run.h:186
BasicHandle getByLabel_(TypeID const &tid, InputTag const &tag, ModuleCallingContext const *mcc) const
void getAllProvenance(std::vector< Provenance const * > &provenances) const
Definition: Run.cc:41
void getAllProvenance(std::vector< Provenance const * > &provenances) const
Definition: Principal.cc:792
Provenance getProvenance(BranchID const &bid, ModuleCallingContext const *mcc) const
Definition: Principal.cc:772
void put(BranchDescription const &bd, std::unique_ptr< WrapperBase > edp)
Definition: RunPrincipal.cc:33
CacheIdentifier_t cacheIdentifier() const
Definition: Principal.h:174
unsigned long CacheIdentifier_t
Definition: Run.h:77
Provenance const * provenance() const
Definition: BasicHandle.h:102
CacheIdentifier_t cacheIdentifier() const
Definition: Run.cc:21
ProcessHistoryID const & processHistoryID() const
Definition: Principal.h:146
Run(RunPrincipal &rp, ModuleDescription const &md, ModuleCallingContext const *)
Definition: Run.cc:10
void commit_()
Definition: Run.cc:83
def move
Definition: eostools.py:510
ProcessHistory const & processHistory() const
Definition: Run.cc:103
RunIndex index() const
Definition: Run.cc:23
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
#define end
Definition: vmac.h:37
BranchID const & branchID() const
Definition: Provenance.h:57
ProcessHistoryID const & processHistoryID() const
Definition: Run.cc:98
RunPrincipal const & runPrincipal() const
Definition: Run.cc:31
~Run()
Definition: Run.cc:17
virtual BasicHandle getByLabelImpl(std::type_info const &iWrapperType, std::type_info const &iProductType, InputTag const &iTag) const
Definition: Run.cc:113
ProductPtrVec & putProducts()
Definition: Run.h:163
void addToGotBranchIDs(Provenance const &prov) const
Definition: Run.cc:108
string const
Definition: compareJSON.py:14
bool isValid() const
Definition: BasicHandle.h:90
RunIndex index() const
Definition: RunPrincipal.h:53
#define begin
Definition: vmac.h:30
ModuleCallingContext const * moduleCallingContext_
Definition: Run.h:183
BranchIDSet gotBranchIDs_
Definition: Run.h:182
PrincipalGetAdapter provRecorder_
Definition: Run.h:178