HomeHEPForge

Adds dynamic sample loader. Enabled with: -DUSE_DYNSAMPLES=1 at configure-time.

This commit has been deleted in the repository: it is no longer reachable from any branch, tag, or ref.

Description

Adds dynamic sample loader. Enabled with: -DUSE_DYNSAMPLES=1 at configure-time.

Standalone MeasurementBase instances can be written and compiled
outside of NUISANCE, but loaded at runtime and used as a first
class function.

A helper script for compiling a single class to a useable shared
object is provided in ${NUISANCE}/bin/BuildDynamicSample

It should be provided a sample.cxx file residing in the
current working directory, and a shared object name (including
.so) to write to. The SampleList checks in directories specified
in a PATH-like way via either the environment variable: NUISANCE_DS_PATH
or the NUISANCE config variable: <config dynamic_sample.path="/some/path" />.
If neither are specified, it will automatically look for shared objects
(by extention) within the current working directory. Any found will be
searched for dynamic sample manifest descriptor symbols that can
be used to instantiate sample instances.

It may not be the most robust plugin architecture and almost certainly
requires NUISANCE and the plugins to be compiled with almost
identical environments... but it may reduce the entry barrier to
writing NUSIANCE classes.

Details

Provenance
lp208Authored on Sep 25 2017, 1:36 AM
lp208Pushed on Oct 7 2019, 9:23 PM
Parents
rNUISANCEGIT2f8743beeabf: Fixes GENIE InputHanlder bug when Prob3++ enabled.
Branches
Unknown
Tags
Unknown