| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
Converter Class Reference

Converter base class. More...

`#include <GaudiKernel/Converter.h>`

Inheritance diagram for Converter:
[legend]
Collaboration diagram for Converter:
[legend]

## Public Types
typedef Gaudi::PluginService::Factory1 < IConverter *, ISvcLocator * > | Factory
Public Types inherited from implements1< IConverter >
typedef implements1 | base_class
| Typedef to this class.
typedef extend_interfaces1 < IConverter > | extend_interfaces_base
| Typedef to the base of this class.
typedef extend_interfaces_base::ext_iids | interfaces
| MPL set of all the implemented interfaces.
Public Types inherited from extend_interfaces1< IConverter >
typedef IConverter::iid::iids::type | ext_iids
| MPL set of interfaces extended by this one.
Public Types inherited from IConverter
enum | Status { INVALID_ADDRESS = IInterface::LAST_ERROR+1, INVALID_OBJECT, NO_MEMORY, BAD_STORAGE_TYPE, NO_SOURCE_OBJECT, ICONVERSIONSVC_LAST_ERROR }
| Status code. More...
Public Types inherited from IInterface
enum | Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
| Return status. More...
typedef Gaudi::InterfaceId < IInterface, 0, 0 > | iid
| Interface ID.
typedef mpl::set1< iid > | ext_iids
| Extra interfaces.

## Public Member Functions
virtual StatusCode | initialize ()
| Initialize the converter.
virtual StatusCode | finalize ()
| Initialize the converter.
virtual StatusCode | setDataProvider (IDataProviderSvc *svc)
| Set Data provider service.
virtual SmartIF < IDataProviderSvc > & | dataProvider () const
| Get Data provider service.
virtual StatusCode | setConversionSvc (IConversionSvc *svc)
| Set conversion service the converter is connected to.
virtual SmartIF< IConversionSvc > & | conversionSvc () const
| Get conversion service the converter is connected to.
virtual StatusCode | setAddressCreator (IAddressCreator *creator)
| Set address creator facility.
virtual SmartIF < IAddressCreator > & | addressCreator () const
| Retrieve address creator facility.
virtual const CLID & | objType () const
| Retrieve the class type of objects the converter produces.
virtual long | i_repSvcType () const
| Retrieve the class type of the data store the converter uses.
virtual StatusCode | createObj (IOpaqueAddress *pAddress, DataObject *&refpObject)
| Create the transient representation of an object.
virtual StatusCode | fillObjRefs (IOpaqueAddress *pAddress, DataObject *pObject)
| Resolve the references of the created transient object.
virtual StatusCode | updateObj (IOpaqueAddress *pAddress, DataObject *refpObject)
| Update the transient object from the other representation.
virtual StatusCode | updateObjRefs (IOpaqueAddress *pAddress, DataObject *pObject)
| Update the references of an updated transient object.
virtual StatusCode | createRep (DataObject *pObject, IOpaqueAddress *&refpAddress)
| Convert the transient object to the requested representation.
virtual StatusCode | fillRepRefs (IOpaqueAddress *pAddress, DataObject *pObject)
| Resolve the references of the converted object.
virtual StatusCode | updateRep (IOpaqueAddress *pAddress, DataObject *pObject)
| Update the converted representation of a transient object.
virtual StatusCode | updateRepRefs (IOpaqueAddress *pAddress, DataObject *pObject)
| Update the references of an already converted object.
| Converter (long storage_type, const CLID &class_type, ISvcLocator *svc=0)
| Standard Constructor.
template<class T >
StatusCode | service (const std::string &name, T *&psvc, bool createIf=false) const
| Access a service by name, creating it if it doesn't already exist.
template<class T >
StatusCode | service (const std::string &type, const std::string &name, T *&psvc) const
| Access a service by name, type creating it if it doesn't already exist.
SmartIF< IService > | service (const std::string &name, const bool createIf=true) const
| Return a pointer to the service identified by name (or "type/name")

## Protected Member Functions
virtual | ~Converter ()
| Standard Destructor.
SmartIF< ISvcLocator > & | serviceLocator () const
| Retrieve pointer to service locator.
SmartIF< IMessageSvc > & | msgSvc () const
| Retrieve pointer to message service.
SmartIF< IMessageSvc > & | messageService () const
SmartIF< IDataManagerSvc > & | dataManager () const
| Get Data Manager service.

## Private Member Functions
StatusCode | service_i (const std::string &svcName, bool createIf, const InterfaceID &iid, void **ppSvc) const
| implementation of service method
StatusCode | service_i (const std::string &svcType, const std::string &svcName, const InterfaceID &iid, void **ppSvc) const

