Move lalapps/src/pulsar/ codes to LALPulsar
Description
This MR moves all codes under lalapps/src/pulsar/
to lalpulsar/bin/
.
Executables under lalpulsar/bin/
are renamed as follows (to avoid duplicate pulsar
s in the name):
-
lalapps_pulsar_crosscorr_v2
is renamed tolalpulsar_crosscorr_v2
-
lalapps_pulsar_frequency_evolution
is renamed tolalpulsar_frequency_evolution
-
lalapps_heterodyne_pulsar
is renamed tolalpulsar_heterodyne
-
lalapps_pulsar_parameter_estimation_nested
is renamed tolalpulsar_parameter_estimation_nested
-
lalapps_run_pulsar_crosscorr_v2
is renamed tolalpulsar_run_crosscorr_v2
- All other executables with
lalapps_...
prefixes are renamed tolalpulsar_...
prefixes
The renames are also documented in the Doxygen HTML documentation, see here
For backward compatibility LALApps will continue to provide executable stubs with the former lalapps_...
names, at least until the completion of O4 analyses. The lalapps_...
stubs will print a warning message (on standard error) for scripts to be updated to use the new lalpulsar_...
names, before calling the new lalpulsar_...
executable, e.g.:
$ lalapps_ComputeFstatistic_v2 ...
WARNING: 'lalapps_ComputeFstatistic_v2' has been renamed to 'lalpulsar_ComputeFstatistic_v2'
WARNING: please update your scripts
... calls lalpulsar_ComputeFstatistic_v2 ...
Notes for Developers
Once the MR is merged, you may want to run make clean
and git clean -di
to clean up old build products.
Top-level ./configure
options for building CW codes:
- To build most CW codes, configure with
--disable-all-lal --enable-lalpulsar
(i.e. build just LAL and LALPulsar) - To add the ability to read/write Frame files, add
--enable-lalframe
- To build the backward compatibility
lalapps_...
stubs for codes formerly underlalapps/src/pulsar
, add--enable-lalapps
- To build the known pulsar code under
lalpulsar/bin/HeterodyneSearch
, configure with--enable-all-lal
(the known pulsar code requires LALSimulation and LALInference, which ultimately depend on all other LALSuite libraries)
Notes for Package Users
Provided that both LALPulsar and LALApps packages are installed (which is expected on LVK clusters) pipelines should continue to work, as the old lalapps_...
executable names will still work. You should however see warning messages as above to update scripts to use the new lalpulsar_...
names.
Notes for Maintainers
This MR shouldn't introduce any package conflicts, since the old lalapps_...
executable names provided by LALApps and the new lalpulsar_...
executable names provided by LALPulsar are distinct.
LALApps still contains an --enable-lalpulsar
option; this exists only to enable whether to build the old lalapps_...
stubs in lalapps/src/pulsar/
. This should continue to be enabled in package builds.
API Changes and Justification
Backwards Compatible Changes
-
This change does not modify any class/function/struct/type definitions in a public C header file or any Python class/function definitions -
This change adds new classes/functions/structs/types to a public C header file or Python module
Backwards Incompatible Changes
-
This change modifies an existing class/function/struct/type definition in a public C header file or Python module -
This change removes an existing class/function/struct/type from a public C header file or Python module