diff --git a/Service/TrackSystemSvc/CMakeLists.txt b/Service/TrackSystemSvc/CMakeLists.txt
index d12bfb8758945e3b5b43083f23de9245b6af2afe..5d49ae93e9e0bf51c2fb2b51f469c8b74336b63f 100644
--- a/Service/TrackSystemSvc/CMakeLists.txt
+++ b/Service/TrackSystemSvc/CMakeLists.txt
@@ -1,4 +1,4 @@
-gaudi_subdir(TrackSystemSvc v0r0)
+# gaudi_subdir(TrackSystemSvc v0r0)
find_package(CLHEP REQUIRED;CONFIG)
find_package(ROOT 6.14 REQUIRED COMPONENTS Matrix Physics)
@@ -9,26 +9,32 @@ find_package(EDM4HEP REQUIRED)
#find_package(KalDet REQUIRED)
find_package(DD4hep COMPONENTS DDCore DDRec REQUIRED)
-gaudi_depends_on_subdirs(Service/GearSvc Detector/DetInterface Utilities/DataHelper Utilities/KalTest Utilities/KalDet)
+# gaudi_depends_on_subdirs(Service/GearSvc Detector/DetInterface Utilities/DataHelper Utilities/KalTest Utilities/KalDet)
set(TrackSystemSvc_srcs src/*.cpp)
set(TrackSystemSvcLib_srcs src/*.cc)
-gaudi_install_headers(TrackSystemSvc)
+# gaudi_install_headers(TrackSystemSvc)
#message( "${INCLUDE_DIRS}" )
#message( "${LINK_LIBRARIES}" )
-gaudi_add_library(TrackSystemSvcLib ${TrackSystemSvcLib_srcs}
- PUBLIC_HEADERS TrackSystemSvc
- INCLUDE_DIRS GaudiKernel ROOT ${CLHEP_INCLUDE_DIR} gear ${LCIO_INCLUDE_DIRS} ${EDM4HEP_INCLUDE_DIRS}
- LINK_LIBRARIES DataHelperLib KalTestLib KalDetLib GaudiKernel ROOT ${CLHEP_LIBRARIES} ${GEAR_LIBRARIES} ${LCIO_LIBRARIES}
- -Wl,--no-as-needed
- EDM4HEP::edm4hep EDM4HEP::edm4hepDict
- -Wl,--as-needed
+gaudi_add_library(TrackSystemSvcLib
+ SOURCES ${TrackSystemSvcLib_srcs}
+ LINK DataHelperLib
+ KalTestLib
+ KalDetLib
+ Gaudi::GaudiKernel
+ ${ROOT_LIBRARIES}
+ ${CLHEP_LIBRARIES}
+ ${GEAR_LIBRARIES}
+ ${LCIO_LIBRARIES}
+ EDM4HEP::edm4hep EDM4HEP::edm4hepDict
)
-gaudi_add_module(TrackSystemSvc ${TrackSystemSvc_srcs}
- INCLUDE_DIRS GaudiKernel gear
- LINK_LIBRARIES TrackSystemSvcLib GaudiKernel ${GEAR_LIBRARIES}
+gaudi_add_module(TrackSystemSvc
+ SOURCES ${TrackSystemSvc_srcs}
+ LINK TrackSystemSvcLib
+ Gaudi::GaudiKernel
+ ${GEAR_LIBRARIES}
)
diff --git a/Utilities/KiTrack/CMakeLists.txt b/Utilities/KiTrack/CMakeLists.txt
index 7a20e00dc7f34a62d6a97bad8e0c4886d6db62a9..4be93398507ceda8e715b7f0aeed65bc4c80d8d3 100644
--- a/Utilities/KiTrack/CMakeLists.txt
+++ b/Utilities/KiTrack/CMakeLists.txt
@@ -1,4 +1,3 @@
-gaudi_subdir(KiTrack v0r0)
find_package(CLHEP REQUIRED;CONFIG)
find_package(ROOT REQUIRED)
@@ -8,15 +7,72 @@ find_package(EDM4HEP REQUIRED)
find_package(LCIO REQUIRED)
find_package(DD4hep COMPONENTS DDCore DDRec REQUIRED)
-gaudi_depends_on_subdirs(Service/TrackSystemSvc Utilities/DataHelper)
+# gaudi_depends_on_subdirs(Service/TrackSystemSvc Utilities/DataHelper)
-set(KiTrackLib_srcs src/KiTrack/*.cc src/Criteria/*.cc src/ILDImpl/*.cc src/Tools/*.cc)
+set(KiTrackLib_srcs
+ src/KiTrack/Automaton.cc
+ src/KiTrack/HopfieldNeuralNet.cc
+ src/KiTrack/IHit.cc
+ src/KiTrack/SegmentBuilder.cc
+ src/KiTrack/Segment.cc
-#gaudi_install_headers(src)
-include_directories(src)
+ src/Criteria/Crit2_DeltaPhi.cc
+ src/Criteria/Crit2_DeltaPhi_MV.cc
+ src/Criteria/Crit2_DeltaRho.cc
+ src/Criteria/Crit2_DeltaTheta_MV.cc
+ src/Criteria/Crit2_Distance_MV.cc
+ src/Criteria/Crit2_HelixWithIP.cc
+ src/Criteria/Crit2_RZRatio.cc
+ src/Criteria/Crit2_StraightTrackRatio.cc
+ src/Criteria/Crit3_2DAngle.cc
+ src/Criteria/Crit3_2DAngleTimesR.cc
+ src/Criteria/Crit3_3DAngle.cc
+ src/Criteria/Crit3_3DAngleTimesR.cc
+ src/Criteria/Crit3_ChangeRZRatio.cc
+ src/Criteria/Crit3_IPCircleDist.cc
+ src/Criteria/Crit3_IPCircleDistTimesR.cc
+ src/Criteria/Crit3_NoZigZag_MV.cc
+ src/Criteria/Crit3_PT.cc
+ src/Criteria/Crit3_PT_MV.cc
+ src/Criteria/Crit4_2DAngleChange.cc
+ src/Criteria/Crit4_3DAngleChange.cc
+ src/Criteria/Crit4_3DAngleChangeNormed.cc
+ src/Criteria/Crit4_DistOfCircleCenters.cc
+ src/Criteria/Crit4_DistToExtrapolation.cc
+ src/Criteria/Crit4_NoZigZag.cc
+ src/Criteria/Crit4_PhiZRatioChange.cc
+ src/Criteria/Crit4_RChange.cc
+ src/Criteria/Criteria.cc
+ src/Criteria/SimpleCircle.cc
-gaudi_add_library(KiTrackLib ${KiTrackLib_srcs}
- PUBLIC_HEADERS KiTrack
- LINK_LIBRARIES DataHelperLib TrackSystemSvcLib ROOT ${CLHEP_LIBRARIES} GSL EDM4HEP::edm4hep LCIO
- # DD4hep
+
+ src/ILDImpl/FTDHit01.cc
+ src/ILDImpl/FTDHitSimple.cc
+ src/ILDImpl/FTDNeighborPetalSecCon.cc
+ src/ILDImpl/FTDSectorConnector.cc
+ src/ILDImpl/FTDTrack.cc
+ src/ILDImpl/MiniVector.cc
+ src/ILDImpl/MiniVectorHit01.cc
+ src/ILDImpl/SectorSystemFTD.cc
+ src/ILDImpl/SectorSystemVXD.cc
+ src/ILDImpl/VXDHit01.cc
+ src/ILDImpl/VXDHitSimple.cc
+ src/ILDImpl/VXDSectorConnector.cc
+ src/ILDImpl/VXDTrack.cc
+
+ src/Tools/Fitter.cc
+ src/Tools/FTDHelixFitter.cc
+ src/Tools/KiTrackMarlinTools.cc
+ src/Tools/Timer.cc
+)
+
+gaudi_add_library(KiTrackLib
+ SOURCES ${KiTrackLib_srcs}
+ LINK DataHelperLib
+ TrackSystemSvcLib
+ ${ROOT_LIBRARIES}
+ ${CLHEP_LIBRARIES}
+ ${GSL_LIBRARIES}
+ EDM4HEP::edm4hep
+ ${LCIO_LIBRARIES}
)
diff --git a/Utilities/KiTrack/src/ILDImpl/#FTDTrack.cc# b/Utilities/KiTrack/src/ILDImpl/#FTDTrack.cc#
deleted file mode 100644
index 6d928c374e857ebcc3f08f657a8f873024955dbb..0000000000000000000000000000000000000000
--- a/Utilities/KiTrack/src/ILDImpl/#FTDTrack.cc#
+++ /dev/null
@@ -1,132 +0,0 @@
-#include "ILDImpl/FTDTrack.h"
-
-
-#include <algorithm>
-#include <math.h>
-
-//#include "UTIL/LCTrackerConf.h"
-
-// Root, for calculating the chi2 probability.
-#include "Math/ProbFunc.h"
-
-
-
-using namespace KiTrackMarlin;
-
-/** @return if the absolute z value of hit a is bigger than that of hit b */
-bool compare_IHit_z( IHit* a, IHit* b ){
-
- return ( fabs( a->getZ() ) < fabs( b->getZ() ) ); //compare their z values
-
-}
-
-
-
-FTDTrack::FTDTrack( MarlinTrk::IMarlinTrkSystem* trkSystem ){
-
- _trkSystem = trkSystem;
- _chi2Prob = 0.;
-
- _lcioTrack = new edm4hep::Track();
-
-
-}
-
-FTDTrack::FTDTrack( std::vector< IFTDHit* > hits , MarlinTrk::IMarlinTrkSystem* trkSystem ){
-
-
- _trkSystem = trkSystem;
- _chi2Prob = 0.;
-
- _lcioTrack = new edm4hep::Track();
-
- for( unsigned i=0; i < hits.size(); i++ ){
-
- addHit( hits[i] );
-
-
- }
-
-}
-
-
-FTDTrack::FTDTrack( const FTDTrack& f ){
-
- //make a new copied lcio track
- _lcioTrack = new edm4hep::Track( *f._lcioTrack );
-
-
- _hits = f._hits;
- _chi2Prob = f._chi2Prob;
- _trkSystem = f._trkSystem;
-
-}
-
-FTDTrack & FTDTrack::operator= (const FTDTrack & f){
-
- if (this == &f) return *this; //protect against self assignment
-
- //make a new copied lcio track
- _lcioTrack = new edm4hep::Track( *f._lcioTrack );
-
-
- _hits = f._hits;
- _chi2Prob = f._chi2Prob;
- _trkSystem = f._trkSystem;
-
- return *this;
-
-}
-
-
-
-void FTDTrack::addHit( IFTDHit* hit ){
- if ( hit != NULL ){
- _hits.push_back( hit );
- // and sort the track again
- sort( _hits.begin(), _hits.end(), compare_IHit_z );
- _lcioTrack->addToTrackerHits( *hit->getTrackerHit() );
- }
-}
-
-
-
-
-
-void FTDTrack::fit() {
-
-
- Fitter fitter( _lcioTrack , _trkSystem );
-
-
- _lcioTrack->setChi2( fitter.getChi2( 1/*by fucd AtIP=1 in LCIO, changed to CepC rule in future: lcio::TrackState::AtIP*/ ) );
- _lcioTrack->setNdf( fitter.getNdf( 1/*lcio::TrackState::AtIP*/ ) );
- _chi2Prob = fitter.getChi2Prob( 1/*lcio::TrackState::AtIP*/ );
-
- edm4hep::TrackState trkState( *fitter.getTrackState( 1/*lcio::TrackState::AtIP*/ ) ) ;
- trkState.location = 1/*lcio::TrackState::AtIP*/ ;
- _lcioTrack->addToTrackStates( trkState );
-
-
-}
-
-
-double FTDTrack::getQI() const{
-
-
- double QI = _chi2Prob;
-
- // make sure QI is between 0 and 1
- if (QI > 1. ) QI = 1.;
- if (QI < 0. ) QI = 0.;
-
- return QI;
-
-}
-
-
-
-
-
-
-