CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions
FWItemNewDetSetAccessor< C, COLL, V > Class Template Reference

#include <FWItemRandomAccessor.h>

Inheritance diagram for FWItemNewDetSetAccessor< C, COLL, V >:
FWItemRandomAccessorBase FWItemAccessorBase

Public Types

typedef COLL collection_type
 
typedef V collection_value_type
 
typedef C container_type
 

Public Member Functions

 FWItemNewDetSetAccessor (const TClass *iClass)
 
const void * modelData (int iIndex) const
 
 REGISTER_FWITEMACCESSOR_METHODS ()
 
unsigned int size () const
 
- Public Member Functions inherited from FWItemRandomAccessorBase
const void * data () const
 
bool isCollection () const
 
const TClass * modelType () const
 
virtual void reset ()
 
void setData (const edm::ObjectWithDict &)
 override if id of an object should be different than the index More...
 
const TClass * type () const
 
virtual ~FWItemRandomAccessorBase ()
 
- Public Member Functions inherited from FWItemAccessorBase
 FWItemAccessorBase ()
 
virtual ~FWItemAccessorBase ()
 

Additional Inherited Members

- Protected Member Functions inherited from FWItemRandomAccessorBase
 FWItemRandomAccessorBase (const TClass *type, const type_info &modelTypeName)
 
void * getDataPtr () const
 
- Protected Attributes inherited from FWItemRandomAccessorBase
void * m_data
 
const TClass * m_modelType
 
const TClass * m_type
 

Detailed Description

template<class C, class COLL = typename C::value_type, class V = typename COLL::value_type>
class FWItemNewDetSetAccessor< C, COLL, V >

Specialized accessor for the new edmNew::DetSetVector classes.

Definition at line 156 of file FWItemRandomAccessor.h.

Member Typedef Documentation

template<class C , class COLL = typename C::value_type, class V = typename COLL::value_type>
typedef COLL FWItemNewDetSetAccessor< C, COLL, V >::collection_type

Definition at line 160 of file FWItemRandomAccessor.h.

template<class C , class COLL = typename C::value_type, class V = typename COLL::value_type>
typedef V FWItemNewDetSetAccessor< C, COLL, V >::collection_value_type

Definition at line 161 of file FWItemRandomAccessor.h.

template<class C , class COLL = typename C::value_type, class V = typename COLL::value_type>
typedef C FWItemNewDetSetAccessor< C, COLL, V >::container_type

Definition at line 159 of file FWItemRandomAccessor.h.

Constructor & Destructor Documentation

template<class C , class COLL = typename C::value_type, class V = typename COLL::value_type>
FWItemNewDetSetAccessor< C, COLL, V >::FWItemNewDetSetAccessor ( const TClass *  iClass)
inline

Definition at line 163 of file FWItemRandomAccessor.h.

165  {}
FWItemRandomAccessorBase(const TClass *type, const type_info &modelTypeName)

Member Function Documentation

template<class C , class COLL = typename C::value_type, class V = typename COLL::value_type>
const void* FWItemNewDetSetAccessor< C, COLL, V >::modelData ( int  iIndex) const
inlinevirtual

Implements FWItemAccessorBase.

Definition at line 169 of file FWItemRandomAccessor.h.

References trackerHits::c, and FWItemRandomAccessorBase::getDataPtr().

170  {
171  if (!getDataPtr())
172  return 0;
173  const container_type *c = reinterpret_cast<const container_type*>(getDataPtr());
174  if (iIndex < 0)
175  return 0;
176 
177  return &(c->data().operator[](iIndex));
178  }
template<class C , class COLL = typename C::value_type, class V = typename COLL::value_type>
FWItemNewDetSetAccessor< C, COLL, V >::REGISTER_FWITEMACCESSOR_METHODS ( )
template<class C , class COLL = typename C::value_type, class V = typename COLL::value_type>
unsigned int FWItemNewDetSetAccessor< C, COLL, V >::size ( void  ) const
inlinevirtual

Implements FWItemAccessorBase.

Definition at line 180 of file FWItemRandomAccessor.h.

References trackerHits::c, and FWItemRandomAccessorBase::getDataPtr().

181  {
182  if (!getDataPtr())
183  return 0;
184  const container_type *c = reinterpret_cast<const container_type*>(getDataPtr());
185  return c->dataSize();
186  }