Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
224 commits
Select commit Hold shift + click to select a range
c7ff439
CHG: Some bug fixes / optimizations related to COSI calibrations
zoglauer Jul 13, 2022
d3b29b6
update for geant4.11
GallegoSav Feb 16, 2023
e97c49a
Update AllowedROOTVersions.txt
GallegoSav Feb 16, 2023
e611710
Merge pull request #77 from GallegoSav/feature/geant11
zoglauer Feb 16, 2023
e51a266
CHG: Fixed automatic compilation
zoglauer Feb 16, 2023
56833c1
CHG: More compile compatibilty - but still not running
zoglauer Feb 21, 2023
182bd39
CHG: Hack to fix random number seed issue
zoglauer Feb 21, 2023
c672257
Update MCSteppingAction.cc
GallegoSav Feb 22, 2023
a3ec939
Merge pull request #78 from GallegoSav/patch-1
zoglauer Feb 22, 2023
b807efc
ADD : EM parameters updated
GallegoSav Mar 3, 2023
aa98950
Merge pull request #79 from GallegoSav/feature/geant11
zoglauer Mar 10, 2023
469b908
update for geant11 activation part
GallegoSav May 23, 2023
d46c659
Update MCMain.cc
GallegoSav May 23, 2023
49f2c09
Update MCVHit.cc
GallegoSav May 23, 2023
00f94b4
Update MCCrossSections.cc
GallegoSav Jun 15, 2023
f2b13c1
MRG: Merge origin/main into features/melinatorcosiupdates
zoglauer Jul 6, 2023
a4c021d
ADD: Flag to really exclude excluded lines
zoglauer Jul 6, 2023
250f752
CHG: Minimum bin ID is now 25
zoglauer Jul 6, 2023
4ef81d8
CHG: Exclude excluded lines
zoglauer Jul 6, 2023
fdab336
ADD: Command line option to select on a specific side
zoglauer Jul 19, 2023
a93fe4f
CHG: Disallow cfg loading in the UI
zoglauer Jul 20, 2023
4c6283f
Merge branch 'zoglauer:feature/geant11' into feature/geant11
GallegoSav Aug 29, 2023
c012e63
CHG: Switch from n/p side to high and low voltage side
zoglauer Sep 8, 2023
6b24b15
CHG: More switching from neg/pos to LV/HV
zoglauer Sep 12, 2023
772f8c3
CHG: Added peak finding options to UI, scrollbar for options, include…
zoglauer Sep 13, 2023
86b5459
CHG: Parallelize spectrum creation
zoglauer Sep 13, 2023
a530325
MRG: Merge branch main into features/melinatorcosiupdates
zoglauer Sep 27, 2023
6ab384d
MRG: Branch 'main' into features/melinatorcosiupdates
zoglauer Oct 13, 2023
8579602
Update MFunction3D.h
GallegoSav Nov 9, 2023
68f0c8d
Update MFunction3D.cxx
GallegoSav Nov 9, 2023
418b903
Update MFunction3DSpherical.cxx
GallegoSav Nov 9, 2023
9190634
MRG: Merge branch 'main' into features/melinatorcosiupdates
zoglauer Dec 1, 2023
8edb878
CHG: Make sure we have an example finalize
zoglauer Dec 7, 2023
1d630c9
CHG: Allow phi from -180 to 360
zoglauer Dec 11, 2023
cc4a450
Apply MFunction.cxx correction for high value of x
GallegoSav Jan 8, 2024
44c32d0
apply the MFunction.h correction for high value of x
GallegoSav Jan 8, 2024
20c47ba
CHG: Add energy windows to Bayesian and TMVA reconstrcution
zoglauer Jan 26, 2024
678fa08
CHG: Changes to internal cfitsio
zoglauer Jan 26, 2024
fda5eb1
ADD: Save the cfg file via command line in revan and mimrec
zoglauer Jan 26, 2024
7fe0e4b
CHG: Minimum energy must be 0
zoglauer Feb 8, 2024
896ef50
CHG: Sort masses by name
zoglauer Feb 9, 2024
798a4c1
CHG: More ROOTPATH sanity checks
zoglauer May 24, 2024
e9a32b7
CHG: Update Doxyfile to latest version
zoglauer May 24, 2024
756ef92
CHG: Add code of conduct
zoglauer Jun 3, 2024
67a77dd
CHG: Update CodeOfConduct.md
zoglauer Jun 3, 2024
0cd96e9
ADD: Contributor guide
zoglauer Jun 3, 2024
6cc89cd
Update AllowedGeant4Versions.txt increase version to 11.2
GallegoSav Jun 7, 2024
6ee1551
modify MCActivator for compiling with geant4 v11.2
GallegoSav Jun 7, 2024
8ef0f2d
increase Allowed root version to 6.28
GallegoSav Jun 7, 2024
2546f20
MCActivator add the process Radioactivation and link it to Radioactiv…
GallegoSav Jun 7, 2024
094c133
merge
GallegoSav Jun 7, 2024
329c575
Merge branch 'feature/geant11_2' of github.com:GallegoSav/megalib int…
GallegoSav Jun 7, 2024
8db810c
CHG: Large number fix
zoglauer Jun 17, 2024
8390093
MRG: Remote main
zoglauer Jul 11, 2024
8683100
MRG: Fixes to merge main
zoglauer Jul 11, 2024
2637e4d
CHG: Foxes for C++ 17 on macOS
zoglauer Jul 11, 2024
4c6179a
resolve conflict MFunction.cxx
GallegoSav Jul 12, 2024
3c4359b
Merge pull request #80 from GallegoSav/feature/geant11
zoglauer Jul 12, 2024
894f3d0
CHG: Revert "CHG: Large number fix"
zoglauer Jul 23, 2024
d9afacb
VER: 4.0
zoglauer Jul 23, 2024
1e0c212
MRG: main
zoglauer Jul 23, 2024
9bddb3b
CHG: REvert to Geant4 11.1
zoglauer Jul 23, 2024
b61d056
ADD: More 4.0 changes
zoglauer Jul 23, 2024
9843bcd
CHG: Geant4 11.1 compatibility on macOS
zoglauer Jul 24, 2024
bea0a76
CHG: Addd bzip2lib
zoglauer Jul 24, 2024
1eaad14
CHG: Added known issues
zoglauer Jul 24, 2024
8f1a2dc
CHG: More env.sh fixes for macOS
zoglauer Jul 28, 2024
7c9de05
CHG: Fix merge issues
zoglauer Jul 28, 2024
3a5dd8f
Merge branch 'feature/geant_11.2' into feature/geant11_2
zoglauer Jul 28, 2024
f24e836
Merge pull request #94 from GallegoSav/feature/geant11_2
zoglauer Jul 28, 2024
baa8305
CHG: Fix merge issues
zoglauer Jul 28, 2024
dcddb2b
CHG: Only Geant4 11.2 allowed
zoglauer Jul 28, 2024
c807e0d
CHG: Changes for ROOT 6.32
zoglauer Aug 13, 2024
2ce372d
CHG: Option to create a string in correct value/uncertainty format
zoglauer Aug 29, 2024
c889134
ADD: New ARM fitter
zoglauer Aug 29, 2024
2fb1d4f
CHG: More improvments for the new ARM fitter
zoglauer Aug 30, 2024
80806e0
CHG: References to class enum seem not to work nicely in python, thus…
zoglauer Sep 3, 2024
b58dd4d
CHG: ARM fitting improvements for python and work on GUI
zoglauer Sep 3, 2024
1e31892
CHG: Improved ARM GUI
zoglauer Sep 3, 2024
a944717
ADD: Counts in FWHM window into ARMFitter
zoglauer Sep 5, 2024
e51e932
CHG: Verbosity
zoglauer Sep 5, 2024
da6128e
CHG: Minor formatting and output fixes
zoglauer Sep 5, 2024
194f711
ADD: Feature to get volume positions in the mother volume
zoglauer Sep 5, 2024
39e41cd
ADD: Check for OS version and store it in a global string
zoglauer Sep 20, 2024
d0b2937
CHG: Sonoma compatibility
zoglauer Sep 20, 2024
3e8121d
CHG: EventTransmitter now can handle gzip'ed files
zoglauer Sep 23, 2024
02de16f
MRG: Main
zoglauer Sep 23, 2024
e4082aa
CHG: Foxes for C++ 17 on macOS
zoglauer Jul 11, 2024
35d118a
CHG: Compatibility with ROOT 6.32
zoglauer Sep 23, 2024
4256998
CHG: Moved dependencies out of MGlobal
zoglauer Sep 23, 2024
b3cc0b1
CHG: Port C++-17 fixes back to Geant4 10.2
zoglauer Sep 24, 2024
1f909ab
Update MCParameterFile.cc
GallegoSav Oct 3, 2024
501b6ff
Update MCParameterFile.hh
GallegoSav Oct 3, 2024
b86134b
Update MCParameterFile.cc
GallegoSav Oct 3, 2024
4bf4826
Update MCOrientation.cc
GallegoSav Oct 3, 2024
e7982fb
Update MCOrientation.hh
GallegoSav Oct 3, 2024
0ee391b
Update MCSource.hh
GallegoSav Oct 3, 2024
c0edb04
Update MCSource.cc
GallegoSav Oct 3, 2024
dee391d
Update MCOrientation.hh
GallegoSav Oct 3, 2024
772dfd3
Update MCOrientation.cc
GallegoSav Oct 3, 2024
9b05f41
Create EarthOccultation.source
GallegoSav Oct 3, 2024
de2e2d9
Create Equatorial_orbit_530km_Galactic_zenith.ori
GallegoSav Oct 3, 2024
105dc7c
Create crab_spec.dat
GallegoSav Oct 3, 2024
3b5eaa2
Create README.md
GallegoSav Oct 3, 2024
710c759
correct typo
GallegoSav Oct 3, 2024
7023b21
correct typo
GallegoSav Oct 3, 2024
b8e09a8
correct typo
GallegoSav Oct 3, 2024
b965389
correct typo
GallegoSav Oct 3, 2024
4616d97
Merge pull request #100 from GallegoSav/feature/geant_11.2
zoglauer Oct 4, 2024
af1fcf7
CHG: Frtalon regression
zoglauer Oct 8, 2024
7586df2
CHG: Display improvements - skip similar results
zoglauer Oct 9, 2024
c17a9a8
ADD: Despina benchmark
zoglauer Oct 9, 2024
2f22b79
CHG: When the complain about too many sim rounds happens
zoglauer Oct 18, 2024
f2f8fda
ADD: Feature which shows in which volume the activation happened
zoglauer Oct 18, 2024
3325d65
BUG: Fixed random number seeding regression
zoglauer Oct 18, 2024
5ea17b6
BUG: Make sure filtered events are not deleted or a timeout would be …
zoglauer Oct 25, 2024
8ee692e
ADD: Comment
zoglauer Oct 25, 2024
9d2790a
CHG: Throw out positive / x strip and replace it with high/low volatg…
zoglauer Oct 28, 2024
2d70b21
BUG: Need to finalize modules if initialization failed
zoglauer Oct 28, 2024
9ec92cc
CHG: Work around ROOT bug on macOS
zoglauer Oct 29, 2024
9e760e2
MRG: main
zoglauer Nov 5, 2024
ee4c471
MRG: main
zoglauer Nov 5, 2024
09026d7
ADD: Feature to scale just one axis
zoglauer Nov 13, 2024
ed885d7
BUG: Missed adding return value
zoglauer Nov 13, 2024
9ba45b4
FIX: Compiler warnings
zoglauer Nov 13, 2024
44aae79
CHG: Fix warnings for Ubuntu 24.04
zoglauer Nov 14, 2024
193adb1
MRG: main
zoglauer Nov 14, 2024
53b683a
CHG: Fixed a warning. Maybe...
zoglauer Nov 14, 2024
37b466e
MRG: main
zoglauer Nov 24, 2024
9246e52
CHG: Regresssion and bug fixes for Bayesion event reconstruction
zoglauer Nov 25, 2024
f588340
MRG: main
zoglauer Nov 25, 2024
e77da64
BUG: Maje sure there are no overflows
zoglauer Nov 25, 2024
6bbd55d
MRG: main
zoglauer Nov 29, 2024
670fdaa
BUG: Wrong variable used
zoglauer Nov 29, 2024
d6e3865
CHG: Compatibility updated and hidden --allowroot feature
zoglauer Jan 8, 2025
c5c99ff
MRG: main
zoglauer Jan 9, 2025
31443f8
MRG: main
zoglauer Jan 9, 2025
31e1051
CHG: Switch MFunction to long double, give a warning on systems where…
zoglauer Jan 9, 2025
91338f3
CHG: Forgot to check for 0
zoglauer Jan 13, 2025
d840a28
Galactic polarization and EarthOccultation Beam profile (#104)
GallegoSav Jan 16, 2025
be33605
CHG: Replaced locate with pkgconf
zoglauer Jan 22, 2025
2d83cdc
CHG: Fixed a warning
zoglauer Jan 22, 2025
4a6d585
ADD: long double handling
zoglauer Jan 22, 2025
184ef3c
ADD: Example overflow filter
zoglauer Jan 28, 2025
de7ba0d
CHG: Filter updates
zoglauer Jan 28, 2025
bd16349
CHG: Include libMinuit2 as required library
zoglauer Feb 11, 2025
738d4f3
ADD: Ability to wait for more than just one program and set delay time
zoglauer Mar 17, 2025
f3e87b1
BUG: Auxillary programs got merged
zoglauer Mar 18, 2025
a8757c2
ADD: Julia sim parser
zoglauer Mar 19, 2025
91cf203
CHG: Some modifications plus read me
zoglauer Mar 19, 2025
6df23dd
ADD: New tool TraMerger
zoglauer Mar 27, 2025
a4428d7
CHG: Make it run on command line
zoglauer Mar 27, 2025
a88ad47
CHG: Compatibility with MEGAlib 4.0
zoglauer Apr 3, 2025
a77ca4d
BUG: Not sure how that code got checked in...
zoglauer Apr 30, 2025
9861353
MRG: main
zoglauer Apr 30, 2025
5699872
CHG: Merge needs commit
zoglauer Apr 30, 2025
094d359
CHG: Require ROOT 6.34
zoglauer Apr 30, 2025
02bd296
CHG: Conclude merge
zoglauer Apr 30, 2025
ae0db87
ADD: New exception: MExceptionValueNotFound
zoglauer May 11, 2025
ab45652
ADD: New report feature, fixed Ba-133 only calibration
zoglauer May 1, 2025
938b3ee
ADD: Line FWHM'es and residials
zoglauer May 2, 2025
24e4c5c
ADD: Threshold and overflow to report
zoglauer May 5, 2025
b1bdc4b
ADD: UI to set report parameters
zoglauer May 6, 2025
1f9c4fd
BUG: Revert "ADD: New exception: MExceptionValueNotFound"
zoglauer May 22, 2025
e4c4710
Revert "BUG: Revert "ADD: New exception: MExceptionValueNotFound""
zoglauer May 22, 2025
cf3d78b
Revert "ADD: UI to set report parameters"
zoglauer May 22, 2025
2c6584b
Revert "ADD: Threshold and overflow to report"
zoglauer May 22, 2025
75217f4
Revert "ADD: Line FWHM'es and residials"
zoglauer May 22, 2025
9578d50
Revert "ADD: New report feature, fixed Ba-133 only calibration"
zoglauer May 22, 2025
0d2d2f5
CHG: Reintroduce break on exception durign debug
zoglauer May 26, 2025
0baaf81
ADD: distcc option for the ROOT compile
zoglauer May 28, 2025
2d4be01
ADD: Memory monitoring script
zoglauer Jun 20, 2025
60875bd
CHG: Include Fretalon base
zoglauer Jun 20, 2025
eba2dff
BUG: Prevent UI clicks when analysis is running
zoglauer Jun 20, 2025
2bacbc4
ADD: Command line option to show the location of the first interaction
zoglauer Jul 7, 2025
ff1f916
CHG: Increase ROOT version to 6.36
zoglauer Sep 17, 2025
55cd3a4
CHG: Compatibility with macOS 26 Tahoe
zoglauer Sep 17, 2025
decbf42
MRG: Branch 'main' into feature/os-updates
zoglauer Sep 17, 2025
4716deb
CHG: Fix some warnings on macOS
zoglauer Sep 17, 2025
6274a36
CHG: Sort the element list
zoglauer Sep 17, 2025
b63985a
VER: 4.02
zoglauer Sep 17, 2025
32262f5
MRG: Merge branch 'main' into feature/geant_11.2
zoglauer Sep 17, 2025
08d124a
CHG: Compatibility with brew on macOS Sequoia & Tahoe
zoglauer Sep 18, 2025
08b9f59
CHG: Require C++ 17
zoglauer Sep 19, 2025
74589d6
CHG: More Geant4 install fixes
zoglauer Sep 30, 2025
ed1b707
ADD: Fretaloin framework submodules
zoglauer Sep 30, 2025
507ef08
ADD: Names for sub module
zoglauer Oct 15, 2025
c295a1e
MRG: main
zoglauer Oct 16, 2025
7c37ec9
Energy edits and comments added to Kalman 3D code.
rheask8246 Jul 13, 2021
a8d0761
Pair dev (#2)
eacharles Feb 2, 2021
5ade794
CHG: Ignore *.rsp files
May 9, 2025
2e5e542
CHG: Ignore a few more executables
May 9, 2025
629fa7b
CHG: Minor code clean-ups
May 9, 2025
aa02b49
CHG: UI only, set Kalman as electron tracking and add external event …
May 27, 2025
ec36343
CHG: Add vim temp *.swp files to gitignore
May 30, 2025
04cb0e5
CHG: Minor typos and spurious indents
May 30, 2025
e406086
CHG: Changed lists of 'static const' variables for reconstruction alg…
May 30, 2025
08b8717
FIX: bug in CSR algo enum
May 31, 2025
9fd3964
ADD: (red) Event type identification class
Jun 5, 2025
f1bed10
ADD: Event type identification algorithm and accompanying GUI options
Jun 11, 2025
b80dbc4
CHG: finish implementing separate Event Type Identification - to be t…
Jun 12, 2025
df9129d
ADD: (red) MRERawEvent member to state whether this event has been re…
Jun 27, 2025
a5c9455
ADD: (red) State when event is reconstructed
Jun 27, 2025
bba2147
ADD: (red) State when event is reconstructed, minor code refactor
Jun 27, 2025
419f0c7
FIX: Minor fix
Jun 27, 2025
729a379
ADD: (red) Compatibility of other Pair and Compton event reconstructi…
Jun 28, 2025
466b86a
Fix: Photo events and typo in CSRchisquare
Jun 29, 2025
8fe4779
Feat: Add the MFileEventsType class to handle (rw) the *.etp files co…
Jul 10, 2025
7a5af76
FIX: Remove one extraneous line
Jul 11, 2025
22f4a54
REF: Remove debugging prints
Jul 11, 2025
955d195
Feat: Implement external event type identification from event type *.…
Jul 12, 2025
ada4150
Feat: GUI modifications for external event type identification
Jul 12, 2025
bb7ddf2
Fix: Pair events with not enough hits in tracker are properly rejected
Jul 12, 2025
f7f2808
FIX: Broken dependence of MFileEventsType of MRERawEvent
Jul 15, 2025
d8c7064
Refactor: Moved all event types in global namespace in MPhysicalEvent
Jul 15, 2025
453f536
Fix: Search Photos stay selected on revan re-launch
Jul 15, 2025
b234142
Fix: Single site events classified unknown by tracking algorithm and …
Jul 15, 2025
c27a5ee
Fix: Reproduce behavior of Compton and Photo events when no CSR algor…
Jul 16, 2025
a262fcd
[Style] Changed indent on 2 lines
Sep 11, 2025
321a0b7
Fix: External event type works when events are missing in etp file
Sep 25, 2025
a907f65
Fix: External event type works when events are missing in etp file
AdrienLaviron Sep 30, 2025
c30ba08
Perf: Add quick lookup of external event type
AdrienLaviron Sep 30, 2025
909d86a
Style: minor changes
Oct 2, 2025
9b95218
Minor: allow root 6.28
AdrienLaviron Dec 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,17 @@ bin/realta
bin/revan
bin/sivan
bin/spectralyze
bin/AspectOptimizerStep1
bin/CompareHistograms
bin/DistanceOptimizerForEventClusterizer
bin/SimBinaryConverter
bin/TH1_summer_cpp
bin/ThresholdCalculation
bin/TraMerger
bin/UTARMFitter
bin/UTCosimaInputSpectra
bin/photopeak_depth_distribution
bin/xyscanner

BackgroundMixer
ConvertACTtools
Expand Down Expand Up @@ -75,6 +86,7 @@ configure_lastgoodoptions
source-megalib.sh
SetupOptions.txt
new-source-megalib.sh
config/Configuration.txt

# doc directory:
Peoples.txt
Expand Down Expand Up @@ -102,4 +114,5 @@ External
callgrind.*
*.rsp
*.erm
*.swp

133 changes: 133 additions & 0 deletions CodeOfConduct.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
# Contributor Covenant Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our
community include:

* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall
community

Examples of unacceptable behavior include:

* The use of sexualized language or imagery, and sexual attention or advances of
any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email address,
without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.

## Scope

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official email address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
[email protected].
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
reporter of any incident.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series of
actions.

**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within the
community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].

Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].

