Public Member Functions | Private Member Functions | Private Attributes | List of all members
art::Provenance Class Reference

#include <Provenance.h>

Public Member Functions

 Provenance ()
 
 Provenance (cet::exempt_ptr< Group const > g) noexcept
 
BranchDescription const & productDescription () const noexcept
 
std::string const & branchName () const noexcept
 
std::string const & producedClassName () const noexcept
 
std::string const & friendlyClassName () const noexcept
 
std::string const & moduleLabel () const noexcept
 
std::string const & productInstanceName () const noexcept
 
std::string const & processName () const noexcept
 
InputTag inputTag () const
 
RangeSet const & rangeOfValidity () const
 
Parentage const & parentage () const
 
std::vector< ProductID > const & parents () const
 
fhicl::ParameterSet const & parameterSet () const
 
std::set< fhicl::ParameterSetID > const & psetIDs () const noexcept
 
ProductID productID () const noexcept
 
bool isValid () const noexcept
 
bool isPresent () const
 
bool produced () const noexcept
 
ProductStatus productStatus () const
 
bool equals (Provenance const &) const noexcept
 
std::ostream & write (std::ostream &) const
 

Private Member Functions

ProductProvenance const & productProvenance () const
 

Private Attributes

cet::exempt_ptr< Group const > group_ {nullptr}
 

Detailed Description

Definition at line 35 of file Provenance.h.

Constructor & Destructor Documentation

art::Provenance::Provenance ( )
explicitdefault
art::Provenance::Provenance ( cet::exempt_ptr< Group const >  g)
explicitnoexcept

Definition at line 15 of file Provenance.cc.

15 : group_{g} {}
cet::exempt_ptr< Group const > group_
Definition: Provenance.h:77

Member Function Documentation

string const & art::Provenance::branchName ( ) const
noexcept

Definition at line 42 of file Provenance.cc.

43  {
44  return productDescription().branchName();
45  }
BranchDescription const & productDescription() const noexcept
Definition: Provenance.cc:24
std::string const & branchName() const noexcept
bool art::Provenance::equals ( Provenance const &  other) const
noexcept

Definition at line 127 of file Provenance.cc.

128  {
129  return group_ == other.group_;
130  }
cet::exempt_ptr< Group const > group_
Definition: Provenance.h:77
string const & art::Provenance::friendlyClassName ( ) const
noexcept

Definition at line 48 of file Provenance.cc.

49  {
51  }
BranchDescription const & productDescription() const noexcept
Definition: Provenance.cc:24
std::string const & friendlyClassName() const noexcept
InputTag art::Provenance::inputTag ( ) const

Definition at line 91 of file Provenance.cc.

92  {
93  return productDescription().inputTag();
94  }
BranchDescription const & productDescription() const noexcept
Definition: Provenance.cc:24
InputTag inputTag() const
bool art::Provenance::isPresent ( ) const

Definition at line 115 of file Provenance.cc.

116  {
118  }
ProductProvenance const & productProvenance() const
Definition: Provenance.cc:133
ProductStatus productStatus() const
Definition: Provenance.cc:97
constexpr ProductStatus present() noexcept
Definition: ProductStatus.h:10
bool art::Provenance::isValid ( ) const
noexcept

Definition at line 18 of file Provenance.cc.

19  {
20  return static_cast<bool>(group_);
21  }
cet::exempt_ptr< Group const > group_
Definition: Provenance.h:77
string const & art::Provenance::moduleLabel ( ) const
noexcept

Definition at line 54 of file Provenance.cc.

55  {
57  }
BranchDescription const & productDescription() const noexcept
Definition: Provenance.cc:24
std::string const & moduleLabel() const noexcept
fhicl::ParameterSet const & art::Provenance::parameterSet ( ) const

Definition at line 84 of file Provenance.cc.

85  {
88  }
BranchDescription const & productDescription() const noexcept
Definition: Provenance.cc:24
static collection_type const & get() noexcept
decltype(auto) constexpr begin(T &&obj)
ADL-aware version of std::begin.
Definition: StdUtils.h:72
std::set< fhicl::ParameterSetID > const & psetIDs() const noexcept
Definition: Provenance.cc:78
Parentage const & art::Provenance::parentage ( ) const

