153 MsgStream log(messageService(), name());
154 log << MSG::WARNING <<
"BesBdkRc initialize" << endreq;
156 static const bool CREATEIFNOTTHERE(
true);
157 StatusCode RndmStatus = service(
"BesRndmGenSvc", p_BesRndmGenSvc, CREATEIFNOTTHERE);
158 if (!RndmStatus.isSuccess() || 0 == p_BesRndmGenSvc)
160 log << MSG::ERROR <<
" Could not initialize Random Number Service" << endreq;
163 CLHEP::HepRandomEngine* engine = p_BesRndmGenSvc->GetEngine(
"BesBdkRc");
164 engine->showStatus();
170 FINCUT.TCHMIN=m_tcmin*toRad;
178 INPUT.EB=0.5*m_CMEnergy;
181 LOCALC.EBEAM=0.5*m_CMEnergy;
185 for(
int i=0; i<6;i++)
LOCALC.QMASS[i]=qmass[i];
189 return StatusCode::SUCCESS;
194 MsgStream log(messageService(), name());
195 log << MSG::INFO <<
"BesBdkRc executing" << endreq;
196 HepMC::HEPEVT_Wrapper::set_max_number_entries(2000);
197 HepMC::HEPEVT_Wrapper::set_sizeof_real(8);
198 HepMC::IO_HEPEVT HepEvtIO;
203 if(
FLAGS.GOODEVT!=1){
204 log << MSG::ERROR<<
" BesBdkRc: fail to generate good event"<<endl;
205 return StatusCode::FAILURE;
209 if( log.level() < MSG::INFO )
LULIST(1);
212 HepMC::GenEvent* evt = HepEvtIO.read_next_event();
213 evt->set_event_number(m_numberEvent);
214 evt->set_signal_process_id(1);
217 SmartDataPtr<McGenEventCol> anMcCol(eventSvc(),
"/Event/Gen");
220 MsgStream log(messageService(), name());
221 log << MSG::INFO <<
"Add McGenEvent to existing collection" << endreq;
223 anMcCol->push_back(mcEvent);
228 mcColl->push_back(mcEvent);
229 StatusCode sc = eventSvc()->registerObject(
"/Event/Gen",mcColl);
230 if (sc != StatusCode::SUCCESS) {
231 log << MSG::ERROR <<
"Could not register McGenEvent" << endreq;
235 return StatusCode::FAILURE;
241 return StatusCode::SUCCESS;