CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
FWItemRandomAccessorBase Class Reference

#include <FWItemRandomAccessor.h>

Inheritance diagram for FWItemRandomAccessorBase:
FWItemAccessorBase FWItemDetSetAccessor< C, COLL, V > FWItemMuonDigiAccessor< C, V > FWItemNewDetSetAccessor< C, COLL, V > FWItemRandomAccessor< C, V > FWItemRangeAccessor< C, R, V >

Public Member Functions

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 const void * modelData (int iIndex) const =0
 
virtual unsigned int size () const =0
 
virtual ~FWItemAccessorBase ()
 

Protected Member Functions

 FWItemRandomAccessorBase (const TClass *type, const std::type_info &modelTypeName)
 
void * getDataPtr () const
 

Protected Attributes

void * m_data
 
const TClass * m_modelType
 
const TClass * m_type
 

Private Member Functions

 FWItemRandomAccessorBase (const FWItemRandomAccessorBase &)
 
const FWItemRandomAccessorBaseoperator= (const FWItemRandomAccessorBase &)
 

Detailed Description

Non templated part of the generic FWItemRandomAccessor<T> class.

Notice that the constructor is protected, so that it is impossible to instanciate this baseclass directly.

Definition at line 28 of file FWItemRandomAccessor.h.

Constructor & Destructor Documentation

FWItemRandomAccessorBase::~FWItemRandomAccessorBase ( )
virtual

Definition at line 36 of file FWItemRandomAccessor.cc.

37 {
38 }
FWItemRandomAccessorBase::FWItemRandomAccessorBase ( const TClass *  type,
const std::type_info &  modelTypeName 
)
protected

Definition at line 24 of file FWItemRandomAccessor.cc.

25 :m_type(type),
26  m_modelType(TClass::GetClass(modelTypeName)),
27  m_data(0)
28 {
29 }
type
Definition: HCALResponse.h:21
FWItemRandomAccessorBase::FWItemRandomAccessorBase ( const FWItemRandomAccessorBase )
private

Member Function Documentation

const void * FWItemRandomAccessorBase::data ( ) const
virtual

Implements FWItemAccessorBase.

Definition at line 78 of file FWItemRandomAccessor.cc.

References m_data.

79 {
80  return m_data;
81 }
void * FWItemRandomAccessorBase::getDataPtr ( ) const
protected
bool FWItemRandomAccessorBase::isCollection ( ) const
virtual

Implements FWItemAccessorBase.

Definition at line 103 of file FWItemRandomAccessor.cc.

104 {
105  return true;
106 }
const TClass * FWItemRandomAccessorBase::modelType ( ) const
virtual

Implements FWItemAccessorBase.

Definition at line 96 of file FWItemRandomAccessor.cc.

References m_modelType.

97 {
98  assert(m_modelType);
99  return m_modelType;
100 }
const FWItemRandomAccessorBase& FWItemRandomAccessorBase::operator= ( const FWItemRandomAccessorBase )
private
void FWItemRandomAccessorBase::reset ( void  )
virtual

Implements FWItemAccessorBase.

Definition at line 69 of file FWItemRandomAccessor.cc.

References m_data.

Referenced by setData().

70 {
71  m_data = 0;
72 }
void FWItemRandomAccessorBase::setData ( const edm::ObjectWithDict )
virtual

override if id of an object should be different than the index

Implements FWItemAccessorBase.

Definition at line 56 of file FWItemRandomAccessor.cc.

References edm::ObjectWithDict::address(), m_data, and reset().

57 {
58  if (product.address() == 0)
59  {
60  reset();
61  return;
62  }
63 
64  m_data = product.address();
65  assert(0!=m_data);
66 }
const TClass * FWItemRandomAccessorBase::type ( ) const
virtual

Member Data Documentation

void* FWItemRandomAccessorBase::m_data
mutableprotected

Definition at line 47 of file FWItemRandomAccessor.h.

Referenced by data(), getDataPtr(), reset(), and setData().

const TClass* FWItemRandomAccessorBase::m_modelType
protected

Definition at line 46 of file FWItemRandomAccessor.h.

Referenced by modelType().

const TClass* FWItemRandomAccessorBase::m_type
protected

Definition at line 45 of file FWItemRandomAccessor.h.

Referenced by type().