1
0
Fork 0
mirror of https://github.com/gwm17/Mask.git synced 2024-05-19 15:23:20 -04:00

Update README

This commit is contained in:
Gordon McCann 2023-05-26 14:50:39 -04:00
parent 47d84e8dca
commit 142a2dffd1

View File

@ -1,9 +1,12 @@
# Mask: Monte cArlo Simulation of Kinematics
Mask is a Monte Carlo simulation of reaction kinematics for use detector systems at Florida State University.
Mask is capable of simulating multi-step kinematic reaction-decay sequences, storing data in ROOT Trees, after which the kinematic data can be fed to a detector geometry for efficiency testing. Currently geometries for ANASEN and SABRE are included in the code.
## Building Mask
Dowload the repository from github. CMake is use to build the project; in most environments you can build Mask using the following methods:
Dowload the repository from GitHub using `git clone --recursive https://github.com/gwm17/Mask.git`. CMake is use to build the project; in most environments you can build Mask using the following methods:
- `mkdir build`
- `cd build`
- `cmake ..`
@ -14,6 +17,7 @@ Executables will be installed to the repostiory's `bin` directory. Libraries wil
By default Mask builds for release. To build for debug replace `cmake ..` with `cmake -DCMAKE_BUILD_TYPE=Debug ..`. Mask uses CMake to find the installed ROOT libraries and headers.
## Using the kinematics simulation
By default Mask is capable of simulating reactions of up to three steps. Here is a brief outline of each type:
0. A pure decay involves a "target" decaying into an ejectile and residual. It is assumed isotropic by default; any other case will require the modification of the code.
@ -25,11 +29,12 @@ For decays, a specific angular distribution can be given as input as a text file
To run Mask simply do the following from the Mask repository:
`./bin/Kinematics input.txt`
`./bin/Kinematics <your_config>.yaml`
Input.txt can be replaced by any text file with the correct format.
`<your_config.yaml>` is a YAML configuration file. An example is given in the repository named `kinematics.yaml` and can be replaced by any yaml file with the correct format.
## Using the detector geometry simulation
Detector geometry is encoded using ROOT math libraries in the `src/Detectors` folder. Two different detector geometries are already present: SPS-SABRE and ANASEN. To add a new geometry, follow the guidelines outlined by each of these cases.
To choose which detector scheme is run, modify the main function in `src/Detectors/main.cpp`. The included geometries also have options to do an internal geometry consistency check and print out coordinates for drawing the detector arrays, which can be useful for testing.
@ -38,11 +43,12 @@ To run the geometry code, one needs to provide an input file containing the foll
To run Detectors use the format
`./bin/Detectors <input_file>`
`./bin/Detectors <your_config>.yaml`
An example input file is provided with the repository.
`<your_config>.yaml` is a YAML configuration file. An example, `detector.yaml` is included in the repository.
## Data visualization
All data is saved as ROOT trees of std::vectors of Mask::Nucleus classes. To enable this, a ROOT dictionary is generated and linked into a shared library found in the `lib` directory of the repository. This allows the user to link to the shared library for accessing and analyzing the data generated by Mask.
Mask also provides a default visualization tool called RootPlot. RootPlot is run as
@ -52,6 +58,6 @@ Mask also provides a default visualization tool called RootPlot. RootPlot is run
where the datafile can be either the datafile from Mask or the datafile from DetEff. The outputfile is saved in the ROOT file format.
## Requirements
ROOT version 6.22 or greater is required
CMake version 3.0 or greater is required