diff --git a/README.md b/README.md index 6e30a0a..5c68cb9 100644 --- a/README.md +++ b/README.md @@ -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 .yaml` -Input.txt can be replaced by any text file with the correct format. +`` 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 ` +`./bin/Detectors .yaml` -An example input file is provided with the repository. +`.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 -