86 error() <<
"beginRun failed" << endmsg;
87 return StatusCode::FAILURE;
92 MsgStream log(
msgSvc(), name() );
93 log << MSG::INFO <<
"in execute()" << endmsg;
96 DataObject* pnode = 0;
97 sc = eventSvc()->retrieveObject(
"/Event/Hit", pnode );
98 if ( !sc.isSuccess() )
100 pnode =
new DataObject;
101 sc = eventSvc()->registerObject(
"/Event/Hit", pnode );
102 if ( !sc.isSuccess() )
104 log << MSG::FATAL <<
" Could not register hit branch" << endmsg;
105 return StatusCode::FAILURE;
109 SmartIF<IDataManagerSvc> dataManSvc( eventSvc() );
111 eventSvc()->findObject(
"/Event/Hit/MdcHitCol", hitCol );
112 if ( hitCol != NULL )
114 dataManSvc->clearSubTree(
"/Event/Hit/MdcHitCol" );
115 eventSvc()->unregisterObject(
"/Event/Hit/MdcHitCol" );
118 sc = eventSvc()->registerObject(
"/Event/Hit/MdcHitCol", mdcHitCol );
119 if ( !sc.isSuccess() )
121 log << MSG::FATAL <<
" Could not register hit collection" << endmsg;
122 return StatusCode::FAILURE;
126 eventSvc()->findObject(
"/Event/Hit/MdcHitMap", hitMap );
127 if ( hitMap != NULL )
129 dataManSvc->clearSubTree(
"/Event/Hit/MdcHitMap" );
130 eventSvc()->unregisterObject(
"/Event/Hit/MdcHitMap" );
133 sc = eventSvc()->registerObject(
"/Event/Hit/MdcHitMap", mdcHitMap );
134 if ( !sc.isSuccess() )
136 log << MSG::FATAL <<
" Could not register hit map" << endmsg;
137 return StatusCode::FAILURE;
141 uint32_t getDigiFlag = 0;
142 getDigiFlag += m_maxMdcDigi;
146 MdcDigiVec mdcDigiVec = m_rawDataProviderSvc->getMdcDigiVec( getDigiFlag );
149 if ( (
int)mdcDigiVec.size() < m_minMdcDigi )
151 log << MSG::WARNING <<
" Skip this event for MdcDigiVec.size() < " << m_minMdcDigi
153 return StatusCode::SUCCESS;
156 MdcDigiVec::iterator
iter = mdcDigiVec.begin();
157 for ( ;
iter != mdcDigiVec.end();
iter++ )
164#ifdef MDCPATREC_RESLAYER
165 hit->setResLayer( m_resLayer );
167 mdcHitCol->push_back( hit );
168 mdcHitMap->
addHit( *hit );
170 return StatusCode::SUCCESS;