| # Gaudi Framework, version v21r10p1 |

Home |  | Generated: 29 Jul 2010

# Converter Class Reference

Converter base class. More...

`#include <GaudiKernel/Converter.h>`

Inheritance diagram for Converter:

[legend]
Collaboration diagram for Converter:

[legend]

List of all members.

## 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.

## Detailed Description

Converter base class.

See interface for detailed description, arguments and return values

Author:
  Markus Frank

Version:
  1.0

Definition at line 25 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.

    00147                                                                                 :
    00148   m_storageType(storage_type),
    00149   m_classType(class_type),
    00150   m_svcLocator(svc)
    00151 {
    00152 }

Converter::~Converter | ( |  | ) | `[protected, virtual]`

Standard Destructor.

Definition at line 155 of file Converter.cpp.

    00155                       {
    00156 }

## Member Function Documentation

StatusCode Converter::initialize | ( |  | ) | `[virtual]`

Initialize the converter.

Implements IConverter.

Reimplemented in PoolDbBaseCnv, and RootHistCnv::RNTupleCnv.

Definition at line 67 of file Converter.cpp.

    00067                                     {
    00068   // Get a reference to the Message Service
    00069   if ( !msgSvc().isValid() )   {
    00070     return StatusCode::FAILURE;
    00071   }
    00072   return StatusCode::SUCCESS;
    00073 }

StatusCode Converter::finalize | ( |  | ) | `[virtual]`

Initialize the converter.

Finalize the converter.

Implements IConverter.

Reimplemented in PoolDbBaseCnv, and RootHistCnv::RNTupleCnv.

Definition at line 76 of file Converter.cpp.

    00076                                {
    00077   // release services
    00078   m_messageSvc = 0;
    00079   m_dataManager = 0;
    00080   m_dataProvider = 0;
    00081   m_conversionSvc = 0;
    00082   m_addressCreator = 0;
    00083   return StatusCode::SUCCESS;
    00084 }

StatusCode Converter::setDataProvider | ( | IDataProviderSvc * | svc | ) | `[virtual]`

Set Data provider service.

Set data provider service.

Implements IConverter.

Definition at line 87 of file Converter.cpp.

    00087                                                            {
    00088   m_dataProvider = svc;
    00089   m_dataManager = svc;
    00090   return StatusCode::SUCCESS;
    00091 }

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

Get Data provider service.

Get data provider service.

Implements IConverter.

Definition at line 94 of file Converter.cpp.

    00094                                                              {
    00095   return m_dataProvider;
    00096 }

StatusCode Converter::setConversionSvc | ( | IConversionSvc * | svc | ) | `[virtual]`

Set conversion service the converter is connected to.

Implements IConverter.

Definition at line 104 of file Converter.cpp.

    00104                                                             {
    00105   m_conversionSvc = svc;
    00106   return StatusCode::SUCCESS;
    00107 }

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.

    00110                                                             {
    00111   return m_conversionSvc;
    00112 }

StatusCode Converter::setAddressCreator | ( | IAddressCreator * | creator | ) | `[virtual]`

Set address creator facility.

Implements IConverter.

Definition at line 115 of file Converter.cpp.

    00115                                                                   {
    00116   m_addressCreator = creator;
    00117   return StatusCode::SUCCESS;
    00118 }

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

Retrieve address creator facility.

Access the transient store.

Implements IConverter.

Definition at line 121 of file Converter.cpp.

    00121                                                              {
    00122   return m_addressCreator;
    00123 }

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.

    00016                                         {
    00017   return m_classType;
    00018 }

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.

    00021                                      {
    00022   return m_storageType;
    00023 }

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

Create the transient representation of an object.

Implements IConverter.

Reimplemented in PoolDbBaseCnv, PoolDbDatabaseCnv, PoolDbDirectoryCnv, PoolDbNTupleCnv, RootHistCnv::DirectoryCnv, RootHistCnv::RDirectoryCnv, RootHistCnv::RFileCnv, RootHistCnv::RHistogramCnv< T, S, Q >, and RootHistCnv::RNTupleCnv.

Definition at line 26 of file Converter.cpp.

    00026                                                                {
    00027   return StatusCode::SUCCESS;
    00028 }

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

Resolve the references of the created transient object.

Implements IConverter.

Reimplemented in PoolDbBaseCnv, PoolDbDirectoryCnv, PoolDbNTupleCnv, and RootHistCnv::RDirectoryCnv.

Definition at line 32 of file Converter.cpp.

    00032                                                                  {
    00033   return StatusCode::SUCCESS;
    00034 }

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

Update the transient object from the other representation.

Implements IConverter.

Reimplemented in PoolDbBaseCnv, PoolDbDirectoryCnv, PoolDbNTupleCnv, RootHistCnv::RHistogramCnv< T, S, Q >, and RootHistCnv::RNTupleCnv.

