CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

edm::InputGroup Class Reference

#include <Group.h>

Inheritance diagram for edm::InputGroup:
edm::Group

List of all members.

Public Member Functions

 InputGroup (boost::shared_ptr< ConstBranchDescription > bd)
bool productIsUnavailable () const
void setProduct (WrapperOwningHolder const &prod) const
void setProductUnavailable () const
virtual ~InputGroup ()

Private Member Functions

virtual ConstBranchDescription
const & 
branchDescription_ () const
virtual void checkType_ (WrapperOwningHolder const &) const
virtual ProductDatagetProductData ()
virtual ProductData const & getProductData () const
virtual void mergeProduct_ (WrapperOwningHolder const &edp) const
virtual void mergeProduct_ (WrapperOwningHolder const &edp, ProductProvenance &productProvenance)
virtual bool onDemand_ () const
virtual bool productUnavailable_ () const
virtual bool productWasDeleted_ () const
virtual bool putOrMergeProduct_ () const
virtual void putProduct_ (WrapperOwningHolder const &edp, ProductProvenance const &productProvenance)
virtual void putProduct_ (WrapperOwningHolder const &edp) const
virtual void resetBranchDescription_ (boost::shared_ptr< ConstBranchDescription > bd)
virtual void resetStatus_ ()
virtual void setProductDeleted_ ()
virtual void swap_ (Group &rhs)

Private Attributes

ProductData productData_
bool productHasBeenDeleted_
bool productIsUnavailable_

Detailed Description

Definition at line 184 of file Group.h.


Constructor & Destructor Documentation

edm::InputGroup::InputGroup ( boost::shared_ptr< ConstBranchDescription bd) [inline, explicit]

Definition at line 186 of file Group.h.

edm::InputGroup::~InputGroup ( ) [virtual]

Definition at line 14 of file Group.cc.

{}

Member Function Documentation

virtual ConstBranchDescription const& edm::InputGroup::branchDescription_ ( ) const [inline, private, virtual]

Implements edm::Group.

Definition at line 218 of file Group.h.

References edm::ProductData::branchDescription(), and edm::Group::productData().

{return *productData().branchDescription();}
virtual void edm::InputGroup::checkType_ ( WrapperOwningHolder const &  ) const [inline, private, virtual]

Implements edm::Group.

Definition at line 209 of file Group.h.

{}
virtual ProductData& edm::InputGroup::getProductData ( ) [inline, private, virtual]

Implements edm::Group.

Definition at line 216 of file Group.h.

References productData_.

{return productData_;}
virtual ProductData const& edm::InputGroup::getProductData ( ) const [inline, private, virtual]

Implements edm::Group.

Definition at line 215 of file Group.h.

References productData_.

{return productData_;}
void edm::InputGroup::mergeProduct_ ( WrapperOwningHolder const &  edp,
ProductProvenance productProvenance 
) [private, virtual]

Implements edm::Group.

Definition at line 93 of file Group.cc.

                            {
    assert(0);
  }
void edm::InputGroup::mergeProduct_ ( WrapperOwningHolder const &  edp) const [private, virtual]

Implements edm::Group.

Definition at line 100 of file Group.cc.

References edm::Group::mergeTheProduct().

                                                                {
    mergeTheProduct(edp);
  }
virtual bool edm::InputGroup::onDemand_ ( ) const [inline, private, virtual]

Implements edm::Group.

Definition at line 212 of file Group.h.

{return false;}
bool edm::InputGroup::productIsUnavailable ( ) const [inline]

Definition at line 195 of file Group.h.

References productIsUnavailable_.

Referenced by productUnavailable_().

bool edm::InputGroup::productUnavailable_ ( ) const [private, virtual]

Implements edm::Group.

Definition at line 161 of file Group.cc.

References edm::WrapperHolder::isPresent(), edm::Group::product(), productIsUnavailable(), setProductUnavailable(), and edm::Group::wrapper().

                                        {
    if(productIsUnavailable()) {
      return true;
    }
    // If there is a product, we know if it is real or a dummy.
    if(product()) {
      bool unavailable = !(wrapper().isPresent());
      if(unavailable) {
        setProductUnavailable();
      }
      return unavailable;
    }
    return false;
  }
virtual bool edm::InputGroup::productWasDeleted_ ( ) const [inline, private, virtual]

Implements edm::Group.

Definition at line 214 of file Group.h.

References productHasBeenDeleted_.

bool edm::InputGroup::putOrMergeProduct_ ( ) const [private, virtual]

Implements edm::Group.

Definition at line 105 of file Group.cc.

References edm::Group::product().

                                       {
    return(!product());
  }
void edm::InputGroup::putProduct_ ( WrapperOwningHolder const &  edp,
ProductProvenance const &  productProvenance 
) [private, virtual]

Implements edm::Group.

Definition at line 82 of file Group.cc.

References edm::Group::product(), edm::Group::provenance(), setProduct(), and edm::Group::setProductProvenance().

                                                    {
    assert(!product());
    assert(!provenance()->productProvenanceValid());
    setProductProvenance(productProvenance);
    assert(provenance()->productProvenanceValid());
    setProduct(edp);
  }
void edm::InputGroup::putProduct_ ( WrapperOwningHolder const &  edp) const [private, virtual]

Implements edm::Group.

Definition at line 110 of file Group.cc.

References edm::Group::product(), and setProduct().

                                                              {
    assert(!product());
    setProduct(edp);
  }
virtual void edm::InputGroup::resetBranchDescription_ ( boost::shared_ptr< ConstBranchDescription bd) [inline, private, virtual]

Implements edm::Group.

Definition at line 219 of file Group.h.

References edm::Group::productData(), and edm::ProductData::resetBranchDescription().

{productData().resetBranchDescription(bd);}
virtual void edm::InputGroup::resetStatus_ ( ) [inline, private, virtual]

Implements edm::Group.

Definition at line 210 of file Group.h.

References productHasBeenDeleted_, and productIsUnavailable_.

void edm::InputGroup::setProduct ( WrapperOwningHolder const &  prod) const
virtual void edm::InputGroup::setProductDeleted_ ( ) [inline, private, virtual]

Implements edm::Group.

Definition at line 217 of file Group.h.

References productHasBeenDeleted_.

void edm::InputGroup::setProductUnavailable ( ) const [inline]

Definition at line 196 of file Group.h.

References productIsUnavailable_.

Referenced by productUnavailable_(), and setProduct().

virtual void edm::InputGroup::swap_ ( Group rhs) [inline, private, virtual]

Implements edm::Group.

Definition at line 199 of file Group.h.

References productData_, productIsUnavailable_, and edm::Group::swap().

                                     {
        InputGroup& other = dynamic_cast<InputGroup&>(rhs);
        edm::swap(productData_, other.productData_);
        std::swap(productIsUnavailable_, other.productIsUnavailable_);
      }

Member Data Documentation

Definition at line 221 of file Group.h.

Referenced by getProductData(), and swap_().

bool edm::InputGroup::productHasBeenDeleted_ [mutable, private]

Definition at line 223 of file Group.h.

Referenced by productWasDeleted_(), resetStatus_(), and setProductDeleted_().

bool edm::InputGroup::productIsUnavailable_ [mutable, private]

Definition at line 222 of file Group.h.

Referenced by productIsUnavailable(), resetStatus_(), setProductUnavailable(), and swap_().