From 89b75b2e0cedf8ce5dd68ccb3b2a13b5d1f6d6db Mon Sep 17 00:00:00 2001 From: Chengdong Fu <fucd@ihep.ac.cn> Date: Tue, 29 Sep 2020 23:12:20 +0800 Subject: [PATCH] allow only one of GearSvc and GeoSvc --- Service/TrackSystemSvc/src/TrackSystemSvc.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Service/TrackSystemSvc/src/TrackSystemSvc.cpp b/Service/TrackSystemSvc/src/TrackSystemSvc.cpp index 78bb2779..3f1abc0d 100644 --- a/Service/TrackSystemSvc/src/TrackSystemSvc.cpp +++ b/Service/TrackSystemSvc/src/TrackSystemSvc.cpp @@ -17,18 +17,24 @@ TrackSystemSvc::~TrackSystemSvc(){ MarlinTrk::IMarlinTrkSystem* TrackSystemSvc::getTrackSystem(){ if(!m_trackSystem){ + gear::GearMgr* mgr=0; auto _gear = service<IGearSvc>("GearSvc"); if ( !_gear ) { - error() << "Failed to find GearSvc ..." << endmsg; - return 0; + info() << "Failed to find GearSvc ..." << endmsg; + } + else{ + mgr = _gear->getGearMgr(); } - gear::GearMgr* mgr = _gear->getGearMgr(); auto _geoSvc = service<IGeoSvc>("GeoSvc"); if ( !_geoSvc ) { - error() << "Failed to find GeoSvc ..." << endmsg; + info() << "Failed to find GeoSvc ..." << endmsg; + } + if(mgr==0&&_geoSvc==0){ + fatal() << "Both GearSvc and GeoSvc invalid!" << endmsg; return 0; } + m_trackSystem = new MarlinTrk::MarlinKalTest( *mgr, _geoSvc ) ; } return m_trackSystem; -- GitLab