Definition at line 37 of file Converter.cpp.

    00037                                                               {
    00038   return StatusCode::SUCCESS;
    00039 }

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

Update the references of an updated transient object.

Implements IConverter.

Reimplemented in PoolDbBaseCnv, PoolDbDirectoryCnv, PoolDbKeyedContainerCnv, and PoolDbNTupleCnv.

Definition at line 42 of file Converter.cpp.

    00042                                                                  {
    00043   return StatusCode::SUCCESS;
    00044 }

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

Convert the transient object to the requested representation.

Implements IConverter.

Reimplemented in PoolDbBaseCnv, PoolDbDirectoryCnv, PoolDbNTupleCnv, RootHistCnv::DirectoryCnv, RootHistCnv::RConverter, RootHistCnv::RDirectoryCnv, RootHistCnv::RFileCnv, and RootHistCnv::RNTupleCnv.

Definition at line 47 of file Converter.cpp.

    00047                                                               {
    00048   return StatusCode::SUCCESS;
    00049 }

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

Resolve the references of the converted object.

Implements IConverter.

Reimplemented in PoolDbBaseCnv, and PoolDbNTupleCnv.

Definition at line 52 of file Converter.cpp.

    00052                                                                {
    00053   return StatusCode::SUCCESS;
    00054 }

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

Update the converted representation of a transient object.

Implements IConverter.

Reimplemented in PoolDbBaseCnv, PoolDbDirectoryCnv, PoolDbNTupleCnv, RootHistCnv::RDirectoryCnv, RootHistCnv::RFileCnv, and RootHistCnv::RNTupleCnv.

Definition at line 57 of file Converter.cpp.

    00057                                                              {
    00058   return StatusCode::SUCCESS;
    00059 }

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

Update the references of an already converted object.

Implements IConverter.

Reimplemented in PoolDbBaseCnv, PoolDbDirectoryCnv, and PoolDbNTupleCnv.

Definition at line 62 of file Converter.cpp.

    00062                                                                    {
    00063   return StatusCode::SUCCESS;
    00064 }

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 88 of file Converter.h.

    00088                                                                                      {
    00089     return service_i(name, createIf, T::interfaceID(), (void**)&psvc);
    00090   }

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 94 of file Converter.h.

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

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.

    00182                                                                                      {
    00183   SmartIF<INamedInterface> cnvsvc(conversionSvc());
    00184   SmartIF<IService> svc;
    00185   if (cnvsvc.isValid()) {
    00186     const ServiceLocatorHelper helper(*serviceLocator(), "Converter", cnvsvc->name());
    00187     svc = helper.service(name, false, createIf);
    00188   }
    00189   return svc;
    00190 }

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

Retrieve pointer to service locator.

--- Retrieve pointer to service locator

Definition at line 126 of file Converter.cpp.

    00126                                                            {
    00127   return m_svcLocator;
    00128 }

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

Retrieve pointer to message service.

--- Retrieve pointer to message service

Definition at line 131 of file Converter.cpp.

    00131                                                  {
    00132   if ( !m_messageSvc.isValid() ) {
    00133     m_messageSvc = serviceLocator();
    00134     if( !m_messageSvc.isValid() ) {
    00135       throw GaudiException("Service [MessageSvc] not found", "Converter", StatusCode::FAILURE);
    00136     }
    00137   }
    00138   return m_messageSvc;
    00139 }

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

Definition at line 142 of file Converter.cpp.

    00142                                                          {
    00143   return msgSvc();
    00144 }

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

Get Data Manager service.

Get data manager service.

Definition at line 99 of file Converter.cpp.

    00099                                                            {
    00100   return m_dataManager;
    00101 }

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.

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

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.

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

## Member Data Documentation

long Converter::m_storageType`[private]`

Storage type.

Definition at line 118 of file Converter.h.

const CLID Converter::m_classType`[private]`

Class type the converter can handle.

Definition at line 120 of file Converter.h.

SmartIF<IAddressCreator> Converter::m_addressCreator`[mutable, private]`

Pointer to the address creation service interface.

Definition at line 122 of file Converter.h.

SmartIF<IDataProviderSvc> Converter::m_dataProvider`[mutable, private]`

Pointer to data provider service.

Definition at line 124 of file Converter.h.

SmartIF<IDataManagerSvc> Converter::m_dataManager`[mutable, private]`

Pointer to data manager service.

Definition at line 126 of file Converter.h.

SmartIF<IConversionSvc> Converter::m_conversionSvc`[mutable, private]`

Pointer to the connected conversion service.

Definition at line 128 of file Converter.h.

SmartIF<ISvcLocator> Converter::m_svcLocator`[mutable, private]`

Service Locator reference.

Definition at line 130 of file Converter.h.

SmartIF<IMessageSvc> Converter::m_messageSvc`[mutable, private]`

MessageSvc reference.

Definition at line 132 of file Converter.h.

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

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