Public Types | Public Member Functions | Private Attributes | List of all members
art::Group Class Referencefinal

#include "/cvmfs/nova.opensciencegrid.org/externals/art/v3_05_01/source/art/Framework/Principal/Group.h"

Inheritance diagram for art::Group:
art::EDProductGetter

Public Types

enum  grouptype { grouptype::normal = 0, grouptype::assns = 1, grouptype::assnsWithData = 2 }
 

Public Member Functions

 ~Group ()
 
 Group (DelayedReader *, BranchDescription const &, std::unique_ptr< RangeSet > &&, grouptype const gt, std::unique_ptr< EDProduct > &&edp=nullptr)
 
 Group (Group const &)=delete
 
 Group (Group &&)=delete
 
Groupoperator= (Group const &)=delete
 
Groupoperator= (Group &&)=delete
 
virtual EDProduct const * getIt_ () const override
 
EDProduct const * anyProduct () const
 
EDProduct const * uniqueProduct () const
 
EDProduct const * uniqueProduct (TypeID const &) const
 
bool resolveProductIfAvailable (TypeID wanted_wrapper=TypeID{}) const
 
bool tryToResolveProduct (TypeID const &)
 
void removeCachedProduct ()
 
BranchDescription const & productDescription () const
 
ProductID productID () const
 
RangeSet const & rangeOfValidity () const
 
bool productAvailable () const
 
cet::exempt_ptr< ProductProvenance const > productProvenance () const
 
void setProductProvenance (std::unique_ptr< ProductProvenance const > &&)
 
void setProductAndProvenance (std::unique_ptr< ProductProvenance const > &&, std::unique_ptr< EDProduct > &&, std::unique_ptr< RangeSet > &&)
 
EDProduct const * getIt () const
 

Private Attributes

BranchDescription const & branchDescription_
 
cet::exempt_ptr< DelayedReader const > const delayedReader_ {}
 
hep::concurrency::RecursiveMutex mutex_ {"Group::mutex_"}
 
std::atomic< ProductProvenance const * > productProvenance_
 
std::atomic< EDProduct * > product_
 
std::atomic< RangeSet * > rangeSet_
 
grouptype const grpType_ {grouptype::normal}
 
std::atomic< EDProduct * > partnerProduct_
 
std::atomic< EDProduct * > baseProduct_
 
std::atomic< EDProduct * > partnerBaseProduct_
 

Detailed Description

Definition at line 33 of file Group.h.

Member Enumeration Documentation

enum art::Group::grouptype
strong
Enumerator
normal 
assns 
assnsWithData 

Definition at line 37 of file Group.h.

37 { normal = 0, assns = 1, assnsWithData = 2 };

Constructor & Destructor Documentation

art::Group::~Group ( )
art::Group::Group ( DelayedReader ,
BranchDescription const &  ,
std::unique_ptr< RangeSet > &&  ,
grouptype const  gt,
std::unique_ptr< EDProduct > &&  edp = nullptr 
)
art::Group::Group ( Group const &  )
delete
art::Group::Group ( Group &&  )
delete

Member Function Documentation

EDProduct const* art::Group::anyProduct ( ) const
EDProduct const* art::EDProductGetter::getIt ( ) const
inherited
virtual EDProduct const* art::Group::getIt_ ( ) const
overridevirtual

Reimplemented from art::EDProductGetter.

Group& art::Group::operator= ( Group const &  )
delete
Group& art::Group::operator= ( Group &&  )
delete
bool art::Group::productAvailable ( ) const
BranchDescription const& art::Group::productDescription ( ) const
ProductID art::Group::productID ( ) const
cet::exempt_ptr<ProductProvenance const> art::Group::productProvenance ( ) const
RangeSet const& art::Group::rangeOfValidity ( ) const
void art::Group::removeCachedProduct ( )
bool art::Group::resolveProductIfAvailable ( TypeID  wanted_wrapper = TypeID{}) const
void art::Group::setProductAndProvenance ( std::unique_ptr< ProductProvenance const > &&  ,
std::unique_ptr< EDProduct > &&  ,
std::unique_ptr< RangeSet > &&   
)
void art::Group::setProductProvenance ( std::unique_ptr< ProductProvenance const > &&  )
bool art::Group::tryToResolveProduct ( TypeID const &  )
EDProduct const* art::Group::uniqueProduct ( ) const
EDProduct const* art::Group::uniqueProduct ( TypeID const &  ) const

Member Data Documentation

std::atomic<EDProduct*> art::Group::baseProduct_
mutableprivate

Definition at line 126 of file Group.h.

BranchDescription const& art::Group::branchDescription_
private

Definition at line 83 of file Group.h.

cet::exempt_ptr<DelayedReader const> const art::Group::delayedReader_ {}
private

Definition at line 87 of file Group.h.

grouptype const art::Group::grpType_ {grouptype::normal}
private

Definition at line 112 of file Group.h.

hep::concurrency::RecursiveMutex art::Group::mutex_ {"Group::mutex_"}
mutableprivate

Definition at line 97 of file Group.h.

std::atomic<EDProduct*> art::Group::partnerBaseProduct_
mutableprivate

Definition at line 130 of file Group.h.

std::atomic<EDProduct*> art::Group::partnerProduct_
mutableprivate

Definition at line 119 of file Group.h.

std::atomic<EDProduct*> art::Group::product_
mutableprivate

Definition at line 106 of file Group.h.

std::atomic<ProductProvenance const*> art::Group::productProvenance_
private

Definition at line 101 of file Group.h.

std::atomic<RangeSet*> art::Group::rangeSet_
mutableprivate

Definition at line 110 of file Group.h.


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