KeptProvenance.h
Go to the documentation of this file.
1 #ifndef art_Framework_IO_Root_detail_KeptProvenance_h
2 #define art_Framework_IO_Root_detail_KeptProvenance_h
3 // vim: set sw=2 expandtab :
4 
5 //
6 // Auxiliary class to handle provenance
7 // information...so I don't lose my mind in
8 // RootOutputFile::fillBranches.
9 
13 
14 #include <set>
15 
16 namespace art {
17 
18  class Principal;
19 
20  namespace detail {
21 
23 
24  public:
26  KeptProvenance(DropMetaData dropMetaData,
27  bool dropMetaDataForDroppedData,
28  std::set<ProductID>& branchesWithStoredHistory);
29 
30  public:
34 
35  auto
36  begin() const
37  {
38  return provenance_.begin();
39  }
40 
41  auto
42  end() const
43  {
44  return provenance_.end();
45  }
46 
47  void insertAncestors(ProductProvenance const& iGetParents,
48  Principal const& principal);
49 
50  private:
53  std::set<ProductID>& branchesWithStoredHistory_;
54  std::set<ProductProvenance> provenance_{};
55  };
56 
57  } // namespace detail
58 
59 } // namespace art
60 
61 #endif /* art_Framework_IO_Root_detail_KeptProvenance_h */
62 
63 // Local variables:
64 // mode: c++
65 // End:
void setStatus(ProductProvenance const &, ProductStatus)
KeptProvenance(DropMetaData dropMetaData, bool dropMetaDataForDroppedData, std::set< ProductID > &branchesWithStoredHistory)
ProductProvenance const & insert(ProductProvenance const &)
DropMetaData const dropMetaData_
unsigned char ProductStatus
Definition: ProductStatus.h:12
bool const dropMetaDataForDroppedData_
std::set< ProductProvenance > provenance_
void insertAncestors(ProductProvenance const &iGetParents, Principal const &principal)
ProductProvenance const & emplace(ProductID, ProductStatus)
std::set< ProductID > & branchesWithStoredHistory_