| # Gaudi Framework, version v23r0 |

Home |  | Generated: Mon Jan 30 2012

Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes

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

                                                                                    :
      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::RootConverter, Gaudi::RootDatabaseCnv, Gaudi::RootDirectoryCnv, Gaudi::RootNTupleCnv, RootHistCnv::DirectoryCnv, RootHistCnv::RDirectoryCnv, RootHistCnv::RFileCnv, RootHistCnv::RHistogramCnv< T, S, Q >, and RootHistCnv::RNTupleCnv.

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::RootConverter, Gaudi::RootDirectoryCnv, Gaudi::RootNTupleCnv, RootHistCnv::DirectoryCnv, RootHistCnv::RConverter, RootHistCnv::RDirectoryCnv, RootHistCnv::RFileCnv, and RootHistCnv::RNTupleCnv.

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::RootConverter, Gaudi::RootDirectoryCnv, Gaudi::RootNTupleCnv, 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::RootConverter, Gaudi::RootDirectoryCnv, 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, 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;
    }

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;
    }

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.

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

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

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;
    }

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;
    }

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::RootDirectoryCnv, Gaudi::RootNTupleCnv, 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::RootDirectoryCnv, and Gaudi::RootNTupleCnv.

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::RootDirectoryCnv, Gaudi::RootNTupleCnv, RootHistCnv::RDirectoryCnv, RootHistCnv::RFileCnv, and RootHistCnv::RNTupleCnv.

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::RootDirectoryCnv, and Gaudi::RootNTupleCnv.

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 122 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<IConversionSvc> Converter::m_conversionSvc`[mutable, private]`

Pointer to the connected conversion service.

Definition at line 128 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<IDataProviderSvc> Converter::m_dataProvider`[mutable, private]`

Pointer to data provider service.

Definition at line 124 of file Converter.h.

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

MessageSvc reference.

Definition at line 132 of file Converter.h.

long Converter::m_storageType`[private]`

Storage type.

Definition at line 118 of file Converter.h.

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

Service Locator reference.

Definition at line 130 of file Converter.h.

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

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

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines