Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
art::SubRunPrincipal Class Referencefinal

#include "/cvmfs/nova.opensciencegrid.org/externals/art/v2_13_00/source/art/Framework/Principal/SubRunPrincipal.h"

Inheritance diagram for art::SubRunPrincipal:
art::Principal art::EDProductGetterFinder

Public Types

using Auxiliary = SubRunAuxiliary
 
using GroupCollection = std::map< ProductID, std::unique_ptr< Group >>
 
using const_iterator = GroupCollection::const_iterator
 
using ProcessNameConstIterator = ProcessHistory::const_iterator
 
using GroupQueryResultVec = std::vector< GroupQueryResult >
 
using size_type = GroupCollection::size_type
 
using ProcessName = std::string
 

Public Member Functions

 SubRunPrincipal (SubRunAuxiliary const &, ProcessConfiguration const &, cet::exempt_ptr< ProductTable const > presentProducts, bool const parentageEnabled=true, bool const rangesEnabled=true, std::unique_ptr< BranchMapper > &&=std::make_unique< BranchMapper >(), std::unique_ptr< DelayedReader > &&=std::make_unique< NoDelayedReader >())
 
RunPrincipal const & runPrincipal () const
 
cet::exempt_ptr< RunPrincipal const > runPrincipalExemptPtr () const
 
void setRunPrincipal (cet::exempt_ptr< RunPrincipal const > rp)
 
SubRunAuxiliary const & aux () const
 
SubRunID id () const
 
RunNumber_t run () const
 
SubRunNumber_t subRun () const
 
Timestamp const & beginTime () const
 
Timestamp const & endTime () const
 
void setEndTime (Timestamp const &time)
 
void put (std::unique_ptr< EDProduct > &&, BranchDescription const &, std::unique_ptr< ProductProvenance const > &&, RangeSet &&)
 
void fillGroup (BranchDescription const &) override
 
RangeSet seenRanges () const override
 
void updateSeenRanges (RangeSet const &rs)
 
BranchType branchType () const override
 
bool parentageEnabled () const override
 
bool rangesEnabled () const override
 
EDProductGetter const * productGetter (ProductID const pid) const
 
OutputHandle getForOutput (ProductID const, bool resolveProd) const
 
GroupQueryResult getBySelector (WrappedTypeID const &wrapped, SelectorBase const &) const
 
GroupQueryResult getByProductID (ProductID const pid) const
 
GroupQueryResult getByLabel (WrappedTypeID const &wrapped, std::string const &label, std::string const &productInstanceName, std::string const &processName) const
 
GroupQueryResultVec getMany (WrappedTypeID const &wrapped, SelectorBase const &) const
 
GroupQueryResultVec getMatchingSequence (SelectorBase const &) const
 
void removeCachedProduct (ProductID const pid) const
 
void addSecondaryPrincipal (std::unique_ptr< Principal > &&val)
 
void setProducedProducts (ProductTable const &producedProducts)
 
void readImmediate () const
 
void readProvenanceImmediate () const
 
ProcessHistory const & processHistory () const
 
ProcessConfiguration const & processConfiguration () const
 
BranchMapper const & branchMapper () const
 
size_t size () const
 
const_iterator begin () const
 
const_iterator cbegin () const
 
const_iterator end () const
 
const_iterator cend () const
 
void addToProcessHistory ()
 
EDProductGetter const * getEDProductGetter (ProductID const pid) const
 

Static Public Attributes

static constexpr BranchType branch_type = Auxiliary::branch_type
 

Protected Member Functions

BranchMapperbranchMapper ()
 
void fillGroup (std::unique_ptr< Group > &&group)
 
DelayedReaderproductReader ()
 
int tryNextSecondaryFile () const
 
cet::exempt_ptr< Group const > getGroupForPtr (ProductID const pid) const
 
cet::exempt_ptr< Group const > getGroup (ProductID const pid) const
 
cet::exempt_ptr< Group const > getResolvedGroup (ProductID const pid, bool resolveProd) const
 

Private Member Functions

ProcessHistoryID const & processHistoryID () const override
 
void setProcessHistoryID (ProcessHistoryID const &phid) override
 

