27 :base_class(name,svcloc),
34 IJobOptionsSvc* jobSvc;
35 Gaudi::svcLocator()->service(
"JobOptionsSvc", jobSvc);
37 PropertyMgr m_propMgr;
39 m_propMgr.declareProperty(
"RunMode", m_mode = 2);
40 m_propMgr.declareProperty(
"KeepRandomTrigEvt", m_keepRdm =
true);
41 m_propMgr.declareProperty(
"InputFiles", m_inputFiles);
42 m_propMgr.declareProperty(
"Config4Revise", m_conf4Revise);
44 jobSvc->setMyProperties(
"RawDataInputSvc", &m_propMgr);
131 const uint32_t* ef = 0;
133 f.assign( m_reader->nextEvent());
135 std::cerr <<
"Found invalid event (traceback):" << std::endl;
145 f.event_filter_info(ef);
153 if ( ! m_keepRdm && ((*ef)>>31) != 0 ) {
160 m_re->setRunNo(
f.run_no());
161 m_re->setEventNo(
f.global_id());
162 m_re->setTime(
f.time());
163 m_re->addReHltRaw((uint32_t*)ef, 4);
166 uint32_t hv_status = 0;
168 int nsds =
f.children(m_sds, 64);
169 for (
int sdi = 0; sdi < nsds; ++sdi ) {
173 const uint32_t* specific_header;
175 uint32_t source_id_number = sd.
source_id();
176 source_id_number <<= 8;
177 source_id_number >>= 24;
178 switch( source_id_number ) {
180 hv_status |= ((8 | ((*specific_header)&0x7)) << 8);
183 hv_status |= ((8 | ((*specific_header)&0x7)) << 4);
186 hv_status |= (8 | ((*specific_header)&0x7));
196 m_re->setFlag1( hv_status );
199 for (
int robi = 0; robi < nrobs; robi++) {
202 uint32_t* dataptr =
NULL;
208 source_id_number <<= 8;
209 source_id_number >>= 24;
213 if ( source_id_number == 165 ) {
214 m_re->addReEtsDigi(dataptr, rob.
rod_ndata());
220 switch(source_id_number) {
222 m_re->addReMdcDigi(dataptr, rob.
rod_ndata());
225 m_re->addReEmcDigi(dataptr, rob.
rod_ndata());
228 m_re->addReTofDigi(dataptr, rob.
rod_ndata());
231 m_re->addReEtfDigi(dataptr, rob.
rod_ndata());
234 m_re->addReMucDigi(dataptr, rob.
rod_ndata());
241 m_re->addReTrigGTD(dataptr, rob.
rod_ndata());
244 m_re->addReZddDigi(dataptr, rob.
rod_ndata());
247 m_re->addReHltRaw(dataptr, rob.
rod_ndata());
250 m_re->addMcParticle(dataptr, rob.
rod_ndata());
260 if ( m_reader->stat()&4 ) {
261 std::cerr << std::endl <<
"reading ifstream error !!!" << std::endl;
268 std::cerr << std::endl <<
"Uncaught eformat issue: " << ex.what() << std::endl;
271 std::cerr << std::endl <<
"Uncaught ERS issue: " << ex.what() << std::endl;
273 catch (std::exception& ex) {
274 std::cerr << std::endl <<
"Uncaught std exception: " << ex.what() << std::endl;
277 std::cerr << std::endl <<
"Uncaught unknown exception" << std::endl;