For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
[https://www.contributor-covenant.org/translations][translations].

[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations

59 changes: 59 additions & 0 deletions Contribute.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Contributor Guide

Welcome to the MEGAlib contributor guide! We're excited to have you interested in contributing to our project. This guide will help you get started, understand our workflow, and know what to expect when contributing.
How to Contribute

We use a fork and pull request workflow for contributions. Here’s a step-by-step guide to help you get started:

## Fork the Repository
Go to our GitHub repository and click the "Fork" button at the top right corner of the page. This will create a copy of the repository under your GitHub account.

## Clone Your Fork

Clone your fork to your local machine using the following command:

```
git clone https://github.com/zoglauer/MEGAlib.git
cd MEGAlib
```

## Create a Branch
Create a new branch for your feature or bug fix. Use a descriptive name for your branch:

```
git checkout -b feature/your-feature-name
```

## Make Your Changes
Make your changes in your local repository. Be sure to follow the same coding standards as in the rest of MEGAlib.

## Commit Your Changes
Commit your changes with a clear and concise commit message:

```
git add .
git commit -m "Add feature: your feature name"
```

## Push to Your Fork
Push your changes to your forked repository on GitHub:

```
git push origin feature/your-feature-name
```

## Open a Pull Request
Go to your forked repository on GitHub and click the "New pull request" button. Select the branch you created and make sure the base repository is set to the original repository. Provide a clear and descriptive title and description for your pull request.

## Respond to Feedback
Your pull request will be reviewed by the project maintainers. Be prepared to make additional changes based on their feedback. Engage in constructive discussions to refine your contribution.

## Merge Your Pull Request

Once your pull request is approved, it will be merged into the main repository. Congratulations on your contribution!

## Final words

If you need help or have questions, feel free to open an issue or discussion on GitHub.


77 changes: 77 additions & 0 deletions bin/mmaxmem
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
#! /bin/bash

echo ""
echo "mmaxmem - MEGAlib's memory monitor"
echo ""



help() {
echo ""
echo "mmaxmem - script for MEGAlib";
echo "(C) by Andreas Zoglauer"
echo "";
echo "This script keeps track of the maximum memory used by a process."
echo "";
echo "Usage:";
echo " mmaxmem [program name] [optional command line arguments]";
echo "";
echo "Example:";
echo " mmaxmem mimrec";
echo "";
}


# Make sure there's at least one argument
if [ $# -lt 1 ]; then
help
exit 1
fi

# Check for help flag
if [[ "$1" == "*-h*" ]]; then
help
exit 0
fi

OS=$(uname)

RSS_KB=0
MAX_RSS_KB=0

# Start the command in the background
"$@" &> /dev/null &
APPPID=$!
APPNAME=$*
sleep 0.2

echo "Monitoring memory usage of program ${APPNAME} with ${APPPID} ..."
echo ""

while true; do
if ps -p "${APPPID}" > /dev/null 2>&1; then
if [[ "${OS}" == *inux* ]]; then
RSS_KB=$(awk '/VmRSS/ {print $2}' /proc/${APPPID}/status 2>/dev/null)
elif [[ "${OS}" == *arwin* ]]; then
RSS_KB=$(ps -o rss= -p "${APPPID}" | awk '{print $1}')
else
echo "Unsupported OS: \"${OS}\""
exit 1
fi

if [[ "${RSS_KB}" =~ ^[0-9]+$ ]]; then
if [ "${RSS_KB}" -gt "${MAX_RSS_KB}" ]; then
MAX_RSS_KB=${RSS_KB}
fi
CURRENT_MB=$(awk "BEGIN {printf \"%.2f\", ${RSS_KB}/1024}")
MAX_MB=$(awk "BEGIN {printf \"%.2f\", ${MAX_RSS_KB}/1024}")
echo -ne "Current: ${CURRENT_MB} MB\tMax: ${MAX_MB} MB\r"
fi
sleep 1.0
else
echo -e "\nProcess ${APPPID} has exited."
MAX_MB=$(awk "BEGIN {printf \"%.2f\", ${MAX_RSS_KB}/1024}")
echo "Maximum RSS memory used: ${MAX_MB} MB"
break
fi
done
26 changes: 17 additions & 9 deletions bin/mwait
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ commandhelp() {
echo " --instances=[integer or \"cores\", \"threads\"]: Maximum number of instances or \"cores\"/\"threads\" for the number of available cores or threads (default: 1)"
echo " --load=[integer or \"cores\", \"threads\"]: Maximum system load as integer or \"cores\"/\"threads\" for the number of available cores or threads (default: threads + 3)"
echo " --program=[name]: The main program to wait for"
#echo " --auxprogram=[name]: Other programs to wait for"
echo " --auxprogram=[name]: Other programs to wait for"
echo " --memory: Make sure we have enough free memory, if more than one instance is running"
echo " --delay=[integer]: The delay time"
echo " --quiet: No text output"
echo ""
echo "Examples:"
Expand All @@ -29,10 +30,11 @@ commandhelp() {
# Defaults
INSTANCES="cores"
LOAD="10000"
PROGAM=""
PROGRAM=""
AUXPROGRAMS=()
MEMORY=false
QUIET=false
DELAY=5

# Store command line as array
CMD=( "$@" )
Expand All @@ -54,8 +56,10 @@ for C in "${CMD[@]}"; do
LOAD=`echo ${C} | awk -F"=" '{ print $2 }'`
elif [[ ${C} == *-p*=* ]]; then
PROGRAM=`echo ${C} | awk -F"=" '{ print $2 }'`
elif [[ ${C} == *-c*=* ]]; then
AUXPROGRAMS+=`echo ${C} | awk -F"=" '{ print $2 }'`
elif [[ ${C} == *-a*=* ]]; then
AUXPROGRAMS+=( `echo ${C} | awk -F"=" '{ print $2 }'` )
elif [[ ${C} == *-d*=* ]]; then
DELAY=`echo ${C} | awk -F"=" '{ print $2 }'`
elif [[ ${C} == *-m* ]]; then
MEMORY=true
elif [[ ${C} == *-q* ]]; then
Expand Down Expand Up @@ -122,7 +126,11 @@ while [[ ${WAIT} == true ]]; do
# We exclude this process itself in the listing
# sed -> don't remember
RUNNINGTHREADS=0
RUNNINGTHREADS=$(( RUNNINGTHREADS + $(ps -Af | grep "[ ]${PROGRAM}" | grep -v "mwait ${PROGRAM}" | grep -v "bash -c " | grep -v "timeout " | wc -l | sed 's/^ *//g') ))
RUNNINGTHREADS=$(( RUNNINGTHREADS + $(ps -Af | grep -e "[ ]${PROGRAM}" -e "/${PROGRAM}" | grep -v "mwait ${PROGRAM}" | grep -v "bash -c " | grep -v "timeout " | grep -v "grep" | wc -l | sed 's/^ *//g') ))
for A in "${AUXPROGRAMS[@]}"; do
RUNNINGTHREADS=$(( RUNNINGTHREADS + $(ps -Af | grep -e "[ ]${A}" -e "/${A}" | grep -v "mwait ${A}" | grep -v "bash -c " | grep -v "timeout " | grep -v "grep" | wc -l | sed 's/^ *//g') ))
done


#echo "mwait: ${MAXTHREADS} vs. ${RUNNINGTHREADS}"

Expand All @@ -131,7 +139,7 @@ while [[ ${WAIT} == true ]]; do
if [[ ${QUIET} == false ]]; then
echo "Waiting for a free slot: Running ${RUNNINGTHREADS} of ${MAXTHREADS} allowed instances of ${PROGRAM}"
fi
sleep 5
sleep ${DELAY}
continue
fi

Expand Down Expand Up @@ -159,7 +167,7 @@ while [[ ${WAIT} == true ]]; do
echo "Waiting till all programs (n=${RUNNINGTHREADS}) reach memory saturation (now: ${TOTALMEMORY}), last: ${LASTTOTALMEMORY} )..."
fi
fi
sleep 1
sleep ${DELAY}
else
break
fi
Expand All @@ -177,7 +185,7 @@ while [[ ${WAIT} == true ]]; do
if [[ ${QUIET} == false ]]; then
echo "Waiting until we have enough free memory (required: ${REQUIREDMEMORY}, available: ${AVAILABLEMEMORY})..."
fi
sleep 5
sleep ${DELAY}
continue
fi
fi
Expand All @@ -195,7 +203,7 @@ while [[ ${WAIT} == true ]]; do
if [[ ${QUIET} == false ]]; then
echo "Waiting until the system load falls below the threshold (threshold: ${MAXLOAD}, current: ${CURRENTLOAD})..."
fi
sleep 5
sleep ${DELAY}
continue
fi

Expand Down
2 changes: 1 addition & 1 deletion config/AllowedGeant4Versions.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
102
112
2 changes: 1 addition & 1 deletion config/AllowedROOTVersions.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
628
628 634
Loading