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  provRecorder_(rp, md),
10  aux_(rp.aux()) {
11  }
12 
14  // anything left here must be the result of a failure
15  // let's record them as failed attempts in the event principal
17  }
18 
21  return dynamic_cast<RunPrincipal&>(provRecorder_.principal());
22  }
23 
24  RunPrincipal const&
26  return dynamic_cast<RunPrincipal const&>(provRecorder_.principal());
27  }
28 
30  Run::getProvenance(BranchID const& bid) const {
31  return runPrincipal().getProvenance(bid);
32  }
33 
34  void
35  Run::getAllProvenance(std::vector<Provenance const*>& provenances) const {
36  runPrincipal().getAllProvenance(provenances);
37  }
38 
39 /* Not yet fully implemented
40  bool
41  Run::getProcessParameterSet(std::string const& processName, std::vector<ParameterSet>& psets) const {
42  // Get the relevant ProcessHistoryIDs
43  ProcessHistoryRegistry* phreg = ProcessHistoryRegistry::instance();
44  // Need to fill these in.
45  std::vector<ProcessHistoryID> historyIDs;
46 
47 
48  // Get the relevant ParameterSetIDs.
49  // Need to fill these in.
50  std::vector<ParameterSetID> psetIdsUsed;
51  for(std::vector<ProcessHistoryID>::const_iterator
52  i = historyIDs.begin(),
53  e = historyIDs.end();
54  i != e;
55  ++i) {
56  ProcessHistory temp;
57  phreg->getMapped(*i, temp);
58  }
59 
60  // Look up the ParameterSets for these IDs.
61  pset::Registry* psreg = pset::Registry::instance();
62  for(std::vector<ParameterSetID>::const_iterator
63  i = psetIdsUsed.begin(),
64  e = psetIdsUsed.end();
65  i != e;
66  ++i) {
67  ParameterSet temp;
68  psreg->getMapped(*i, temp);
69  psets.push_back(temp);
70  }
71 
72  return false;
73  }
74 */
75 
76  void
78  RunPrincipal& rp = runPrincipal();
79  ProductPtrVec::iterator pit(putProducts().begin());
80  ProductPtrVec::iterator pie(putProducts().end());
81 
82  while(pit != pie) {
83  rp.put(*pit->second, pit->first);
84  // Ownership has passed, so clear the pointer.
85  pit->first.reset();
86  ++pit;
87  }
88 
89  // the cleanup is all or none
90  putProducts().clear();
91  }
92 
93  ProcessHistoryID const&
95  return runPrincipal().processHistoryID();
96  }
97 
98  ProcessHistory const&
100  return provRecorder_.processHistory();
101  }
102 
103  void
104  Run::addToGotBranchIDs(Provenance const& prov) const {
105  gotBranchIDs_.insert(prov.branchID());
106  }
107 
109  Run::getByLabelImpl(std::type_info const&, std::type_info const& iProductType, const InputTag& iTag) const {
110  BasicHandle h = provRecorder_.getByLabel_(TypeID(iProductType), iTag);
111  if(h.isValid()) {
113  }
114  return h;
115  }
116 }
ProcessHistory const & processHistory() const
Provenance getProvenance(BranchID const &theID) const
Definition: Run.cc:30
ProductPtrVec putProducts_
Definition: Run.h:138
Definition: Hash.h:41
void getAllProvenance(std::vector< Provenance const * > &provenances) const
Definition: Run.cc:35
void getAllProvenance(std::vector< Provenance const * > &provenances) const
Definition: Principal.cc:699
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
Provenance const * provenance() const
Definition: BasicHandle.h:110
void put(ConstBranchDescription const &bd, WrapperOwningHolder const &edp)
Definition: RunPrincipal.cc:31
ProcessHistoryID const & processHistoryID() const
Definition: Principal.h:126
Run(RunPrincipal &rp, ModuleDescription const &md)
Definition: Run.cc:8
void commit_()
Definition: Run.cc:77
ProcessHistory const & processHistory() const
Definition: Run.cc:99
#define end
Definition: vmac.h:38
BranchID const & branchID() const
Definition: Provenance.h:59
ProcessHistoryID const & processHistoryID() const
Definition: Run.cc:94
RunPrincipal const & runPrincipal() const
Definition: Run.cc:25
~Run()
Definition: Run.cc:13
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
virtual BasicHandle getByLabelImpl(std::type_info const &iWrapperType, std::type_info const &iProductType, InputTag const &iTag) const
Definition: Run.cc:109
ProductPtrVec & putProducts()
Definition: Run.h:120
void addToGotBranchIDs(Provenance const &prov) const
Definition: Run.cc:104
string const
Definition: compareJSON.py:14
BasicHandle getByLabel_(TypeID const &tid, std::string const &label, std::string const &productInstanceName, std::string const &processName) const
bool isValid() const
Definition: BasicHandle.h:90
#define begin
Definition: vmac.h:31
Provenance getProvenance(BranchID const &bid) const
Definition: Principal.cc:677
BranchIDSet gotBranchIDs_
Definition: Run.h:141
PrincipalGetAdapter provRecorder_
Definition: Run.h:137