Private Attributes

SubRunAuxiliary aux_
 
cet::exempt_ptr< RunPrincipal const > runPrincipal_ {nullptr}
 
RangeSet rangeSet_ {RangeSet::invalid()}
 
bool const parentageEnabled_ {true}
 
bool const rangesEnabled_ {true}
 

Detailed Description

Definition at line 28 of file SubRunPrincipal.h.

Member Typedef Documentation

Definition at line 30 of file SubRunPrincipal.h.

using art::Principal::const_iterator = GroupCollection::const_iterator
inherited

Definition at line 52 of file Principal.h.

using art::Principal::GroupCollection = std::map<ProductID, std::unique_ptr<Group>>
inherited

Definition at line 51 of file Principal.h.

using art::Principal::GroupQueryResultVec = std::vector<GroupQueryResult>
inherited

Definition at line 54 of file Principal.h.

Definition at line 56 of file Principal.h.

Definition at line 53 of file Principal.h.

using art::Principal::size_type = GroupCollection::size_type
inherited

Definition at line 55 of file Principal.h.

Constructor & Destructor Documentation

art::SubRunPrincipal::SubRunPrincipal ( SubRunAuxiliary const &  ,
ProcessConfiguration const &  ,
cet::exempt_ptr< ProductTable const >  presentProducts,
bool const  parentageEnabled = true,
bool const  rangesEnabled = true,
std::unique_ptr< BranchMapper > &&  = std::make_unique< BranchMapper >(),
std::unique_ptr< DelayedReader > &&  = std::make_unique< NoDelayedReader >() 
)

Member Function Documentation

void art::Principal::addSecondaryPrincipal ( std::unique_ptr< Principal > &&  val)
inlineinherited

Definition at line 100 of file Principal.h.

References art::Principal::secondaryPrincipals_.

101  {
102  secondaryPrincipals_.emplace_back(std::move(val));
103  }
std::vector< std::unique_ptr< Principal > > secondaryPrincipals_
Definition: Principal.h:300
void art::Principal::addToProcessHistory ( )
inherited
SubRunAuxiliary const& art::SubRunPrincipal::aux ( ) const
inline

Definition at line 56 of file SubRunPrincipal.h.

References aux_.

Referenced by beginTime(), endTime(), id(), run(), and subRun().

57  {
58  return aux_;
59  }
SubRunAuxiliary aux_
const_iterator art::Principal::begin ( ) const
inlineinherited

Definition at line 156 of file Principal.h.

References art::Principal::groups_.

157  {
158  return groups_.begin();
159  }
GroupCollection groups_
Definition: Principal.h:287
Timestamp const& art::SubRunPrincipal::beginTime ( ) const
inline

Definition at line 76 of file SubRunPrincipal.h.

References aux(), and art::SubRunAuxiliary::beginTime().

77  {
78  return aux().beginTime();
79  }
Timestamp const & beginTime() const
SubRunAuxiliary const & aux() const
BranchMapper const& art::Principal::branchMapper ( ) const
inlineinherited

Definition at line 144 of file Principal.h.

References art::Principal::branchMapperPtr_.

Referenced by art::Principal::fillGroup().

145  {
146  return *branchMapperPtr_;
147  }
std::unique_ptr< BranchMapper > branchMapperPtr_
Definition: Principal.h:291
BranchMapper& art::Principal::branchMapper ( )
inlineprotectedinherited

Definition at line 196 of file Principal.h.

References art::Principal::branchMapperPtr_.

197  {
198  return *branchMapperPtr_;
199  }
std::unique_ptr< BranchMapper > branchMapperPtr_
Definition: Principal.h:291
BranchType art::SubRunPrincipal::branchType ( ) const
inlineoverridevirtual

Implements art::Principal.

Definition at line 111 of file SubRunPrincipal.h.

References branch_type.

112  {
113  return branch_type;
114  }
static constexpr BranchType branch_type
const_iterator art::Principal::cbegin ( ) const
inlineinherited

Definition at line 162 of file Principal.h.

References art::Principal::groups_.

