00001 #include "RealizationSvc/IRealizationSvc.h" 00002 #include "RealizationSvc/RealizationSvc.h" 00003 #include "GaudiKernel/SmartIF.h" 00004 #include "GaudiKernel/ISvcLocator.h" 00005 #include <cstdlib> 00006 00007 namespace DetVerSvcPack { 00008 00009 int funcSimulation(ISvcLocator* svcLct) 00010 { 00011 IRealizationSvc* iSvc = 0; 00012 StatusCode sc = svcLct->service("RealizationSvc", iSvc, false); 00013 if ( sc.isSuccess() ) { 00014 RealizationSvc* svc = dynamic_cast<RealizationSvc*>(iSvc); 00015 if ( svc != 0 ) { 00016 return abs(svc->getRunId()); 00017 } 00018 } 00019 return -1; 00020 } 00021 00022 extern int (*pf_helper)(ISvcLocator*); 00023 00024 //initialize function pointer: pf_helper 00025 struct SimulationInit { 00026 SimulationInit() { 00027 pf_helper = funcSimulation; 00028 } 00029 }; 00030 00031 SimulationInit init; 00032 }