6#ifndef EvtNavigatorCnv_CXX
7#define EvtNavigatorCnv_CXX
9#include "GaudiKernel/MsgStream.h"
10#include "GaudiKernel/DataObject.h"
11#include "GaudiKernel/SmartDataPtr.h"
12#include "GaudiKernel/RegistryEntry.h"
13#include "GaudiKernel/IDataProviderSvc.h"
14#include "GaudiKernel/ISvcLocator.h"
15#include "GaudiKernel/PropertyMgr.h"
17#include "GaudiKernel/IOpaqueAddress.h"
19#include "EventModel/EventModel.h"
20#include "EventNavigator/EventNavigator.h"
21#include "RootEventData/TEvtNavigator.h"
22#include "RootCnvSvc/EvtNavigatorCnv.h"
23#include "RootCnvSvc/RootEvtSelector.h"
24#include "RootCnvSvc/RootAddress.h"
25#include "RootCnvSvc/Util.h"
27using namespace DataSvcHelpers;
36 MsgStream log(
msgSvc(),
"EvtNavigatorCnv");
37 m_rootBranchname =
"m_mcMdcMcHits:m_mcMdcTracks:m_mcEmcMcHits:m_mcEmcRecShowers";
49 StatusCode sc=StatusCode::SUCCESS;
51 MsgStream log(
msgSvc(),
"EvtNavigatorCnv");
62 delete m_evtNavigatorR;
79 MsgStream log(
msgSvc(),
"EvtNavigatorCnv");
83 log << MSG::ERROR <<
"Could not downcast to TDS EventNavigator" << endreq;
84 return StatusCode::FAILURE;
100 if (sc.isFailure()) {
101 delete m_evtNavigatorW;
102 log << MSG::ERROR <<
"Could not create branch TEvtNavigator in " << rootaddr->
getTreename() << endreq;
103 return StatusCode::SUCCESS;
108 return StatusCode::SUCCESS;
IndexMap & getMcMdcMcHitsIdx()
void setMcEmcRecShowersIdx(IndexMap &map)
void setMcMdcMcHitsIdx(IndexMap &map)
IndexMap & getMcEmcMcHitsIdx()
void setMcEmcMcHitsIdx(IndexMap &map)
IndexMap & getMcEmcRecShowersIdx()
IndexMap & getMcMdcTracksIdx()
void setMcMdcTracksIdx(IndexMap &map)
EvtNavigatorCnv(ISvcLocator *svc)
virtual StatusCode TObjectToDataObject(DataObject *&refpObject)
do the transformation from ROOT to TDS object
virtual StatusCode DataObjectToTObject(DataObject *obj, RootAddress *addr)
transformation from TDS object to ROOT
virtual StatusCode initialize()
Definition of a Root address, derived from IOpaqueAddress.
std::string getTreename() const
void setEvtNavigatorCnv(EvtNavigatorCnv *evtnavigatorcnv)
Base class for all Root Converters.
virtual StatusCode initialize()
int m_branchNrEvtNavigator
std::vector< void * > m_adresses
each converter knows the corresponding adresses
RootInterface * m_rootInterface
pointer to the RootInterface
std::string m_rootBranchname
root branchname (may be concatenated of severals)
virtual StatusCode createBranch(const std::string &tree, const std::string &branch, const char *classname, void *addr, int &branchnr)
create a branch in this tree
void LoadMcEmcMcHits(std::multimap< int, int > &map)
void LoadMcMdcMcHits(std::multimap< int, int > &map)
void LoadMcEmcRecShowers(std::multimap< int, int > &map)
void LoadMcMdcTracks(std::multimap< int, int > &map)
static TEvtNavigator * m_EvtNavigator