163  {
164  return groups_.cbegin();
165  }
GroupCollection groups_
Definition: Principal.h:287
const_iterator art::Principal::cend ( ) const
inlineinherited
const_iterator art::Principal::end ( ) const
inlineinherited

Definition at line 168 of file Principal.h.

References art::Principal::groups_.

169  {
170  return groups_.end();
171  }
GroupCollection groups_
Definition: Principal.h:287
Timestamp const& art::SubRunPrincipal::endTime ( ) const
inline

Definition at line 81 of file SubRunPrincipal.h.

References aux(), and art::SubRunAuxiliary::endTime().

Referenced by art::BeginEndPackage< Level::SubRun >::End::preScheduleSignal().

82  {
83  return aux().endTime();
84  }
Timestamp const & endTime() const
SubRunAuxiliary const & aux() const
void art::SubRunPrincipal::fillGroup ( BranchDescription const &  )
overridevirtual

Implements art::Principal.

Referenced by setEndTime().

void art::Principal::fillGroup ( std::unique_ptr< Group > &&  group)
inlineprotectedinherited

Definition at line 209 of file Principal.h.

References ana::assert(), art::Principal::branchMapper(), art::Principal::deferredGetter_(), art::Principal::findGroups(), art::Principal::findGroupsForProcess(), art::Principal::findGroupsForProduct(), art::Principal::findGroupsFromInputFile(), art::BranchDescription::friendlyClassName(), art::Principal::getGroup(), art::Principal::getGroupForPtr(), art::Principal::getResolvedGroup(), hadd_reco_validation::group, art::Principal::groups_, art::Principal::matchingSequenceFromInputFile(), art::BranchDescription::moduleLabel(), BlessedPlots::pid, art::Principal::presentFromSource(), art::Principal::processHistoryID(), art::BranchDescription::processName(), art::BranchDescription::producedClassName(), art::BranchDescription::productID(), makeDatasetsPage::results, art::Principal::setProcessHistoryID(), art::Principal::store_, and art::Principal::tryNextSecondaryFile().

210  {
211  BranchDescription const& pd = group->productDescription();
212  assert(!pd.producedClassName().empty());
213  assert(!pd.friendlyClassName().empty());
214  assert(!pd.moduleLabel().empty());
215  assert(!pd.processName().empty());
216  group->setResolvers(branchMapper(), *store_);
217  groups_[pd.productID()] = std::move(group);
218  }
GroupCollection groups_
Definition: Principal.h:287
std::unique_ptr< DelayedReader > store_
Definition: Principal.h:295
BranchMapper const & branchMapper() const
Definition: Principal.h:144
assert(nhit_max >=nhit_nbins)
GroupQueryResult art::Principal::getByLabel ( WrappedTypeID const &  wrapped,
std::string const &  label,
std::string const &  productInstanceName,
std::string const &  processName 
) const
inherited
GroupQueryResult art::Principal::getByProductID ( ProductID const  pid) const
inherited
GroupQueryResult art::Principal::getBySelector ( WrappedTypeID const &  wrapped,
SelectorBase const &   
) const
inherited
EDProductGetter const* art::EDProductGetterFinder::getEDProductGetter ( ProductID const  pid) const
inlineinherited

Definition at line 25 of file EDProductGetterFinder.h.

References art::EDProductGetterFinder::getEDProductGetterImpl().

26  {
28  }
virtual EDProductGetter const * getEDProductGetterImpl(ProductID) const =0
OutputHandle art::Principal::getForOutput ( ProductID  const,
bool  resolveProd 
) const
inherited
cet::exempt_ptr<Group const> art::Principal::getGroup ( ProductID const  pid) const
protectedinherited
cet::exempt_ptr<Group const> art::Principal::getGroupForPtr ( ProductID const  pid) const
protectedinherited
GroupQueryResultVec art::Principal::getMany ( WrappedTypeID const &  wrapped,
SelectorBase const &   
) const
inherited
GroupQueryResultVec art::Principal::getMatchingSequence ( SelectorBase const &  ) const
inherited
cet::exempt_ptr<Group const> art::Principal::getResolvedGroup ( ProductID const  pid,
bool  resolveProd 
) const
protectedinherited
SubRunID art::SubRunPrincipal::id ( ) const
inline