## Private Attributes
long | m_storageType
| Storage type.
const CLID | m_classType
| Class type the converter can handle.
SmartIF< IAddressCreator > | m_addressCreator
| Pointer to the address creation service interface.
SmartIF< IDataProviderSvc > | m_dataProvider
| Pointer to data provider service.
SmartIF< IDataManagerSvc > | m_dataManager
| Pointer to data manager service.
SmartIF< IConversionSvc > | m_conversionSvc
| Pointer to the connected conversion service.
SmartIF< ISvcLocator > | m_svcLocator
| Service Locator reference.
SmartIF< IMessageSvc > | m_messageSvc
| MessageSvc reference.

## Additional Inherited Members
Static Public Member Functions inherited from IInterface
static const InterfaceID & | interfaceID ()
| Return an instance of InterfaceID identifying the interface.

## Detailed Description

Converter base class.

See interface for detailed description, arguments and return values

Author
  Markus Frank

Version
  1.0

Definition at line 24 of file Converter.h.

## Member Typedef Documentation

typedef Gaudi::PluginService::Factory1<IConverter*, ISvcLocator*> Converter::Factory

Definition at line 27 of file Converter.h.

## Constructor & Destructor Documentation

Converter::Converter | ( | long | storage_type,
|  | const CLID & | class_type,
|  | ISvcLocator * | svc = `0`
| ) |  |

Standard Constructor.

Definition at line 147 of file Converter.cpp.

:
m_storageType(storage_type),
m_classType(class_type),
m_svcLocator(svc)
{
}

Converter::~Converter | ( |  | ) |
| protected virtual

Standard Destructor.

Definition at line 155 of file Converter.cpp.

{
}

## Member Function Documentation

SmartIF< IAddressCreator > & Converter::addressCreator | ( |  | ) | const
| virtual

Retrieve address creator facility.

Access the transient store.

Implements IConverter.

Definition at line 121 of file Converter.cpp.

{
return m_addressCreator;
}

SmartIF< IConversionSvc > & Converter::conversionSvc | ( |  | ) | const
| virtual

Get conversion service the converter is connected to.

Get data conversion service the converter is connected to.

Implements IConverter.

Definition at line 110 of file Converter.cpp.

{
return m_conversionSvc;
}

StatusCode Converter::createObj | ( | IOpaqueAddress * | pAddress,
|  | DataObject *& | refpObject
| ) |  |
| virtual

Create the transient representation of an object.

Implements IConverter.

Reimplemented in Gaudi::RootNTupleCnv, Gaudi::RootConverter, Gaudi::RootDatabaseCnv, Gaudi::RootDirectoryCnv, RootHistCnv::RHistogramCnv< T, S, Q >, RootHistCnv::RFileCnv, RootHistCnv::RNTupleCnv, RootHistCnv::DirectoryCnv, and RootHistCnv::RDirectoryCnv.

Definition at line 26 of file Converter.cpp.

{
return StatusCode::SUCCESS;
}

StatusCode Converter::createRep | ( | DataObject * | pObject,
|  | IOpaqueAddress *& | refpAddress
| ) |  |
| virtual

Convert the transient object to the requested representation.

Implements IConverter.

Reimplemented in Gaudi::RootDirectoryCnv, Gaudi::RootConverter, Gaudi::RootNTupleCnv, RootHistCnv::RConverter, RootHistCnv::RFileCnv, RootHistCnv::RNTupleCnv, RootHistCnv::RDirectoryCnv, and RootHistCnv::DirectoryCnv.

Definition at line 47 of file Converter.cpp.

{
return StatusCode::SUCCESS;
}

SmartIF< IDataManagerSvc > & Converter::dataManager | ( |  | ) | const
| protected

Get Data Manager service.

Get data manager service.

Definition at line 99 of file Converter.cpp.

{
return m_dataManager;
}

SmartIF< IDataProviderSvc > & Converter::dataProvider | ( |  | ) | const
| virtual

Get Data provider service.

Get data provider service.

Implements IConverter.

Definition at line 94 of file Converter.cpp.

{
return m_dataProvider;
}

StatusCode Converter::fillObjRefs | ( | IOpaqueAddress * | pAddress,
|  | DataObject * | pObject
| ) |  |
| virtual

Resolve the references of the created transient object.

Implements IConverter.

Reimplemented in Gaudi::RootNTupleCnv, Gaudi::RootConverter, Gaudi::RootDirectoryCnv, and RootHistCnv::RDirectoryCnv.

Definition at line 32 of file Converter.cpp.

{
return StatusCode::SUCCESS;
}

