88 const char *search_path[] = {
"",
"../Geoms/",
"Geoms/",
"../",
nullptr};
89 typedef void (*TrackerInfoCreator_foo)(TrackerInfo &, IterationsInfo &,
bool verbose);
98 while (search_path[si]) {
100 const char *envpath = std::getenv(
"MKFIT_BASE");
101 if (envpath !=
nullptr) {
105 path += search_path[si];
107 if (
stat(path.c_str(), &st) == 0) {
108 printf(
"mkfit::execTrackerInfoCreatorPlugin processing '%s'\n", path.c_str());
110 void *
h = dlopen(path.c_str(), RTLD_LAZY);
112 perror(
"dlopen failed");
116 long long *p2f = (
long long *)dlsym(h,
"TrackerInfoCrator_ptr");
118 perror(
"dlsym failed");
122 TrackerInfoCreator_foo foo = (TrackerInfoCreator_foo)(*p2f);
123 foo(ti, ii, verbose);
131 fprintf(stderr,
"TrackerInfo plugin '%s' not found in search path.\n", soname.c_str());
std::vector< std::string > json_patch_filenames
void execTrackerInfoCreatorPlugin(const std::string &base, TrackerInfo &ti, IterationsInfo &ii, bool verbose)
void recalculateDependentConstants()
matchOpts cmsswMatchingFW
matchOpts cmsswMatchingBK
printf("params %d %f %f %f\n", minT, eps, errmax, chi2max)
bool json_save_iters_include_iter_info_preamble
std::vector< std::string > json_load_filenames
std::string json_save_iters_fname_fmt
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
int finderReportBestOutOfN