- Apr 12, 2019
-
-
Ivana Hrivnacova authored
Moved TPDGCode.h (used in 'pythia6' and 'pythia8') from 'vmc' to to 'eg'; this makes all other libraries in 'montecarlo' not dependent on 'vmc'
-
- Mar 26, 2019
-
-
Benedikt Volkel authored
This is an extension allowing the VMC package to run a simulation with multiple different engines at a time. Tracks can be transferred among engines during a simulation run based on conditions specified by the user. Important notes on the extensions: 1) This extension preserves backward-compatibility in the sense that user code relying on the former version of VMC is still running with the extended version. Was tested with GEANT3_VMC@v2-6 and GEANT4_VMC@v3-6-p1. 2) A shared simulation is only possible when TGeo is used for geometry construction and navigation. 3) A TMCManager singleton object is responsible for handling multiple engines and can be obtained on request calling TVirtualMCApplication::RequestManager() during construction of the user application class. 4) The introduced TMCParticleStatus objects hold additional information to keep track of properties when a track is transferred between engines. 5) When a track is interrupted in one engine to be transferred to another, the geometry state is cached in the form of a TGeoBranchArray object. It will be used to initialize the navigator when this track is picked up for further transport in the next engine. This is especially useful/required when a track is transferred at a volume boundary in order to be picked up in the entered volume and not in the one just left. This is a main reason why geometry management is forced to be done via TGeo. A more comprehensive introduction concerning the usage and implementation in the user code can be found in the montecarlo/vmc/README.md Further note: This commit also applies the clang format to the modified and new files.
-
- Feb 11, 2019
-
-
Guilherme Amadio authored
-
- Oct 03, 2018
-
-
Guilherme Amadio authored
-
- Oct 01, 2018
-
-
Guilherme Amadio authored
-
- Sep 30, 2018
-
-
Guilherme Amadio authored
A plain include_directories() was meant to be converted into target_include_directories() in the previous commit, but the second part was missing.
-
- Sep 28, 2018
-
-
Guilherme Amadio authored
-
Guilherme Amadio authored
-
Guilherme Amadio authored
-
Guilherme Amadio authored
-
Guilherme Amadio authored
-
- Sep 24, 2018
-
-
Ivana Hrivnacova authored
- this should address the ROOT-9681 JIRA item
-
- Apr 25, 2018
-
-
Ivana Hrivnacova authored
Details: - Added support for user defined sensitive detectors o TVirtualMCSensitiveDetector: the interface class for a user sensitive detector o New functions in TVirtualMC: void SetSensitiveDetector(const TString &volName, TVirtualMCSensitiveDetector *sd); TVirtualMCSensitiveDetector *GetSensitiveDetector(const TString &volName) const; void SetExclusiveSDScoring(Bool_t exclusiveSDScoring); o New function in TVirtualMCApplication: void ConstructSensitiveDetectors(); - Added new TVirtualMC::NIELEdep() function - Removed default implementation for TVirtualMC::TrackPosition/Momentum with Float_t arguments
-
- Mar 27, 2018
-
-
Axel Naumann authored
-
- Oct 05, 2017
-
-
Bertrand Bellenot authored
-
- Sep 20, 2017
-
-
Ivana Hrivnacova authored
-
Ivana Hrivnacova authored
-
Ivana Hrivnacova authored
-
Ivana Hrivnacova authored
request from ALICE O2
-
- Sep 04, 2017
-
-
Guilherme Amadio authored
-
Guilherme Amadio authored
-
- Aug 30, 2017
-
-
Guilherme Amadio authored
-
Guilherme Amadio authored
-
- Jul 28, 2017
-
-
Raphael Isemann authored
This refactors the CMake build files to no longer manually call the CMake functions for generating and linking the dicionairies. One reason is to reduce boilerplate, the other is that it is now no longer possible to have naming mismatches between the dictionary generation arguments and linking function arguments which was causing the race conditions we had in our build system. This also now follows more strictly the separation between dependencies like Math, Tree and Core and pure linking flags to external libraries.
-
- Jul 12, 2017
-
-
Raphael Isemann authored
The naming of the library in the two function calls ROOT_GENERATE_DICTIONARY and ROOT_LINKER_LIBRARY was often not matching. This causes that ROOT_LINKER_LIBRARY couldn't correctly set its dependencies to the output file of ROOT_GENERATE_DICTIONARY and therefore causes race conditions in the build system. Note: We're attached all dependencies to a custom target, and NOT to the output files generated by rootcling. This should mitigate the race conditions we experience when multiple targets in different Make jobs request the same output file as a dependency and then suffer from this Make problem that is described here: https://cmake.org/Bug/view.php?id=10082 This patch also adds a (commented out) piece of code that can print warnings if we don't have a fitting G__*.cxx file for a ROOT_LINKER_LIBRARY call. This is sometimes intended, so I didn't enable this warning by default. We should enable this code by default in the future once we have a way to express if we intentionally don't provide the G__*.cxx file when calling ROOT_LINKER_LIBRARY.
-
Raphael Isemann authored
ROOT_GENERATE_DICTIONARY allows to specify dependencies, but we currently don't actually specify those. As we need this for getting the module dependencies right (as we can't build missing modules on demand), we should add those dependencies here. Then those dependencies propagate to the rootcling invocation which will in the future also generate the C++ module for the selected dictionary.
-
- Jun 13, 2017
-
-
Pere Mato Vila authored
-
- Jun 06, 2017
-
-
Vassil Vassilev authored
ClassImp is a macro defined in Rtypes.h. It can be written without trailing semicolon. However, clang-format is based on lexing and it doesn't know at all about preprocessors and how to expand macros. When visiting ClassImp(X) it thinks this is not a completed entity (as it doesn't expand macros) and considers the next line as continuation of the previous. Inserting a semicolon fixes the issue and makes formatting with clang-format in the ROOT codebase less tricky.
-
- Mar 27, 2017
-
-
Ivana Hrivnacova authored
-
Ivana Hrivnacova authored
(previously distributed in geant4_vmc/mtroot)
-
Ivana Hrivnacova authored
virtual void InitOnWorker() {} virtual void BeginRunOnWorker() {} virtual void FinishRunOnWorker() {} The const functions (now deprecated) will be removed in the future: virtual void InitForWorker() const {} virtual void BeginWorkerRun() const {} virtual void FinishWorkerRun() const {}
-
- Feb 14, 2017
-
-
Raphael Isemann authored
Many headers contains redundant header guards around #include directives: #ifndef ROOT_TTree #include "TTree.h" #endif This patch removes the #ifndef's around these includes as they don't serve any pratical purpose anymore and are no longer part of the current ROOT coding convention. This patch also fixes the 153 typos that are contained in the symbols of the #ifndef directives. Signed-off-by:
Vassil Vassilev <vvasilev@cern.ch>
-
- Feb 07, 2017
-
-
Ivana Hrivnacova authored
-
Ivana Hrivnacova authored
-
- Jan 28, 2017
-
-
Mattias Ellert authored
This reverts commit 5c076c6c.
-
- Jan 26, 2017
-
-
Vassil Vassilev authored
This reverts commit b406328d, reversing changes made to 318c7a47.
-
- Dec 17, 2016
-
-
Vassil Vassilev authored
Make cannot deal with 'export *', they have to be escaped and fixed later on.
-
- Dec 14, 2016
-
-
Vassil Vassilev authored
This is the recommended way of using the modules feature and should pave our way of enabling -fmodules-local-submodules-visibility mode.
-
Vassil Vassilev authored
-