Skip to content
Snippets Groups Projects
  1. Jul 28, 2020
  2. Jan 22, 2020
  3. Oct 09, 2019
  4. Jun 13, 2019
  5. May 31, 2019
  6. Mar 26, 2019
    • Benedikt Volkel's avatar
      Use multiple different engines in VMC · 93992b13
      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.
      93992b13
  7. Apr 25, 2018
    • Ivana Hrivnacova's avatar
      Support for user defined sensitive detectors; new TVirtualMC::NIELEdep(); clean-up: · f769c303
      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
      f769c303
  8. Jun 06, 2017
    • Vassil Vassilev's avatar
      Do not confuse clang-format. · 68a8a335
      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.
      68a8a335
  9. Mar 27, 2017
  10. Feb 07, 2017
  11. Jul 27, 2016
  12. May 09, 2016
  13. Dec 01, 2015
  14. Nov 30, 2015
  15. Jun 26, 2015
  16. Jun 07, 2015
  17. Aug 29, 2014
  18. Aug 05, 2014
  19. Apr 29, 2014
  20. Jun 28, 2012
  21. Jun 04, 2012
    • Axel Naumann's avatar
      Remove · 08dd65a0
      Axel Naumann authored
        using namespace std;
      from Riostream.h, which has huge consequences for all of ROOT.
      Riostream.h is now a simple wrapper for fstream, iostream, iomanip for backward compatibility; Riosfwd.h simply wraps iosfwd.
      
      Because of templates and their inline functions, Riostream.h needed to be included in headers, too (e.g. TParameter.h), which violated the assumption that Riostream.h is not exposing its using namespace std to headers.
      ROOT now requires R__ANSISTREAM, R__SSTREAM, which does not change the set of supported compilers.
      
      Without "using namespace std", several identifiers are now prefixed by std::; e.g. roofit/* source files now have a using namespace std to keep their coding style.
      TFile::MakeProject() now generates "using namespace std" to convert the CINT-style class names into C++ ones.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@44507 27541ba8-7e3a-0410-8455-c3a389f83636
      08dd65a0
  22. Mar 22, 2012
  23. Oct 11, 2011
  24. Nov 10, 2010
  25. Aug 13, 2010
    • Ivana Hrivnacova's avatar
      In TGeoMCGeometry: · 7dbca120
      Ivana Hrivnacova authored
      Make sure that TGeoManager exists before each call to gGeoManager
      (call gGeoManager via a function which performs a test). 
      This fixes a crash in VMC examples when the VMC application builds geometry via TVirtualMC and then selects TGeant3TGeo as MC.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@34810 27541ba8-7e3a-0410-8455-c3a389f83636
      7dbca120
  26. Jun 30, 2010
  27. Jan 15, 2009
  28. Jan 09, 2009
    • Rene Brun's avatar
      From Ivana: · d636a70f
      Rene Brun authored
      there is added setter/getter for TVirtualMagField
      in TVirtualMC.
      If the field object is set, the MCApplication::Field
      is not used, if not, it is used as before, but there is issued
      a warning that MCApplication::Field is now deprecated and user
      should move to TVirtualMagField.
      There is also included a correction in the new classes
      headers, as there was a problem in compilation when using
      include of uniform field. And added a setter/getter for
      the field value in uniform field.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@27106 27541ba8-7e3a-0410-8455-c3a389f83636
      d636a70f
  29. Apr 11, 2008
Loading