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 static int evtnum = 0;
49 static int runnum = 999;
54 event->setRunNumber( runnum );
56 IDataManagerSvc* evtmgr =
dynamic_cast<IDataManagerSvc*
>( eventSvc() );
57 sc = evtmgr->setRoot( EventModel::EventHeader, event );
60 log << MSG::ERROR <<
"Unable to register /Event object" << endmsg;
65 log << MSG::INFO <<
" DigiEvent clID :: " << digi->
clID() << endmsg;
69 log << MSG::ERROR <<
"Unable to register /Event/Digi object" << endmsg;
73 sc = writeMdcDigiData();
76 log << MSG::ERROR <<
"Unable to register /Event/Digi/MdcDigiCol object" << endmsg;
80 sc = writeEmcDigiData();
83 log << MSG::ERROR <<
"Unable to register /Event/Digi/EmcDigiCol object" << endmsg;
87 sc = writeTofDigiData();
90 log << MSG::ERROR <<
"Unable to register /Event/Digi/EmcDigiCol object" << endmsg;
94 sc = writeMucDigiData();
97 log << MSG::ERROR <<
"Unable to register /Event/Digi/EmcDigiCol object" << endmsg;
103 return StatusCode::SUCCESS;
106StatusCode WriteRawData::writeMdcDigiData() {
109 for (
int i = 0; i <
n; i++ )
117 mdcCol->push_back( mdcDigi );
120 StatusCode sc = StatusCode::SUCCESS;
125StatusCode WriteRawData::writeEmcDigiData() {
128 for (
int i = 0; i <
n; i++ )
131 EmcDigi* emcDigi =
new EmcDigi( m_count );
136 emcCol->push_back( emcDigi );
139 StatusCode sc = StatusCode::SUCCESS;
144StatusCode WriteRawData::writeTofDigiData() {
147 for (
int i = 0; i <
n; i++ )
150 TofDigi* tofDigi =
new TofDigi( m_count );
155 tofCol->push_back( tofDigi );
158 StatusCode sc = StatusCode::SUCCESS;
163StatusCode WriteRawData::writeMucDigiData() {
166 for (
int i = 0; i <
n; i++ )
169 MucDigi* mucDigi =
new MucDigi( m_count );
171 mucCol->push_back( mucDigi );
174 StatusCode sc = StatusCode::SUCCESS;
183 MsgStream log(
msgSvc(), name() );
185 log << MSG::INFO <<
"In finalize()" << endmsg;
187 return StatusCode::SUCCESS;
ObjectVector< EmcDigi > EmcDigiCol
ObjectVector< MdcDigi > MdcDigiCol
ObjectVector< MucDigi > MucDigiCol
ObjectVector< TofDigi > TofDigiCol
virtual const CLID & clID() const
Retrieve reference to class definition structure.
void setMeasure(const unsigned int measure)
void setOverflow(const unsigned int overflow)
void setChargeChannel(const unsigned int chargeChannel)
void setTimeChannel(const unsigned int timeChannel)
void setOverflow(const unsigned int overflow)
WriteRawData(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