| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# EvtDataSvc.cpp

Go to the documentation of this file.

    00001 //====================================================================
    00002 //      EvtDataSvc.cpp
    00003 //--------------------------------------------------------------------
    00004 //
    00005 //      Package    : System ( The LHCb Offline System)
    00006 //
    00007 //  Description: implementation of the Transient event data service.
    00008 //
    00009 //      Author     : M.Frank
    00010 //  History    :
    00011 // +---------+----------------------------------------------+---------
    00012 // |    Date |                 Comment                      | Who
    00013 // +---------+----------------------------------------------+---------
    00014 // | 29/10/98| Initial version                              | MF
    00015 // +---------+----------------------------------------------+---------
    00016 //
    00017 //====================================================================
    00018 #define  DATASVC_EVTDATASVC_CPP
    00019
    00020 #include "GaudiKernel/SvcFactory.h"
    00021 #include "GaudiKernel/ISvcLocator.h"
    00022 #include "GaudiKernel/IConversionSvc.h"
    00023
    00024 #include "EvtDataSvc.h"
    00025
    00026 // Instantiation of a static factory class used by clients to create
    00027 // instances of this service
    00028 DECLARE_SERVICE_FACTORY(EvtDataSvc)
    00029
    00030
    00031 StatusCode EvtDataSvc::initialize()    {
    00032   // Nothing to do: just call base class initialisation
    00033   StatusCode      status  = DataSvc::initialize();
    00034   ISvcLocator*    svc_loc = serviceLocator();
    00035
    00036   // Attach data loader facility
    00037   status = svc_loc->service("EventPersistencySvc", m_cnvSvc, true);
    00038   status = setDataLoader( m_cnvSvc );
    00039   return status;
    00040 }
    00042 StatusCode EvtDataSvc::reinitialize()    {
    00043   // Do nothing for this service
    00044   return StatusCode::SUCCESS;
    00045 }
    00047 StatusCode EvtDataSvc::finalize()    {
    00048
    00049   if( m_cnvSvc ) m_cnvSvc->release();
    00050   m_cnvSvc = 0;
    00051   DataSvc::finalize().ignore();
    00052   return StatusCode::SUCCESS ;
    00053 }
    00054
    00056 EvtDataSvc::EvtDataSvc(const std::string& name,ISvcLocator* svc)
    00057 : DataSvc(name,svc)   {
    00058   m_cnvSvc = 0;
    00059 }
    00060
    00062 EvtDataSvc::~EvtDataSvc()  {
    00063 }