Definition at line 61 of file SubRunPrincipal.h.

References aux(), and art::SubRunAuxiliary::id().

Referenced by art::BeginEndPackage< Level::SubRun >::End::preScheduleSignal(), art::rangeSetFor(), art::Source< T >::throwIfInsane_(), and art::RootOutput::writeSubRun().

62  {
63  return aux().id();
64  }
SubRunID const & id() const
SubRunAuxiliary const & aux() const
bool art::SubRunPrincipal::parentageEnabled ( ) const
inlineoverridevirtual

Implements art::Principal.

Definition at line 117 of file SubRunPrincipal.h.

References parentageEnabled_.

118  {
119  return parentageEnabled_;
120  }
bool const parentageEnabled_
ProcessConfiguration const& art::Principal::processConfiguration ( ) const
inlineinherited

Definition at line 138 of file Principal.h.

References art::Principal::processConfiguration_.

139  {
140  return processConfiguration_;
141  }
ProcessConfiguration const & processConfiguration_
Definition: Principal.h:277
ProcessHistory const& art::Principal::processHistory ( ) const
inlineinherited

Definition at line 132 of file Principal.h.

References art::Principal::processHistory_.

133  {
134  return processHistory_;
135  }
ProcessHistory processHistory_
Definition: Principal.h:272
ProcessHistoryID const& art::SubRunPrincipal::processHistoryID ( ) const
overrideprivatevirtual

Implements art::Principal.

Referenced by rangesEnabled().

EDProductGetter const* art::Principal::productGetter ( ProductID const  pid) const
inherited
DelayedReader& art::Principal::productReader ( )
inlineprotectedinherited

Definition at line 202 of file Principal.h.

References art::Principal::store_.

203  {
204  return *store_;
205  }
std::unique_ptr< DelayedReader > store_
Definition: Principal.h:295
void art::SubRunPrincipal::put ( std::unique_ptr< EDProduct > &&  ,
BranchDescription const &  ,
std::unique_ptr< ProductProvenance const > &&  ,
RangeSet &&   
)

Referenced by setEndTime().

bool art::SubRunPrincipal::rangesEnabled ( ) const
inlineoverridevirtual

Implements art::Principal.

Definition at line 123 of file SubRunPrincipal.h.

References processHistoryID(), rangesEnabled_, and setProcessHistoryID().

124  {
125  return rangesEnabled_;
126  }
void art::Principal::readImmediate ( ) const
inlineinherited

Definition at line 112 of file Principal.h.

References art::Principal::groups_, art::Principal::readProvenanceImmediate(), and febshutoff_auto::val.

113  {
115  for (auto const& val : groups_) {
116  if (!val.second->productUnavailable()) {
117  val.second->resolveProduct(val.second->producedWrapperType());
118  }
119  }
120  }
GroupCollection groups_
Definition: Principal.h:287
void readProvenanceImmediate() const
Definition: Principal.h:123
void art::Principal::readProvenanceImmediate ( ) const
inlineinherited

Definition at line 123 of file Principal.h.

References art::Principal::branchMapperPtr_, art::Principal::groups_, febshutoff_auto::val, and void().

Referenced by art::Principal::readImmediate().

