CMS 3D CMS Logo

edm::EdmEventItemGetter< RefType > Class Template Reference

Helper class that fetches some type of Ref given ProductID and index, using the edm::Event. More...

#include <DataFormats/Common/interface/AssociativeIterator.h>

List of all members.

Public Types

typedef RefType::value_type element_type

Public Member Functions

 EdmEventItemGetter (const edm::Event &iEvent)
RefType get (const ProductID &id, size_t idx) const
 ~EdmEventItemGetter ()

Private Attributes

ProductID id_
const edm::EventiEvent_
Handle< View< element_type > > view_


Detailed Description

template<typename RefType>
class edm::EdmEventItemGetter< RefType >

Helper class that fetches some type of Ref given ProductID and index, using the edm::Event.

Definition at line 78 of file AssociativeIterator.h.


Member Typedef Documentation

template<typename RefType>
typedef RefType::value_type edm::EdmEventItemGetter< RefType >::element_type

Definition at line 80 of file AssociativeIterator.h.


Constructor & Destructor Documentation

template<typename RefType>
edm::EdmEventItemGetter< RefType >::EdmEventItemGetter ( const edm::Event iEvent  )  [inline]

Definition at line 81 of file AssociativeIterator.h.

00081 : iEvent_(iEvent) { }

template<typename RefType>
edm::EdmEventItemGetter< RefType >::~EdmEventItemGetter (  )  [inline]

Definition at line 82 of file AssociativeIterator.h.

00082 { }


Member Function Documentation

template<typename RefType>
RefType edm::EdmEventItemGetter< RefType >::get ( const ProductID id,
size_t  idx 
) const [inline]

Definition at line 84 of file AssociativeIterator.h.

References conv, convert(), edm::Event::get(), id, edm::EdmEventItemGetter< RefType >::id_, edm::EdmEventItemGetter< RefType >::iEvent_, and edm::EdmEventItemGetter< RefType >::view_.

00084                                                                {
00085                 typedef typename edm::RefToBase<element_type> BaseRefType; // could also use Ptr, but then I can't do Ptr->RefToBase
00086                 if (id_ != id) {
00087                     id_ = id;
00088                     iEvent_.get(id_, view_);
00089                 }
00090                 BaseRefType ref = view_->refAt(idx);
00091                 typedef typename helper::RefConverter<BaseRefType, RefType> conv; 
00092                 return conv::convert(ref);
00093             }


Member Data Documentation

template<typename RefType>
ProductID edm::EdmEventItemGetter< RefType >::id_ [mutable, private]

Definition at line 96 of file AssociativeIterator.h.

Referenced by edm::EdmEventItemGetter< RefType >::get().

template<typename RefType>
const edm::Event& edm::EdmEventItemGetter< RefType >::iEvent_ [private]

Definition at line 97 of file AssociativeIterator.h.

Referenced by edm::EdmEventItemGetter< RefType >::get().

template<typename RefType>
Handle<View<element_type> > edm::EdmEventItemGetter< RefType >::view_ [mutable, private]

Definition at line 95 of file AssociativeIterator.h.

Referenced by edm::EdmEventItemGetter< RefType >::get().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:40:35 2009 for CMSSW by  doxygen 1.5.4