1#ifndef RecEvTimeCnv_CXX
2#define RecEvTimeCnv_CXX 1
4#include "GaudiKernel/DataObject.h"
5#include "GaudiKernel/MsgStream.h"
6#include "GaudiKernel/ObjectVector.h"
8#include "TClonesArray.h"
10#include "EvTimeEvent/RecEsTime.h"
11#include "EventModel/EventModel.h"
12#include "ReconEvent/ReconEvent.h"
15#include "RootEventData/TRecEvTime.h"
17#include "RootEventData/TRecTrackEvent.h"
19#include "RootCnvSvc/Rec/RecEvTimeCnv.h"
20#include "RootCnvSvc/Rec/RecTrackCnv.h"
21#include "RootCnvSvc/RootAddress.h"
35 MsgStream log(
msgSvc(),
"RecEvTimeCnv" );
46 MsgStream log(
msgSvc(),
"RecEvTimeCnv" );
47 log << MSG::DEBUG <<
"RecEvTimeCnv::TObjectToDataObject" << endmsg;
48 StatusCode sc = StatusCode::SUCCESS;
52 refpObject = evTimeTdsCol;
54 if ( !m_recEvTimeCol )
return sc;
55 TIter evTimeIter( m_recEvTimeCol );
57 while ( ( evTimeRoot = (
TRecEvTime*)evTimeIter.Next() ) )
59 double estime = evTimeRoot->
estime();
60 int status = evTimeRoot->
status();
61 double quality = evTimeRoot->
quality();
66 m_common.m_rootRecEvTimeMap[evTimeRoot] = evTimeTds;
70 evTimeTdsCol->push_back( evTimeTds );
72 delete m_recEvTimeCol;
75 return StatusCode::SUCCESS;
79 MsgStream log(
msgSvc(),
"RecEvTimeCnv" );
80 log << MSG::DEBUG <<
"RecEvTimeCnv::DataObjectToTObject" << endmsg;
81 StatusCode sc = StatusCode::SUCCESS;
86 log << MSG::ERROR <<
"Could not downcast to RecEsTimeCol" << endmsg;
87 return StatusCode::FAILURE;
94 log << MSG::ERROR <<
"Could not get RecEvent in TDS " << endmsg;
95 return StatusCode::FAILURE;
99 { log << MSG::ERROR <<
"RecEvTimeCnv:Could not downcast to TDS ReconEvent" << endmsg; }
100 IOpaqueAddress* addr;
102 m_cnvSvc->getRecTrackCnv()->createRep( evt, addr );
104 const TObjArray* m_recEvTimeCol = recEvt->
getEvTimeCol();
105 if ( !m_recEvTimeCol )
return sc;
108 RecEsTimeCol::const_iterator evTimeTds;
109 for ( evTimeTds = evTimeColTds->begin(); evTimeTds != evTimeColTds->end(); evTimeTds++ )
113 Double_t estime = ( *evTimeTds )->getTest();
114 Int_t status = ( *evTimeTds )->getStat();
115 Double_t quality = ( *evTimeTds )->getQuality();
126 return StatusCode::SUCCESS;
ObjectVector< RecEsTime > RecEsTimeCol
void setTest(double Test)
void setQuality(double Quality)
virtual StatusCode DataObjectToTObject(DataObject *obj, RootAddress *addr)
transformation to root
static const CLID & classID()
RecEvTimeCnv(ISvcLocator *svc)
virtual StatusCode TObjectToDataObject(DataObject *&obj)
transformation from root
Definition of a Root address, derived from IOpaqueAddress.
IDataProviderSvc * m_eds
pointer to eventdataservice
std::vector< void * > m_adresses
each converter knows the corresponding adresses
std::string m_rootBranchname
root branchname (may be concatenated of severals)
RootEventBaseCnv(const CLID &clid, ISvcLocator *svc)
void setStats(Int_t status)
void setQuality(Double_t quality)
void setTest(Double_t estime)
const TObjArray * getEvTimeCol() const
void addEvTime(TRecEvTime *Track)
_EXTERN_ std::string Event