3#include "GaudiKernel/IDataManagerSvc.h"
4#include "GaudiKernel/IDataProviderSvc.h"
5#include "GaudiKernel/ISvcLocator.h"
6#include "GaudiKernel/MsgStream.h"
7#include "GaudiKernel/PropertyMgr.h"
8#include "GaudiKernel/SmartDataPtr.h"
9#include "RawDataCnv/EventManagement/RAWEVENT.h"
13#include "EmcRawEvent/EmcDigi.h"
14#include "EventModel/Event.h"
15#include "MdcRawEvent/MdcDigi.h"
16#include "MucRawEvent/MucDigi.h"
17#include "RawEvent/DigiEvent.h"
18#include "TofRawEvent/TofDigi.h"
20#include "EventModel/EventModel.h"
26 : Algorithm( name, pSvcLocator ) {}
31 MsgStream log(
msgSvc(), name() );
34 log << MSG::INFO <<
"in initialize()" << endmsg;
36 return StatusCode::SUCCESS;
42 MsgStream log(
msgSvc(), name() );
44 log << MSG::INFO <<
"================================================" << endmsg;
45 log << MSG::INFO <<
"In execute()" << endmsg;
46 log << MSG::INFO <<
"++++++++++++++++++++++++++++++++++++++++++++++++" << endmsg;
48 SmartDataPtr<Event::EventHeader> evt( eventSvc(), EventModel::EventHeader );
51 log << MSG::ERROR <<
"Did not retrieve event" << endmsg;
52 return StatusCode::FAILURE;
56 int eventNo = evt->eventNumber();
57 int runNo = evt->runNumber();
59 log << MSG::INFO <<
"ReadRawData: retrieved event: " <<
eventNo <<
" run: " <<
runNo
62 log << MSG::INFO <<
"ReadRawData: start to read MdcDigiData" << endmsg;
63 sc = readMdcDigiData();
65 log << MSG::INFO <<
"ReadRawData: start to read EmcDigiData" << endmsg;
66 sc = readEmcDigiData();
68 log << MSG::INFO <<
"ReadRawData: start to read TofDigiData" << endmsg;
69 sc = readTofDigiData();
71 log << MSG::INFO <<
"ReadRawData: start to read MucDigiData" << endmsg;
72 sc = readMucDigiData();
73 if ( sc.isFailure() ) {
return sc; }
77 return StatusCode::SUCCESS;
80StatusCode ReadRawData::readMdcDigiData() {
81 MsgStream log(
msgSvc(), name() );
82 StatusCode sc = StatusCode::SUCCESS;
87 log << MSG::ERROR <<
"Did not retrieve DigiEvent" << endmsg;
88 return StatusCode::FAILURE;
95 log <<
"no MdcDigiCol found" << endmsg;
100 log <<
"Event No. " << m_count <<
" ---> " << digiCol->size() <<
" Mdc digis found "
103 log << MSG::INFO <<
"Detailed dump of this event: " << endmsg;
105 MdcDigiCol::const_iterator pMdcDigi = digiCol->begin();
106 for ( ; pMdcDigi != digiCol->end(); pMdcDigi++ )
108 log << MSG::INFO <<
"Digi " << ndigi++ <<
" ";
111 ( **pMdcDigi ).fillStream( log.stream() );
116 return StatusCode::SUCCESS;
119StatusCode ReadRawData::readEmcDigiData() {
120 MsgStream log(
msgSvc(), name() );
121 StatusCode sc = StatusCode::SUCCESS;
127 log <<
"no EmcDigiCol found" << endmsg;
132 log <<
"Event No. " << m_count <<
" ---> " << digiCol->size() <<
" Emc digis found "
134 log << MSG::INFO <<
"Detailed dump of this event: " << endmsg;
136 EmcDigiCol::const_iterator pEmcDigi = digiCol->begin();
137 for ( ; pEmcDigi != digiCol->end(); pEmcDigi++ )
139 log << MSG::INFO <<
"Digi " << ndigi++ <<
" ";
140 ( **pEmcDigi ).fillStream( log.stream() );
145 return StatusCode::SUCCESS;
148StatusCode ReadRawData::readTofDigiData() {
149 MsgStream log(
msgSvc(), name() );
150 StatusCode sc = StatusCode::SUCCESS;
156 log <<
"no TofDigiCol found" << endmsg;
161 log <<
"Event No. " << m_count <<
" ---> " << digiCol->size() <<
" Tof digis found "
163 log << MSG::INFO <<
"Detailed dump of this event: " << endmsg;
165 TofDigiCol::const_iterator pTofDigi = digiCol->begin();
166 for ( ; pTofDigi != digiCol->end(); pTofDigi++ )
168 log << MSG::INFO <<
"Digi " << ndigi++ <<
" ";
169 ( **pTofDigi ).fillStream( log.stream() );
174 return StatusCode::SUCCESS;
177StatusCode ReadRawData::readMucDigiData() {
178 MsgStream log(
msgSvc(), name() );
179 StatusCode sc = StatusCode::SUCCESS;
185 log <<
"no MucDigiCol found" << endmsg;
190 log <<
"Event No. " << m_count <<
" ---> " << digiCol->size() <<
" Muc digis found "
192 log << MSG::INFO <<
"Detailed dump of this event: " << endmsg;
194 MucDigiCol::const_iterator pMucDigi = digiCol->begin();
195 for ( ; pMucDigi != digiCol->end(); pMucDigi++ )
197 log << MSG::INFO <<
"Digi " << ndigi++ <<
" ";
198 ( **pMucDigi ).fillStream( log.stream() );
203 return StatusCode::SUCCESS;
209 MsgStream log(
msgSvc(), name() );
211 log << MSG::INFO <<
"In finalize()" << endmsg;
213 return StatusCode::SUCCESS;
ReadRawData(const std::string &name, ISvcLocator *pSvcLocator)
_EXTERN_ std::string Event
_EXTERN_ std::string MdcDigiCol
_EXTERN_ std::string MucDigiCol
_EXTERN_ std::string EmcDigiCol
_EXTERN_ std::string TofDigiCol