Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/mantidproject/mantid.git. Pull mirroring updated .
  1. Mar 05, 2020
  2. Feb 12, 2020
    • Danny Hindson's avatar
      Changes to support loading multi-part mesh environment from spec xml file · 7a20e4dd
      Danny Hindson authored
      The format of the sample environment xml file has been extended to support
      loading a .stl file for each environment component. An example spec file
      has been created in ISIS/Pearl.xml. This can be used when running the
      Algorithm SetSample
      Various SampleEnvironmentXXX units have been moved out the Geometry package
      into the DataHandling package to facilitate this because they needed to
      access the STL loading code in DataHandling
      SetSample contains some features for overriding the sample geometry if the
      geometry is a CSGObject. This has been sidestepped for mesh geometries.
      The methods setId and setMaterial have been moved up to IObject because
      it's useful to have them applicable to all objects (CSG, mesh)
      Some of the repeated code in SetSample, LoadSampleEnvironment (and now
      SampleEnvironmentSpecParser) has been centralised in a new class LoadStlFactory
      Also changed container logic so that if there's only one container specified
      in the env spec file you don't need to specify it in SetSample
      Centralise code relating to scaling mesh vertices and handling of units
      into the LoadShape class and rename it MeshFileIO now that SaveStl is also
      descended from this class
      Move repeated code to choose Ascii or binary STL reader into a factory class
      7a20e4dd
  3. Jan 22, 2020
    • Danny Hindson's avatar
      Incorporate review comments · 0ccc8ee8
      Danny Hindson authored
      Main change is change IObject::generatePointInObject to return boost::optional<V3D>
      instead of using an out parameter combined with a boolean return value
      0ccc8ee8
  4. Jan 20, 2020
    • Danny Hindson's avatar
      Improve sampling of scatter pts in absorption correction simulation · e2af417f
      Danny Hindson authored
      The sampling is now performed according to the volume of each part of
      the sample\environment that intersects the beam profile
      
      Following changes have been made:
      
      a) the function IObject::generatePointInObject has been modified so that it returns
      false rather than raising an exception if it fails to generate a point inside
      the object that is also in the active region. This is more efficient when it is
      being called with a maxAttempts value of 1 in an attempt to fairly sample the
      scatter points among the sample + environment components. This involved a change
      in IObject and various child classes (MeshObject, CSGObject, MeshObject2D, Container)
      
      b) the code that calls IObject::generatePointInObject and cycles through the
      various parts of the environment\sample has been moved from SampleEnvironment into
      MCInteractionVolume so that the sample can be included. There is a new function
      MCInteractionVolume::generatePoint that randomly generates a scatter point across the
      sample and environment components. Possible the SampleEnvironment class could be retired
      entirely and just replaced by a vector of IObject items attached to the sample.
      
      c) change CSGObject::generatePointInObject to stop calling the fallback method when the
      maxAttempts parameter equals 1. The fallback method always returns a point if the object's
      bounding box is inside the active area which doesn't produce the required sampling across
      the env components. This change has modified the random number sequences used in various
      tests - including the "sample only" tests
      
      d) added some logging to the simulation to show where the scatter points
      occurred. These show that for Pearl around 6% of the scatter points are
      in the sample which is less than the 50% assumption previously in the code
      
      e) Several changes to the unit tests (MCInteractionVolumeTest.h, MonteCarloAbsorptionTest.h,
      DirectILLSelfShieldingTest.py). The updated sampling means that the absorption corrections
      are slightly different than before for cases with a sample + environment.
      
      For DirectILLSelfShieldingTest, an extra parameter has been added to underlying algorithm
      (DirectILLSelfShielding) so that this test can continue to use 300 events per point while
      the ILLDirectGeometryReductionTest can use 5000 events per point
      
      f) some changes to system tests (ILLDirectGeometryReductionTest, complexShapeAbsorptions)
      
      The calculation used in ILLDirectGeometryReductionTest wasn't converged (changing the seed
      gave a ~25% change in the output) so have increased the number of events per point from 300
      to 5000. I didn't increase the number of events further because I didn't want to make the
      runtime of the system test (esp in debug mode) too large
      e2af417f
  5. Oct 23, 2019
    • Martyn Gigg's avatar
      Add IObject::distance method · a17486d2
      Martyn Gigg authored
      Computes the distance to the first intersection point
      on a object regardless if it is entry/exit/glancing
      track.
      Refs #26690
      a17486d2
  6. Jun 03, 2019
  7. Apr 15, 2019
    • Peterson, Peter's avatar
      Refactor code to allow for container geometry · 1130040b
      Peterson, Peter authored
      There were two problems fixed in this, one is that there was a
      downcasting to CSGObject which quietly broke calculating absorption for
      all mesh objects, the other was that Container was did not have its
      concrete geometry used ever.
      1130040b
  8. Mar 27, 2019
  9. Feb 18, 2019
  10. Feb 12, 2019
  11. Oct 05, 2018
    • Nick Draper's avatar
      Merge pull request #23693 from mantidproject/23488_update_file_headers · ef3ccb58
      Nick Draper authored
      Update copyright headers in all files
      
      Squashed commit of the following:
      
      * First version of a script to manage copyright statements
      
      re #23468
      
      * Neatened up script, added comments
      
      re #23488
      
      * move script to tools directory
      
      re #23488
      
      * small script changes and a couple of manual file changes
      
      re #23488
      
      * Minor chnage to whitespace detection in regex
      
      re #23488
      
      * Add an excluded directory
      
      re #23488
      
      * remove a repeasted copyright statement in a file
      
      re #23488
      
      * Don't comsume the comment end if it is on the same line
      
      re #23488
      
      * fix error in new copright parsing
      
      re #23488
      
      * remove double copyrifght entry
      
      re #23488
      
      * Improve handling of old copyrights at the start of comments
      
      re #23488
      
      * remove empty comments re #23488
      
      * exclude gsoapgenerated directories
      
      re #23488
      
      * Sort out greedy line matching re #23488
      
      * improve empty comment removal
      
      re #23488
      
      * improve false positives
      
      re #23488
      
      * impressive speedup by limiting regex matching length
      
      re #23488
      
      * remove evil invisible non ascii character
      
      Also upadte the copyright at the same time
      
      re #23488
      
      * resolve multiple copyrights in a single file
      
      re #23488
      
      * resolve an issue with new statement detection
      
      re #23488
      
      * another unprintable unicode character
      
      re #23488
      
      * pep updates and cmake the new copyright fit clang format
      
      re #23488
      
      * update already done new format headers
      
      re #23488
      
      * wrong type of bracket
      
      re #23488
      
      * Update class_maker and friends
      
      re #23488
      
      * Update all copyright statements
      
      re #23488
      
      * clang format re #23488
      
      * flake8 warnings re #23488
      
      * Flake8 warnings re #23488
      
      * Exclude .cmake.in and rb.in files
      
      re #23488
      
      * replace missing line re #23488
      
      * exclude .py.in files as they are flasely recognized as C++
      
      re #23488
      
      * another setp.py.in re #23488
      
      * another .py.in correction re #23488
      
      * Hopefully the last of the .py.in files re #23488
      
      * resolve utf-8 encoding of python files and changed ABINS checksum
      
      re #23488
      
      * updates to unit tests that reference line numbers
      
      re #23488
      
      * remaining unit test files and other fixes
      
      re #23488
      ef3ccb58
  12. Jun 13, 2018
  13. Mar 27, 2018
    • Karl Palmen's avatar
      Merge remote-tracking branch 'origin/master' re #12828 · 6ccb4979
      Karl Palmen authored
      # Please enter a commit message to explain why this merge is necessary,
      # especially if it merges an updated upstream into a topic branch.
      #
      # Lines starting with '#' will be ignored, and an empty message aborts
      # the commit.
      6ccb4979
  14. Mar 14, 2018
  15. Feb 27, 2018
  16. Feb 26, 2018
  17. Feb 14, 2018
  18. Dec 01, 2017
  19. Nov 29, 2017
  20. Nov 28, 2017
  21. Nov 14, 2017
  22. Nov 09, 2017
  23. May 23, 2016
  24. May 10, 2016
  25. May 09, 2016
  26. May 06, 2016
  27. Feb 13, 2016
  28. Jan 13, 2016
  29. Oct 20, 2015
Loading