Skip to content
Cory R. Thornsberry edited this page Oct 7, 2019 · 5 revisions

NEXTSim Wiki

Cory R. Thornsberry

Last updated: October 6, 2019

Authors

  • Cory R Thornsberry
  • David Pérez Loureiro
  • Kyle Schmitt
  • Xiadong Zhang

Overview

NEXTSim is a simulation package which uses Geant4 and ROOT to simulate the response of segmented plastic scintillator detectors to neutrons and other particles. NEXTSim is still in development and is the result of the authors listed above. NEXTSim is, hopefully, robust enough for average users to interact with without the need to edit the source code. This Wiki contains information about how to install and use NEXTSim as well topics for more experienced users of Geant. In addition to this Wiki, all NEXTSim classes contain Doxygen documentation for users who wish to modify the source or to extend it with their own classes.

For detailed information on changes to the master branch, see the changelog.

Getting Started

Examples

Note: Example macro files may be found here. Currently, wiki documentation does not exist for all example macros. More examples will be added to the wiki as they become available.

Contributing to this wiki

The easiest way to add contributions to this wiki is to clone it locally on your computer:

git clone https://github.com/cthornsb/NEXTSim.wiki.git

Now you may edit or add new wiki entries and make commits to the wiki exactly as you would make commits to a normal git repository.

Updating the changelog

NEXTSim contains a shell script named changelog.sh which may be used to easily generate new entries for the NEXTSim changelog anytime changes are merged into the master release branch. The output of this script conforms to the format which is already present in the changelog.

Whenever you merge commits from the dev branch (or any other branch) into the master branch, you should add an entry to the changelog so that end users will know what changes have been made to the source code.

To create a new master release, cd to the NEXTSim directory and do:

git checkout master
git merge dev
git push

Now, to update the changelog:

./cmake/changelog.sh [PREVIOUS_COMMIT]

where PREVIOUS_COMMIT is the first 7 characters of the most recently merged master commit e.g. 28ada18 (you can obtain this number from the top-most entry in the NEXTSim version table in the changelog). If the previous commit number is not specified, a placeholder will be inserted in its place and you will need to insert the number manually later so that the hyperlinks work properly.

The script will output the new merge documentation and will inform you where to add the information in the changelog. You may add documentation under the headings (Added, Changed, Removed, etc) or modify, add, or remove any headings to suit your needs.

As a general rule, you should only add documentation for major changes which will affect end users (e.g. new macro commands, changes to material properties, etc). Changes which the normal user will not notice (e.g. class restructuring and so forth) should not be added.