Skip to content
Snippets Groups Projects
  1. Apr 03, 2018
  2. Mar 17, 2018
  3. Mar 16, 2018
  4. Mar 15, 2018
    • Gerhard Raven's avatar
    • Gerhard Raven's avatar
      5e414a49
    • Marco Clemencic's avatar
      Remove deprecation warning from ExtraInputs and ExtraOutputs properties · b52190ca
      Marco Clemencic authored
      They cannot be deprecated until there is an alternative method to handle
      artificial dependencies.
      b52190ca
    • Gerhard Raven's avatar
      Statuscode: have setters return reference to *this · cd924f5b
      Gerhard Raven authored and Marco Clemencic's avatar Marco Clemencic committed
      cd924f5b
    • Charles Leggett's avatar
      EventIDBase: improve printout · 723cb892
      Charles Leggett authored and Marco Clemencic's avatar Marco Clemencic committed
      723cb892
    • Charles Leggett's avatar
      add declareTool( handle ) convenience method to Algorithm · 8dca2542
      Charles Leggett authored and Marco Clemencic's avatar Marco Clemencic committed
      8dca2542
    • scott snyder's avatar
      Fix warnings seen when compiling with gcc8. · a9ffb56f
      scott snyder authored
      gcc8 warns about catching a polymorphic exception classs by value, as that
      can discard information in derived classes.  Change instances of this
      to instead catch the exception by const reference.
      a9ffb56f
    • scott snyder's avatar
      Fix deduction of property return values. · 5b1679c6
      scott snyder authored
      Fixes gcc8 compilation error with
      
      prop["foo"]
      
      where prop is a Property<std::map<std::string, std::string> >.
      
      One gets an error like this (trimmed for brevity):
      
      Control/AthenaExamples/AthExHelloWorld/src/HelloAlg.cxx: In constructor 'HelloAlg::HelloAlg(const string&, ISvcLocator*)':
      Control/AthenaExamples/AthExHelloWorld/src/HelloAlg.cxx:26:11: error: no match for 'operator[]' (operand types are 'Gaudi::Property<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >' and 'const char [8]')
         m_myDict["Bonjour"]      = "Guten Tag";
                 ^
      In file included from /home/sss/atlas/extern/Gaudi/current/GaudiKernel/GaudiKernel/GaudiHandle.h:7,
                       from /home/sss/atlas/extern/Gaudi/current/GaudiKernel/GaudiKernel/ToolHandle.h:5,
                       from Control/AthenaExamples/AthExHelloWorld/src/HelloAlg.h:10,
                       from Control/AthenaExamples/AthExHelloWorld/src/HelloAlg.cxx:9:
      /home/sss/atlas/extern/Gaudi/current/GaudiKernel/GaudiKernel/Property.h:544:49: note: candidate: 'template<class ARG, class T> decltype (declval<T>()[ARG{}]) Gaudi::Property<TYPE, VERIFIER, HANDLERS>::operator[](const ARG&) [with ARG = ARG; T = T; TYPE = std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >; VERIFIER = Gaudi::Details::Property::NullVerifier; HANDLERS = Gaudi::Details::Property::UpdateHandler]'
           inline decltype( std::declval<T>()[ARG{}] ) operator[]( const ARG& arg )
                                                       ^~~~~~~~
      /home/sss/atlas/extern/Gaudi/current/GaudiKernel/GaudiKernel/Property.h:544:49: note:   template argument deduction/substitution failed:
      /home/sss/atlas/extern/Gaudi/current/GaudiKernel/GaudiKernel/Property.h: In substitution of 'template<class ARG, class T> decltype (declval<T>()[ARG{}]) Gaudi::Property<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >::operator[]<ARG, T>(const ARG&) [with ARG = char [8]; T = std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >]':
      Control/AthenaExamples/AthExHelloWorld/src/HelloAlg.cxx:26:21:   required from here
      /home/sss/atlas/extern/Gaudi/current/GaudiKernel/GaudiKernel/Property.h:544:39: error: taking address of temporary array
           inline decltype( std::declval<T>()[ARG{}] ) operator[]( const ARG& arg )
                            ~~~~~~~~~~~~~~~~~^
      
      
      Easiest fix seems to be to use decltype(auto) for the return types.
      5b1679c6
  5. Mar 14, 2018
  6. Mar 13, 2018
  7. Mar 08, 2018
    • Martin Errenst's avatar
      Add documentation README to THistSvc folder · 21264e1f
      Martin Errenst authored
      Add legacy methods for regGraph and regTree
      
      Migrating the Athena in these cases would be possible, but not very
      clean. This is why I decided to favor a consistent interface (with
      similar methods for Hists, Trees and Graphs), opposed to only providing
      unique_ptr methods. It would be good if future THistSvc clients would
      pick up the new methods and old methods would be migrated over time.
      21264e1f
  8. Mar 05, 2018
    • Martin Errenst's avatar
      Update ITHistSvc for better Athena migration · 83c5e66b
      Martin Errenst authored
      The previous changes in the interface were to drastic. They would have
      required too many changes for a service that is likely to be rewritten
      for ROOT7 within the next 2 years anyway. (2018, 2019)
      
      So here we offer a deprecated version without proper ownership
      management that still works the same in the new implementation.
      
      Fix wrong naming in ITHistSvcMT
      
      Update ITHistSvc for better legacy support
      
      There is now a deprecated regHist method with the old interface.
      Since we don't want to spam too much during the Athena build, the new
      regHist method, that transfers ownership, can also return a raw pointer
      directly. This supports a very common use case in Athena, where the
      registered histogram is used afterwards.
      The migration is likely to be scriptable in this case.
      
      Adapt new interface in THistSvc.h
      
      Fix small typo in THistSvc.h
      
      Update InterfaceID version in ITHistSvc
      
      Fix wrong default parameter in interface
      
      Fit implementation to new interface
      
      Fix THistSvc tests and ref files
      
      Remove TODOs that are not relevant yet
      
      Apply formatting from CI artifacts
      
      Update IHistSvc to be more consistent
      
      Add THistSvc tests and fix reference
      
      The write tests now also contains tests for the new regHist and
      regShared/getShared methods.
      
      Update dbg reference as well
      
      Apply formatting patch
      
      Remove deprecation attribute from ITHistSvc
      
      This would introduce an additional warning for every Gaudi build, while
      the intention is to discourage the use of its implementation in
      THistSvc.h.
      The interface method is still marked as deprecated through a doxygen
      comment.
      
      Add accidentally deleated return type to regHist
      
      Comment out deprecation attribute in THistSvc.h
      
      Initialize pointer in THistSvc tests
      
      Add GAUDI_API back to ITHistSvc
      
      Initialize all pointers in THistSvc
      
      Apply clang formatting patch from CI
      
      Hide deprecation warning behind ATLAS includeguard
      
      Let the thistwrite ignore specific file sizes
      
      Revert sortgroup regex
      
      The previous change did not cover all of the necessary cases and was
      wrong.
      
      Apply formatting artifacts
      
      Change test regex also for reading
      83c5e66b
  9. Mar 01, 2018
  10. Feb 28, 2018
  11. Feb 25, 2018
  12. Feb 20, 2018
  13. Feb 18, 2018
  14. Feb 14, 2018
  15. Feb 10, 2018
  16. Feb 09, 2018
  17. Feb 07, 2018
    • Gerhard Raven's avatar
      Avoid C-style casts · 257b12c6
      Gerhard Raven authored
      257b12c6
    • Frank Winklmeier's avatar
      Add category support to StatusCode · 22acc16e
      Frank Winklmeier authored
      The StatusCode now consists of a value and category/domain. By default
      StatusCodes are created within a "default category". But users can
      define new categories and StatusCodes using typed enums. The design is
      mainly borrowed from std::error_code.
      
      Main changes:
      - StatusCode::setCode has been removed
      - No implicit conversions from/to bool or int anymore. This greatly
        increases type safety.
      - Converted all unscoped enums in Gaudi to their own StatusCode
        category (Clients will have to adjust their code to the scoped enum
        names (e.g. ERR -> Status::ERR)
      - Added operator bool() that is equivalent to isSuccess()
      - Added ternary (bitwise) AND(&) and OR(|) operators to combine
        StatusCodes according to three-valued logic
      - Added extensive unit tests for all StatusCode features
      
      Impact on clients:
      - Code that relies on the implicit StatusCode<->bool/int conversion has
        to be changed to explicitly construct/convert StatusCodes via either
        the constructor, operator bool() or getCode().
      - Clients using Gaudi StatusCodes need to adjust to using the scoped
        enums. E.g. clients of the ConversionSvc need to change BAD_STORAGE_TYPE to
        Status::BAD_STORAGE_TYPE when checking for specific StatusCode return
        types.
      22acc16e
Loading