1 #ifndef canvas_Persistency_Provenance_BranchDescription_h 2 #define canvas_Persistency_Provenance_BranchDescription_h 36 class BranchDescription;
38 std::ostream&
operator<<(std::ostream& os, BranchDescription
const& p);
40 bool operator<(BranchDescription
const& a, BranchDescription
const& b);
41 bool operator==(BranchDescription
const& a, BranchDescription
const& b);
43 bool combinable(BranchDescription
const& a, BranchDescription
const& b);
46 class BranchDescriptionStreamer;
54 static int constexpr invalidSplitLevel{-1};
55 static int constexpr invalidBasketSize{0};
56 static int constexpr invalidCompression{-1};
66 void write(std::ostream& os)
const;
81 return producedClassName_;
86 return friendlyClassName_;
91 return productInstanceName_;
97 return InputTag{moduleLabel(), productInstanceName(), processName()};
103 return guts().validity_ == Transients::Produced;
108 return guts().validity_ == Transients::PresentFromSource;
113 return guts().validity_ == Transients::Dropped;
118 return guts().transient_;
124 return guts().splitLevel_;
129 return guts().basketSize_;
134 return guts().compression_;
137 std::set<fhicl::ParameterSetID>
const&
156 return supportsView_;
161 return guts().branchName_;
166 return guts().wrappedName_;
183 std::string branchName_{};
187 std::string wrappedName_{};
195 bool transient_{
false};
210 int compression_{invalidCompression};
216 guts().validity_ = state;
220 friend class detail::BranchDescriptionStreamer;
225 return !guts().branchName_.empty();
227 void initProductID_();
228 void fluffTransients_()
const;
234 return psetIDs().size() == 1;
236 std::set<ProcessConfigurationID>
const&
239 return processConfigurationIDs_;
245 return transients_.get();
250 return transients_.get();
253 void throwIfInvalid_()
const;
260 std::string moduleLabel_{};
263 std::string processName_{};
269 std::string producedClassName_{};
272 std::string friendlyClassName_{};
276 std::string productInstanceName_{};
279 bool supportsView_{
false};
283 std::set<fhicl::ParameterSetID> psetIDs_{};
287 std::set<ProcessConfigurationID> processConfigurationIDs_{};
std::ostream & operator<<(std::ostream &os, EDAnalyzer::Table< T > const &t)
bool transientsFluffed_() const
std::set< fhicl::ParameterSetID > const & psetIDs() const
std::string const & wrappedName() const
std::vector< BranchDescription > ProductDescriptions
InputTag inputTag() const
std::string const & producedClassName() const
bool operator<(ProductInfo const &a, ProductInfo const &b)
Transients const & guts() const
void swap(Handle< T > &a, Handle< T > &b)
std::string const & moduleLabel() const
BranchType branchType() const
bool supportsView() const
ProductID productID() const
bool isPsetIDUnique() const
bool combinable(BranchDescription const &a, BranchDescription const &b)
void setValidity(Transients::validity_state const state)
std::string const & productInstanceName() const
std::set< ProcessConfigurationID > const & processConfigurationIDs() const
std::string const & processName() const
bool operator==(Provenance const &a, Provenance const &b)
std::string const & branchName() const
std::string const & friendlyClassName() const