mirror of
https://github.com/gwm17/Mask.git
synced 2024-11-22 10:18:50 -05:00
Update README
This commit is contained in:
parent
47d84e8dca
commit
142a2dffd1
18
README.md
18
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 <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
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user