124  {
125  for (auto const& val : groups_) {
126  (void)val.second->productProvenancePtr();
127  }
128  branchMapperPtr_->setDelayedRead(false);
129  }
std::unique_ptr< BranchMapper > branchMapperPtr_
Definition: Principal.h:291
GroupCollection groups_
Definition: Principal.h:287
typedef void(XMLCALL *XML_ElementDeclHandler)(void *userData
void art::Principal::removeCachedProduct ( ProductID const  pid) const
inherited
RunNumber_t art::SubRunPrincipal::run ( ) const
inline

Definition at line 66 of file SubRunPrincipal.h.

References aux(), and art::SubRunAuxiliary::run().

67  {
68  return aux().run();
69  }
SubRunAuxiliary const & aux() const
RunNumber_t run() const
RunPrincipal const& art::SubRunPrincipal::runPrincipal ( ) const
cet::exempt_ptr<RunPrincipal const> art::SubRunPrincipal::runPrincipalExemptPtr ( ) const
inline

Definition at line 45 of file SubRunPrincipal.h.

References runPrincipal_.

Referenced by art::Source< T >::throwIfInsane_().

46  {
47  return runPrincipal_;
48  }
cet::exempt_ptr< RunPrincipal const > runPrincipal_
RangeSet art::SubRunPrincipal::seenRanges ( ) const
inlineoverridevirtual

Implements art::Principal.

Definition at line 100 of file SubRunPrincipal.h.

References rangeSet_.

101  {
102  return rangeSet_;
103  }
void art::SubRunPrincipal::setEndTime ( Timestamp const &  time)
inline

Definition at line 87 of file SubRunPrincipal.h.

References aux_, fillGroup(), put(), and art::SubRunAuxiliary::setEndTime().

88  {
90  }
SubRunAuxiliary aux_
void setEndTime(Timestamp const &time)
void art::SubRunPrincipal::setProcessHistoryID ( ProcessHistoryID const &  phid)
overrideprivatevirtual

Implements art::Principal.

Referenced by rangesEnabled().

void art::Principal::setProducedProducts ( ProductTable const &  producedProducts)
inlineinherited

Definition at line 106 of file Principal.h.

References cet::make_exempt_ptr(), and art::Principal::producedProducts_.

107  {
108  producedProducts_ = cet::make_exempt_ptr(&producedProducts);
109  }
cet::exempt_ptr< ProductTable const > producedProducts_
Definition: Principal.h:279
exempt_ptr< E > make_exempt_ptr(E *) noexcept
void art::SubRunPrincipal::setRunPrincipal ( cet::exempt_ptr< RunPrincipal const >  rp)
inline

Definition at line 50 of file SubRunPrincipal.h.

References runPrincipal_.

51  {
52  runPrincipal_ = rp;
53  }
cet::exempt_ptr< RunPrincipal const > runPrincipal_
size_t art::Principal::size ( void  ) const
inlineinherited

Definition at line 150 of file Principal.h.

References art::Principal::groups_.

151  {
152  return groups_.size();
153  }
GroupCollection groups_
Definition: Principal.h:287
SubRunNumber_t art::SubRunPrincipal::subRun ( ) const
inline

Definition at line 71 of file SubRunPrincipal.h.

References aux(), and art::SubRunAuxiliary::subRun().

Referenced by daq2raw::BeamlineRawInputDriver::makeSpill().

72  {
73  return aux().subRun();
74  }
SubRunNumber_t subRun() const
SubRunAuxiliary const & aux() const
int art::Principal::tryNextSecondaryFile ( ) const
protectedinherited
void art::SubRunPrincipal::updateSeenRanges ( RangeSet const &  rs)
inline

Definition at line 105 of file SubRunPrincipal.h.

References rangeSet_.

106  {
107  rangeSet_ = rs;
108  }

Member Data Documentation

SubRunAuxiliary art::SubRunPrincipal::aux_
private

Definition at line 132 of file SubRunPrincipal.h.

Referenced by aux(), and setEndTime().

constexpr BranchType art::SubRunPrincipal::branch_type = Auxiliary::branch_type
static

Definition at line 31 of file SubRunPrincipal.h.

Referenced by branchType().

bool const art::SubRunPrincipal::parentageEnabled_ {true}
private

Definition at line 135 of file SubRunPrincipal.h.

Referenced by parentageEnabled().

bool const art::SubRunPrincipal::rangesEnabled_ {true}
private

Definition at line 136 of file SubRunPrincipal.h.

Referenced by rangesEnabled().

RangeSet art::SubRunPrincipal::rangeSet_ {RangeSet::invalid()}
private

Definition at line 134 of file SubRunPrincipal.h.

Referenced by seenRanges(), and updateSeenRanges().

cet::exempt_ptr<RunPrincipal const> art::SubRunPrincipal::runPrincipal_ {nullptr}
private

Definition at line 133 of file SubRunPrincipal.h.

Referenced by runPrincipalExemptPtr(), and setRunPrincipal().


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