Definition at line 103 of file Provenance.cc.

104  {
105  return productProvenance().parentage();
106  }
Parentage const & parentage() const
ProductProvenance const & productProvenance() const
Definition: Provenance.cc:133
vector< ProductID > const & art::Provenance::parents ( ) const

Definition at line 109 of file Provenance.cc.

110  {
111  return productProvenance().parentage().parents();
112  }
std::vector< ProductID > const & parents() const
Definition: Parentage.cc:36
Parentage const & parentage() const
ProductProvenance const & productProvenance() const
Definition: Provenance.cc:133
string const & art::Provenance::processName ( ) const
noexcept

Definition at line 66 of file Provenance.cc.

67  {
69  }
BranchDescription const & productDescription() const noexcept
Definition: Provenance.cc:24
std::string const & processName() const noexcept
bool art::Provenance::produced ( ) const
noexcept

Definition at line 30 of file Provenance.cc.

31  {
32  return productDescription().produced();
33  }
bool produced() const noexcept
BranchDescription const & productDescription() const noexcept
Definition: Provenance.cc:24
string const & art::Provenance::producedClassName ( ) const
noexcept

Definition at line 36 of file Provenance.cc.

37  {
39  }
BranchDescription const & productDescription() const noexcept
Definition: Provenance.cc:24
std::string const & producedClassName() const noexcept
BranchDescription const & art::Provenance::productDescription ( ) const
noexcept

Definition at line 24 of file Provenance.cc.

25  {
26  return group_->productDescription();
27  }
cet::exempt_ptr< Group const > group_
Definition: Provenance.h:77
ProductID art::Provenance::productID ( ) const
noexcept

Definition at line 72 of file Provenance.cc.

73  {
74  return productDescription().productID();
75  }
BranchDescription const & productDescription() const noexcept
Definition: Provenance.cc:24
ProductID productID() const noexcept
string const & art::Provenance::productInstanceName ( ) const
noexcept

Definition at line 60 of file Provenance.cc.

61  {
63  }
BranchDescription const & productDescription() const noexcept
Definition: Provenance.cc:24
std::string const & productInstanceName() const noexcept
ProductProvenance const & art::Provenance::productProvenance ( ) const
private

Definition at line 133 of file Provenance.cc.

134  {
135  auto prov = group_->productProvenance();
136  assert(prov != nullptr);
137  return *prov;
138  }
cet::exempt_ptr< Group const > group_
Definition: Provenance.h:77
ProductStatus art::Provenance::productStatus ( ) const

Definition at line 97 of file Provenance.cc.

98  {
100  }
ProductProvenance const & productProvenance() const
Definition: Provenance.cc:133
ProductStatus productStatus() const noexcept
set< fhicl::ParameterSetID > const & art::Provenance::psetIDs ( ) const
noexcept

Definition at line 78 of file Provenance.cc.

79  {
80  return productDescription().psetIDs();
81  }
BranchDescription const & productDescription() const noexcept
Definition: Provenance.cc:24
std::set< fhicl::ParameterSetID > const & psetIDs() const noexcept
RangeSet const & art::Provenance::rangeOfValidity ( ) const

Definition at line 121 of file Provenance.cc.

122  {
123  return group_->rangeOfValidity();
124  }
cet::exempt_ptr< Group const > group_
Definition: Provenance.h:77
ostream & art::Provenance::write ( std::ostream &  os) const

Definition at line 147 of file Provenance.cc.

148  {
149  // This is grossly inadequate, but it is not critical for the
150  // first pass.
152  productProvenance().write(os);
153  return os;
154  }
BranchDescription const & productDescription() const noexcept
Definition: Provenance.cc:24
ProductProvenance const & productProvenance() const
Definition: Provenance.cc:133
void write(std::ostream &os) const
void write(std::ostream &) const

Member Data Documentation

cet::exempt_ptr<Group const> art::Provenance::group_ {nullptr}
private

Definition at line 77 of file Provenance.h.


The documentation for this class was generated from the following files: