MUon fLux unDER
Project description
The Mulder library
(MUon fLux unDER)
Description
Mulder is utility library for computing local deformations of the flux of atmospheric due to geophysical features, e.g. taking into account a local topography described by a Digital Elevation Model (DEM).
The master component of Mulder is a fluxmeter, which behaves as a portable probe of the local flux of atmospheric muons. The level of details of fluxmeters is configurable, from a fast continuous approximation delivering an average flux estimate, to a detailed Monte Carlo delivering discrete (weighted) atmospheric muon events (at the observation point).
Note that Mulder only simulates the transport of atmospheric muons, taking into account the local features surrounding the fluxmeter. That is, Mulder does not simulate muons production at height. Instead, a (configurable) reference spectrum of atmospheric muons is used as input, providing the opensky flux, i.e. the flux in the absence of any ground or other obstacles than the Earth atmosphere.
Mulder has a high level Python 3 interface, allowing one to configure and run
the core C library (libmulder
). The C library can also be used directly, for
example as a generator of atmospheric muons for a C/C++ detector simulation.
Note however that the C library is bare-bones. High level customization
operations are intended to be done from Python. The C library only loads tables
at initialisation (e.g. produced from Python), and then it runs (produces muon
events) accordingly.
Installation
From PyPI
On Linux, the mulder
Python package can be installed with pip
as
pip install mulder
Note that Python (3.6, or more) is required (thus you might need to use pip3
instead of pip
, depending on your system). The C library is bundled with the
Python package. In order to compile C/C++ projects, the mulder
executable,
shipped with the Python package might be helpful. For example, the following
returns installation dependant compilation flags
mulder config --cflags --libs
From source
Mulder source is available from GitHub. Note that the library depends on other projects (git submodules), the like Pumas and Turtle. The complete tree, including dependencies, can be cloned as
git clone --recursive https://github.com/niess/mulder.git
(note the --recursive
in the previous command.)
Then, the Python package can be built with the provided Makefile, as
cd mulder
make package
This builds the package locally. Thus, you might also add the corresponding path
to your PYTHONPATH
, e.g. as following in bash
export PYTHONPATH=$PWD:$PYTHONPATH
The C example(s) can be compiled as
make examples
Usage
The Mulder library is currently in alpha stage. As so, there is no dedicated documentation. However, the Python package has detailed examples. A brief example of usage in C is also provided.
License
The Mulder library is under the GNU LGPLv3 license. See the provided LICENSE and COPYING.LESSER files. The examples however have a separate public domain license allowing them to be copied without any restriction.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file mulder-0.1.0-cp36-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl
.
File metadata
- Download URL: mulder-0.1.0-cp36-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.6+, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.5.0.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d40b30b172c67c498b23e92bffbacfaccd5a76b4108e78c0a4c1e90ebe34fe07 |
|
MD5 | 2cd71b9063b445ed75bc02a30768d202 |
|
BLAKE2b-256 | 745d8d9a78b0df98f965dce94e9ba795404ac03f64c11af14917d9fef7549012 |