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(sopath.c_str(), &st) == 0) {
108 printf(
"execTrackerInfoCreatorPlugin processing '%s'\n", sopath.c_str());
110 void *
h = dlopen(sopath.c_str(), RTLD_LAZY);
112 perror(
"dlopen failed");
116 long long *p2f = (
long long *)dlsym(
h,
"TrackerInfoCreator_ptr");
118 perror(
"dlsym failed");
123 int binsr =
stat(binpath.c_str(), &st);
124 printf(
"execTrackerInfoCreatorPlugin has%s found TrackerInfo binary file '%s'\n",
130 TrackerInfoCreator_foo
foo = (TrackerInfoCreator_foo)(*p2f);
139 fprintf(
stderr,
"TrackerInfo plugin '%s' not found in search path.\n", soname.c_str());
void read_bin_file(const std::string &fname)
std::vector< std::string > json_patch_filenames
TEMPL(T2) struct Divides void
void execTrackerInfoCreatorPlugin(const std::string &base, TrackerInfo &ti, IterationsInfo &ii, bool verbose)
void recalculateDependentConstants()
matchOpts cmsswMatchingFW
matchOpts cmsswMatchingBK
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