CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Public Attributes
edm::GroupData Struct Reference

#include <Group.h>

Public Member Functions

boost::shared_ptr
< ConstBranchDescription >
const & 
branchDescription () const
 
void checkType (EDProduct const &prod) const
 
 GroupData (boost::shared_ptr< ConstBranchDescription > bd)
 
void resetBranchDescription (boost::shared_ptr< ConstBranchDescription > bd)
 
void resetGroupData ()
 
void swap (GroupData &other)
 
 ~GroupData ()
 

Public Attributes

boost::shared_ptr< EDProductproduct_
 
Provenance prov_
 

Detailed Description

Definition at line 27 of file Group.h.

Constructor & Destructor Documentation

edm::GroupData::GroupData ( boost::shared_ptr< ConstBranchDescription bd)
inlineexplicit

Definition at line 28 of file Group.h.

28  :
29  product_(),
30  prov_(bd,ProductID()) {}
Provenance prov_
Definition: Group.h:54
boost::shared_ptr< EDProduct > product_
Definition: Group.h:53
edm::GroupData::~GroupData ( )
inline

Definition at line 31 of file Group.h.

31 {}

Member Function Documentation

boost::shared_ptr<ConstBranchDescription> const& edm::GroupData::branchDescription ( ) const
inline

Definition at line 36 of file Group.h.

References edm::Provenance::constBranchDescriptionPtr(), and prov_.

Referenced by edm::Group::branchDescription(), checkType(), and edm::ProducedGroup::putProduct_().

36  {
38  }
Provenance prov_
Definition: Group.h:54
boost::shared_ptr< ConstBranchDescription > const & constBranchDescriptionPtr() const
Definition: Provenance.h:48
void edm::GroupData::checkType ( EDProduct const &  prod) const

Definition at line 130 of file Group.cc.

References branchDescription(), edm::EDProduct::dynamicTypeInfo(), edm::errors::EventCorruption, and edm::hlt::Exception.

Referenced by edm::ProducedGroup::checkType_().

130  {
131  // Check if the types match.
132  TypeID typeID(prod.dynamicTypeInfo());
133  if (typeID != branchDescription()->typeID()) {
134  // Types do not match.
136  << "Product on branch " << branchDescription()->branchName() << " is of wrong type.\n"
137  << "It is supposed to be of type " << branchDescription()->className() << ".\n"
138  << "It is actually of type " << typeID.className() << ".\n";
139  }
140  }
boost::shared_ptr< ConstBranchDescription > const & branchDescription() const
Definition: Group.h:36
tuple prod
Definition: CrabTask.py:87
void edm::GroupData::resetBranchDescription ( boost::shared_ptr< ConstBranchDescription bd)
inline

Definition at line 44 of file Group.h.

References prov_, and edm::Provenance::setBranchDescription().

Referenced by edm::Group::resetBranchDescription().

44  {
46  }
Provenance prov_
Definition: Group.h:54
void setBranchDescription(boost::shared_ptr< ConstBranchDescription > const &p)
Definition: Provenance.h:98
void edm::GroupData::resetGroupData ( )
inline

Definition at line 47 of file Group.h.

References product_, prov_, and edm::Provenance::resetProductProvenance().

Referenced by edm::Group::resetGroupData().

47  {
48  product_.reset();
50  }
void resetProductProvenance()
Definition: Provenance.h:101
Provenance prov_
Definition: Group.h:54
boost::shared_ptr< EDProduct > product_
Definition: Group.h:53
void edm::GroupData::swap ( GroupData other)
inline

Definition at line 40 of file Group.h.

References product_, prov_, and edm::Provenance::swap().

Referenced by edm::swap().

40  {
41  product_.swap(other.product_);
42  prov_.swap(other.prov_);
43  }
Provenance prov_
Definition: Group.h:54
boost::shared_ptr< EDProduct > product_
Definition: Group.h:53
void swap(Provenance &)
Definition: Provenance.cc:102

Member Data Documentation

boost::shared_ptr<EDProduct> edm::GroupData::product_
mutable
Provenance edm::GroupData::prov_
mutable