StatusCode Converter::fillRepRefs | ( | IOpaqueAddress * | pAddress,
|  | DataObject * | pObject
| ) |  |
| virtual

Resolve the references of the converted object.

Implements IConverter.

Reimplemented in Gaudi::RootDirectoryCnv, Gaudi::RootConverter, and Gaudi::RootNTupleCnv.

Definition at line 52 of file Converter.cpp.

{
return StatusCode::SUCCESS;
}

StatusCode Converter::finalize | ( |  | ) |
| virtual

Initialize the converter.

Finalize the converter.

Implements IConverter.

Reimplemented in Gaudi::RootStatCnv, and RootHistCnv::RNTupleCnv.

Definition at line 76 of file Converter.cpp.

{
// release services
m_messageSvc = 0;
m_dataManager = 0;
m_dataProvider = 0;
m_conversionSvc = 0;
m_addressCreator = 0;
return StatusCode::SUCCESS;
}

long Converter::i_repSvcType | ( |  | ) | const
| virtual

Retrieve the class type of the data store the converter uses.

Definition at line 21 of file Converter.cpp.

{
return m_storageType;
}

StatusCode Converter::initialize | ( |  | ) |
| virtual

Initialize the converter.

Implements IConverter.

Reimplemented in Gaudi::RootStatCnv, RootHistCnv::RFileCnv, and RootHistCnv::RNTupleCnv.

Definition at line 67 of file Converter.cpp.

{
// Get a reference to the Message Service
if ( !msgSvc().isValid() ) {
return StatusCode::FAILURE;
}
return StatusCode::SUCCESS;
}

SmartIF< IMessageSvc > & Converter::messageService | ( |  | ) | const
| protected

Definition at line 142 of file Converter.cpp.

{
return msgSvc();
}

SmartIF< IMessageSvc > & Converter::msgSvc | ( |  | ) | const
| protected

Retrieve pointer to message service.

— Retrieve pointer to message service

Definition at line 131 of file Converter.cpp.

{
if ( !m_messageSvc.isValid() ) {
m_messageSvc = serviceLocator();
if( !m_messageSvc.isValid() ) {
throw GaudiException("Service [MessageSvc] not found", "Converter", StatusCode::FAILURE);
}
}
return m_messageSvc;
}

const CLID & Converter::objType | ( |  | ) | const
| virtual

Retrieve the class type of objects the converter produces.

Implements IConverter.

Definition at line 16 of file Converter.cpp.

{
return m_classType;
}
template<class T >

StatusCode Converter::service | ( | const std::string & | name,
|  | T *& | psvc,
|  | bool | createIf = `false`
| ) |  | const
| inline

Access a service by name, creating it if it doesn't already exist.

Definition at line 89 of file Converter.h.

{
return service_i(name, createIf, T::interfaceID(), (void**)&psvc);
}
template<class T >

StatusCode Converter::service | ( | const std::string & | type,
|  | const std::string & | name,
|  | T *& | psvc
| ) |  | const
| inline

Access a service by name, type creating it if it doesn't already exist.

Definition at line 95 of file Converter.h.

{
return service_i(type, name, T::interfaceID(), (void**)&psvc);
}

SmartIF< IService > Converter::service | ( | const std::string & | name,
|  | const bool | createIf = `true`
| ) |  | const

Return a pointer to the service identified by name (or "type/name")

Definition at line 182 of file Converter.cpp.

{
SmartIF<INamedInterface> cnvsvc(conversionSvc());
SmartIF<IService> svc;
if (cnvsvc.isValid()) {
const ServiceLocatorHelper helper(*serviceLocator(), "Converter", cnvsvc->name());
svc = helper.service(name, false, createIf);
}
return svc;
}

StatusCode Converter::service_i | ( | const std::string & | svcName,
|  | bool | createIf,
|  | const InterfaceID & | iid,
|  | void ** | ppSvc
| ) |  | const
| private

implementation of service method

Definition at line 159 of file Converter.cpp.

{
// Check for name of conversion service
SmartIF<INamedInterface> cnvsvc(conversionSvc());
if (cnvsvc.isValid()) {
const ServiceLocatorHelper helper(*serviceLocator(), "Converter", cnvsvc->name());
return helper.getService(svcName, createIf, iid, ppSvc);
}
return StatusCode::FAILURE;
}

StatusCode Converter::service_i | ( | const std::string & | svcType,
|  | const std::string & | svcName,
|  | const InterfaceID & | iid,
|  | void ** | ppSvc
| ) |  | const
| private

Definition at line 171 of file Converter.cpp.

