EVe_HallC is an event display program for the Hall C HMS and SHMS detector stacks.
There are several branches currenlty in the JeffersonLab/EVe_HallC repository:
master
: holds code common to both HMS and SHMS stacksHMS
: holds HMS specific codeSHMS
: holds SHMS specific codedevelop
: deprecatedBetheHeitler
: ??
- Select appropriate branch (
HMS
orSHMS
):git checkout <branch>
- Check for updates:
git fetch upstream
git merge upstream/<branch>
- Setup environment:
- setup ROOT 5.34
setenv ANALYZER <path/to/podd>
- Build library:
make
- Load library into ROOT and start viewer:
root -l simEVe.C
Contributions/changes to the EVe_HallC repo will follow the same development model as for the Hall C analyzer (hcana) outlined in this link.
They boil down to this:
- Fork repo to your GitHub.
- Do not edit files in the
master
,HMS
orSHMS
branches! - Select appropriate branch for contribution
master
for changes that affect both HMS and SHMS,HMS
orSHMS
for spectrometer specific changes,git checkout <branch>
- Check for upstream updates:
git fetch upstream
git merge upstream/<branch>
- Branch a new
<featureBranch>
off of selected branch and work on your changes.- Make frequent atomic commits with useful commit logs.
- Test your code.
- When your feature is done:
- push
<featureBranch>
to your GitHub repository:git push --set-upstream origin <featureBranch>
- make pull request to
JeffersonLab/<branch>
from<you>/<featureBranch>
on GitHub. - Make sure changes are still compatible with any recent upstream changes and fix if not.
- push
And most of all, good luck. You will need it.
Please follow the style conventions (4-space indent, no tabs, etc):
- 4 space indent
- no hard tabs
- no trailing whitespace
- end file with a newline
Vim users can install this plugin to make use of the .lvimrc
defaults file.
vim Docs/localvimrc.vba
:so %
:q
I'd also add this to your ~/.vimrc
:
if !exists("g:localvimrc_persistent")
let g:localvimrc_persistent=2 " save local vimrc responses
endif
A .dir-locals.el
defaults file is present for Emacs users.
Some documentation may be found in the Docs
directory, however it has not
kept pace with some of the modifications so YMMV.
This code is based off an event display originally written by Miha Mihovilovic
in 2008 for the Hall A BigBite Spectrometer. Changes are significant and
ongoing. See git log
for the history.