{
// Check for name of conversion service
SmartIF<INamedInterface> cnvsvc(conversionSvc());
if (cnvsvc.isValid()) {
const ServiceLocatorHelper helper(*serviceLocator(), "Converter", cnvsvc->name());
return helper.createService(svcType, svcName, iid, ppSvc);
}
return StatusCode::FAILURE;
}

SmartIF< ISvcLocator > & Converter::serviceLocator | ( |  | ) | const
| protected

Retrieve pointer to service locator.

— Retrieve pointer to service locator

Definition at line 126 of file Converter.cpp.

{
return m_svcLocator;
}

StatusCode Converter::setAddressCreator | ( | IAddressCreator * | creator | ) |
| virtual

Set address creator facility.

Implements IConverter.

Definition at line 115 of file Converter.cpp.

{
m_addressCreator = creator;
return StatusCode::SUCCESS;
}

StatusCode Converter::setConversionSvc | ( | IConversionSvc * | svc | ) |
| virtual

Set conversion service the converter is connected to.

Implements IConverter.

Definition at line 104 of file Converter.cpp.

{
m_conversionSvc = svc;
return StatusCode::SUCCESS;
}

StatusCode Converter::setDataProvider | ( | IDataProviderSvc * | svc | ) |
| virtual

Set Data provider service.

Set data provider service.

Implements IConverter.

Definition at line 87 of file Converter.cpp.

{
m_dataProvider = svc;
m_dataManager = svc;
return StatusCode::SUCCESS;
}

StatusCode Converter::updateObj | ( | IOpaqueAddress * | pAddress,
|  | DataObject * | refpObject
| ) |  |
| virtual

Update the transient object from the other representation.

Implements IConverter.

Reimplemented in Gaudi::RootNTupleCnv, Gaudi::RootDirectoryCnv, RootHistCnv::RHistogramCnv< T, S, Q >, and RootHistCnv::RNTupleCnv.

Definition at line 37 of file Converter.cpp.

{
return StatusCode::SUCCESS;
}

StatusCode Converter::updateObjRefs | ( | IOpaqueAddress * | pAddress,
|  | DataObject * | pObject
| ) |  |
| virtual

Update the references of an updated transient object.

Implements IConverter.

Reimplemented in Gaudi::RootNTupleCnv, and Gaudi::RootDirectoryCnv.

Definition at line 42 of file Converter.cpp.

{
return StatusCode::SUCCESS;
}

StatusCode Converter::updateRep | ( | IOpaqueAddress * | pAddress,
|  | DataObject * | pObject
| ) |  |
| virtual

Update the converted representation of a transient object.

Implements IConverter.

Reimplemented in Gaudi::RootNTupleCnv, Gaudi::RootDirectoryCnv, RootHistCnv::RFileCnv, RootHistCnv::RNTupleCnv, and RootHistCnv::RDirectoryCnv.

Definition at line 57 of file Converter.cpp.

{
return StatusCode::SUCCESS;
}

StatusCode Converter::updateRepRefs | ( | IOpaqueAddress * | pAddress,
|  | DataObject * | pObject
| ) |  |
| virtual

Update the references of an already converted object.

Implements IConverter.

Reimplemented in Gaudi::RootNTupleCnv, and Gaudi::RootDirectoryCnv.

Definition at line 62 of file Converter.cpp.

{
return StatusCode::SUCCESS;
}

## Member Data Documentation

SmartIF<IAddressCreator> Converter::m_addressCreator
| mutable private

Pointer to the address creation service interface.

Definition at line 123 of file Converter.h.

const CLID Converter::m_classType
| private

Class type the converter can handle.

Definition at line 121 of file Converter.h.

SmartIF<IConversionSvc> Converter::m_conversionSvc
| mutable private

Pointer to the connected conversion service.

Definition at line 129 of file Converter.h.

SmartIF<IDataManagerSvc> Converter::m_dataManager
| mutable private

Pointer to data manager service.

Definition at line 127 of file Converter.h.

SmartIF<IDataProviderSvc> Converter::m_dataProvider
| mutable private

Pointer to data provider service.

Definition at line 125 of file Converter.h.

SmartIF<IMessageSvc> Converter::m_messageSvc
| mutable private

MessageSvc reference.

Definition at line 133 of file Converter.h.

long Converter::m_storageType
| private

Storage type.

Definition at line 119 of file Converter.h.

SmartIF<ISvcLocator> Converter::m_svcLocator
| mutable private

Service Locator reference.

Definition at line 131 of file Converter.h.

The documentation for this class was generated from the following files:

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v25r0/GaudiKernel/GaudiKernel/Converter.h
- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v25r0/GaudiKernel/src/Lib/Converter.cpp