diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bb016ac1d6fead5cb403d5d0af3cdbbb21f3328a..8bb0791ae07ebd167809386a1bdbeb8faff90f9c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -15,8 +15,7 @@ stages: variables: TARGET_BRANCH: master - BINARY_TAG: x86_64_v2-centos7-gcc10-opt - LCG_VERSION: 100 + BINARY_TAG: x86_64_v2-centos7-gcc11-opt NO_LBLOGIN: "1" @@ -26,7 +25,7 @@ check-copyright: only: [merge_requests] script: - curl -o lb-check-copyright "https://gitlab.cern.ch/lhcb-core/LbDevTools/raw/master/LbDevTools/SourceTools.py?inline=false" - - python lb-check-copyright origin/${TARGET_BRANCH} + - python lb-check-copyright origin/${TARGET_BRANCH} --exclude lhcbproject.yml check-formatting: image: gitlab-registry.cern.ch/lhcb-docker/style-checker @@ -45,50 +44,91 @@ check-formatting: - apply-formatting.patch when: on_failure expire_in: 1 week + allow_failure: true -# inspired by https://gitlab.cern.ch/lhcb/Moore/-/blob/master/.gitlab-ci.yml -build-docs: +.docs-base: stage: docs image: gitlab-registry.cern.ch/lhcb-core/lbdocker/centos7-build:latest + variables: + DOCS_VERSION: $CI_COMMIT_REF_NAME + # I found CI_PAGES_URL sometimes pointing to the wrong addresss + GAUSSINO_PAGES_URL: https://mimazure-gaussino.docs.cern.ch/ rules: - - if: '$CI_COMMIT_REF_PROTECTED == "true" || $CI_MERGE_REQUEST_LABELS =~ /Documentation/' + - if: $CI_COMMIT_REF_PROTECTED == "true" + - if: $CI_MERGE_REQUEST_LABELS =~ /Python Documentation/ + - if: $CI_COMMIT_TAG =~ /^v?[0-9]+[r][0-9]+([p][0-9]+)?$/ tags: - cvmfs + +# inspired by https://gitlab.cern.ch/lhcb/Moore/-/blob/master/.gitlab-ci.yml +build-docs: + extends: .docs-base variables: NIGHTLIES_PATH: "/cvmfs/lhcbdev.cern.ch/nightlies/lhcb-gaussino/latest" - LOCAL_PYTHON: "InstallArea/x86_64_v2-centos7-gcc10-opt/python" + LOCAL_PYTHON: "InstallArea/$BINARY_TAG/python" script: - . /cvmfs/lhcb.cern.ch/lib/LbEnv.sh - pip install myst_parser graphviz - - reasons= + # -> adding python directories of the upstream projects - export PYTHONPATHBKP=$PYTHONPATH - - export PYTHONPATHBKP=$NIGHTLIES_PATH/Run2Support/$LOCAL_PYTHON:$NIGHTLIES_PATH/LHCb/$LOCAL_PYTHON:$NIGHTLIES_PATH/Gaudi/$LOCAL_PYTHON:$PYTHONPATHBKP + - export PYTHONPATHBKP=$NIGHTLIES_PATH/Gaudi/$LOCAL_PYTHON:$PYTHONPATHBKP + - export PYTHONPATHBKP=$NIGHTLIES_PATH/LHCb/$LOCAL_PYTHON:$PYTHONPATHBKP + - export PYTHONPATHBKP=$NIGHTLIES_PATH/Run2Support/$LOCAL_PYTHON:$PYTHONPATHBKP + # -> adding python directories of Gaussino - export PYTHONPATHBKP=$(find $PWD -type d \( -path ./InstallArea -o -path ./build \) -prune -false -o -name "python" -print | paste -sd ":" - ):$PYTHONPATHBKP - echo "$PYTHONPATHBKP" - - PYTHONPATH=$PYTHONPATHBKP make -C docs html || reasons+='ERROR failed html generation\n' - - if [ -n "$reasons" ]; then echo -e $reasons; exit 1; fi - allow_failure: - exit_codes: 77 + # -> building the docs with a custom pythonpath + - PYTHONPATH=$PYTHONPATHBKP make -C docs html + - test -f docs/_build/html/index.html || exit 2 artifacts: paths: - docs/_build/html/ + expire_in: 1 month -# inspired by https://gitlab.cern.ch/lhcb/Moore/-/blob/master/.gitlab-ci.yml -deploy-docs: - stage: deploy - image: gitlab-registry.cern.ch/ci-tools/ci-web-deployer - rules: - - if: '$CI_COMMIT_REF_PROTECTED == "true" || $CI_MERGE_REQUEST_LABELS =~ /Documentation/' +pages: + extends: .docs-base variables: - EOS_PATH: "/eos/project/l/lhcbwebsites/www/projects/gaussino/$CI_COMMIT_REF_NAME" - CI_OUTPUT_DIR: "docs/_build/html" - METHOD: "rsync" - before_script: - # As the previous stage is allowed to fail, skip this stage if the previous - # did not complete successfully (i.e. did not create the html directory) - - test -d $CI_OUTPUT_DIR || { echo "WARNING docs not built, stopping"; exit 77; } + MAX_TIME_IN_DAYS: 7 + needs: + - build-docs script: - - deploy-eos && echo -e "Deployed at\n\n\t/eos/project/l/lhcbwebsites/www/projects/gaussino/$CI_COMMIT_REF_NAME/index.html" - allow_failure: - exit_codes: 77 - + # accumulating content as in https://gitlab.com/gitlab-org/gitlab/-/issues/15156#note_214784368 + # -> get the archive from the website with the accumulated content and copy it to public/ + - echo "Cleaning docs for ${DOCS_VERSION}" + - echo "Getting the latest versions from ${GAUSSINO_PAGES_URL}" + # -> curl will create content.tar.gz even if it does not exists + - curl -fkL "$GAUSSINO_PAGES_URL/content.tar.gz" -o "content.tar.gz" || echo "Could not get the archive, skipping..." + # -> ignore any unpacking errors, the history will be erased + # note: this might need a bit of rethinking or to be blocked later + - tar -xzf content.tar.gz public/ || echo "Archive with other versions in a bad format or not found, skipping..." + # -> loop over all the possible version created so far and remove development ones that are older than MAX_TIME_IN_DAYS + - > + for version in $(find public/ -maxdepth 1 -mindepth 1 -type d -not -name "master" -not -name "FASTSIM" -not -name "v*" ); do + echo "-> Checking version: '${version}'" + MAX_TIME=$(expr $MAX_TIME_IN_DAYS \* 86400) + VERSION_TIME=$(stat ${version} -c %Y) + CURRENT_TIME=$(date +%s) + ELAPSED_TIME=$(expr $CURRENT_TIME - $VERSION_TIME) + if (($ELAPSED_TIME > $MAX_TIME )); then + echo "--> Expired. Removing." + rm -r $version + else + echo "--> Not expired." + fi + done + # -> move the current version + - rm -rf public/$DOCS_VERSION + - mkdir -p public/$DOCS_VERSION + - mv docs/_build/html public/$DOCS_VERSION + # -> add all the necessary redirects + - rm -f public/_redirects + - echo "/index.html /master/index.html 301" >> public/_redirects + - echo "/ /master/index.html 301" >> public/_redirects + - echo "/gaussino /master/index.html 301" >> public/_redirects + # -> create a new archive and put it on the website + - tar -zcf content.tar.gz public/ + - cp content.tar.gz public/ + artifacts: + paths: + - public + expire_in: 1 hour diff --git a/CMakeLists.txt b/CMakeLists.txt index d0547df9fd04e00425372f275fd4adcf0e17557a..c117f27daf98a36160e583f1d567ca12556019cd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,90 +8,67 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -CMAKE_MINIMUM_REQUIRED(VERSION 2.8.5) +cmake_minimum_required(VERSION 3.15) -# Reduce the total number of warnings by A LOT until ROOT has been modified -option(GAUDI_SUGGEST_OVERRIDE "enable warnings for missing override keyword" OFF) -# Create the compile commands json for YCM superpowers -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) -set(GEANT4_BUILD_MULTITHREADED ON) +set(LCG_LAYER LHCB_7 CACHE STRING "Specific set of version to use") +option(LCG_USE_GENERATORS "enable/disable use of LCG generators" ON) -#--------------------------------------------------------------- -# Load macros and functions for Gaudi-based projects -find_package(GaudiProject) -#--------------------------------------------------------------- +project(Gaussino VERSION 0.1 + LANGUAGES CXX Fortran) -# Set the CMP0074 policy that dictates how the packages are looked up -# this should allow overriding the LCG versions of package XXX, -# provided, XXX_ROOT is set -if (POLICY CMP0074) - cmake_policy(SET CMP0074 NEW) - message(STATUS "Setting the policy CMP0074 to NEW") -else() - message(STATUS "Policy CMP0074 not available: LCG packages NOT overriden by _ROOT environment variable") -endif() - -# hide warnings from some external projects -find_package(Boost) -find_package(ROOT) -find_package(CLHEP) -include_directories(SYSTEM ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} - ${CLHEP_INCLUDE_DIRS}) +# Enable testing with CTest/CDash +include(CTest) -# Add -O0 to remove optimizations when using gcc -set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0" CACHE STRING "bla" FORCE) -set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0" CACHE STRING "bla" FORCE) +list(PREPEND CMAKE_MODULE_PATH + ${PROJECT_SOURCE_DIR}/cmake +) -macro(FindG4libs) - # FIXME: this should be an imported target - foreach(name ${ARGN}) - find_library(GEANT4_${name}_LIBRARY - G4${name} - HINTS ${Geant4_DIR}/lib - PATHS ${Geant4_LIBRARY_DIRS}) - list(APPEND GEANT4_LIBS ${GEANT4_${name}_LIBRARY}) - endforeach() - link_directories(${Geant4_LIBRARY_DIRS}) -endmacro() +set(WITH_Gaussino_PRIVATE_DEPENDENCIES TRUE) +include(GaussinoDependencies) -macro(AddHepMC3) - # FIXME: This is just an work-around to include the locally compiled HepMC3 as the HepMC3Config.cmake - # is not yet available during configuration. - include_directories(SYSTEM ${CMAKE_INSTALL_PREFIX}/include ${CMAKE_INSTALL_PREFIX}/share/HepMC3/interfaces) - link_directories(${CMAKE_INSTALL_PREFIX}/lib64) - link_directories(${CMAKE_INSTALL_PREFIX}/lib) - #add_dependencies(HepMC3Ext) +gaussino_initialize_configuration() - set(HEPMC3_LIBRARIES - -lHepMC3 - # FIXME: disabled because of HepMC & HepMC3 namespace collision - # -lHepMC3rootIO - -lHepMC3search) -endmacro() - -macro(AddDD4hepDDG4) - include_directories(SYSTEM ${CMAKE_INSTALL_PREFIX}/include) - link_directories(${CMAKE_INSTALL_PREFIX}/lib) +if (NOT USE_DD4HEP) + set(GAUSSINO_IGNORE_SUBDIRS Sim/GiGaMTDD4hep) +endif() - set(DD4hepDDG4_LIBRARIES - #-lDDG4LCIO - -lDDG4Legacy - -lDDG4Plugins - -lDDG4Python - -lDDG4 - -lDDPython) -endmacro() +gaussino_add_subdirectories( + Defaults + EDMdev/MCTruthToEDM + Gen/GenBeam + Gen/Generators + Gen/GenInterfaces + Gen/LbPGuns + Gen/LbPythia8 + Gen/RndInit + HepMCUser + Moni/GaussMonitor + NewRnd + Sim/ExternalDetector + Sim/Gaussino + Sim/GiGaMT + Sim/GiGaMTCore + Sim/GiGaMTDD4hep + Sim/GiGaMTDebug + Sim/GiGaMTExamples/FCCTest + Sim/GiGaMTExamples/IronBox + Sim/GiGaMTExamples/LHCbFromGDML + Sim/GiGaMTFactories + Sim/GiGaMTGeo + Sim/GiGaMTReDecay + Sim/GiGaMTTruth + Sim/MCCollector + Sim/ParallelGeometry + Sim/SimInterfaces + Utils +) -# make sure pkg-config looks for packages on CMAKE_PREFIX_PATH and system -set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH ON) -list(APPEND CMAKE_PREFIX_PATH /usr) +gaudi_install(CMAKE + # helpers to find external projects + cmake/FindHepMC3.cmake + cmake/FindPythia8.cmake + cmake/GaussinoConfigUtils.cmake + cmake/GaussinoConfig.cmake.in +) -# Declare project name and version -gaudi_project(Gaussino v1r0 - FORTRAN - USE Run2Support v0r0 - Geant4 v104r1 - DATA Gen/PGunsData VERSION v1r* - Gen/DecFiles VERSION v30r* - LHAPDFSets VERSION v2r* - Vis/XmlVis VERSION v2r*) +gaussino_finalize_configuration() diff --git a/DD4hepDDG4Ext/CMakeLists.txt b/DD4hepDDG4Ext/CMakeLists.txt deleted file mode 100644 index 5ed174c776410ca0cb7988dd3b9a4bb476283829..0000000000000000000000000000000000000000 --- a/DD4hepDDG4Ext/CMakeLists.txt +++ /dev/null @@ -1,50 +0,0 @@ -############################################################################### -# (c) Copyright 2021 CERN for the benefit of the LHCb and FCC Collaborations # -# # -# This software is distributed under the terms of the Apache License # -# version 2 (Apache-2.0), copied verbatim in the file "COPYING". # -# # -# In applying this licence, CERN does not waive the privileges and immunities # -# granted to it by virtue of its status as an Intergovernmental Organization # -# or submit itself to any jurisdiction. # -############################################################################### -gaudi_subdir(DD4hepDDG4Ext v1r0) - -# Define EvtGen external project -set(DD4hep_GIT_SOURCE "https://gitlab.cern.ch/Gaussino/DD4hep.git" CACHE STRING "URL of the DD4hep git repository") -set(DD4hep_GIT_TAG "v01-16-01-patches" CACHE STRING "Tag of DD4hep to be used") - -find_package(ROOT) -find_package(Boost) -find_package(DD4hep REQUIRED) -find_package(LCIO REQUIRED) - -include(ExternalProject) -message(STATUS "DDG4 from DD4hep will use tag \"${DD4hep_GIT_TAG}\" from repository ${DD4hep_GIT_SOURCE}") -string(REPLACE "c++" "" DD4HepDDG4_CXX_STANDARD "${GAUDI_CXX_STANDARD}") -message(STATUS "Setting CMAKE_CXX_STANDARD to \"${DD4HepDDG4_CXX_STANDARD}\"") - -ExternalProject_Add(DD4hepDDG4Ext - GIT_REPOSITORY ${DD4hep_GIT_SOURCE} - GIT_TAG ${DD4hep_GIT_TAG} - CMAKE_ARGS - -Dheptools_version=${heptools_version} - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_LIST_DIR}/dd4hepddg4_toolchain.cmake - -DDD4HEP_USE_EXISTING_DD4HEP=${DD4hep_DIR} - -DDD4HEP_BUILD_PACKAGES=DDG4 - -DDD4HEP_USE_GEANT4=ON - -DLCG_USE_NATIVE_COMPILER=${LCG_USE_NATIVE_COMPILER} - -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} - -DCMAKE_CXX_STANDARD=${DD4HepDDG4_CXX_STANDARD} - -DDD4HEP_SELECTED_NAME=DD4hepDDG4 - -DCMAKE_INSTALL_LIBDIR=lib - CMAKE_COMMAND ${env_cmd} --xml ${env_xml} cmake - BUILD_COMMAND ${env_cmd} --xml ${env_xml} cmake --build . -) - -#set(DD4hepDDG4_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "" FORCE) -#set(DD4hepDDG4_DIR "${CMAKE_INSTALL_PREFIX}/cmake" CACHE PATH "" FORCE) -#set(DD4hepDDG4_LIBRARIES "${CMAKE_INSTALL_PREFIX}/lib/libDDG4LCIO.so" "${CMAKE_INSTALL_PREFIX}/lib/libDDG4Legacy.so" "${CMAKE_INSTALL_PREFIX}/lib/libDDG4Plugins.so" "${CMAKE_INSTALL_PREFIX}/lib/libDDG4Python.so" "${CMAKE_INSTALL_PREFIX}/lib/libDDG4.so" CACHE STRING "" FORCE) -#set(DD4hepDDG4_FOUND YES CACHE BOOL "" FORCE) diff --git a/DD4hepDDG4Ext/dd4hepddg4_toolchain.cmake b/DD4hepDDG4Ext/dd4hepddg4_toolchain.cmake deleted file mode 100644 index 1321282ccdae55a12feb6860853ca3e20d74156f..0000000000000000000000000000000000000000 --- a/DD4hepDDG4Ext/dd4hepddg4_toolchain.cmake +++ /dev/null @@ -1,41 +0,0 @@ -############################################################################### -# (c) Copyright 2021 CERN for the benefit of the LHCb and FCC Collaborations # -# # -# This software is distributed under the terms of the Apache License # -# version 2 (Apache-2.0), copied verbatim in the file "COPYING". # -# # -# In applying this licence, CERN does not waive the privileges and immunities # -# granted to it by virtue of its status as an Intergovernmental Organization # -# or submit itself to any jurisdiction. # -############################################################################### -# Special toolchain file that inherits the same heptools version as the -# used projects. -# -# -# this check is needed because the toolchain is called when checking the -# compiler (without the proper cache) -if(NOT CMAKE_SOURCE_DIR MATCHES "CMakeTmp") - find_path(heptools_mod_dir UseHEPTools.cmake) - message(INFO heptools_mod_dir = ${heptools_mod_dir}) - set(CMAKE_MODULE_PATH ${heptools_mod_dir} ${CMAKE_MODULE_PATH}) - if(heptools_version) - include(UseHEPTools) - use_heptools(${heptools_version}) - else() - include(InheritHEPTools) - inherit_heptools() - endif() - - # FIXME: make sure we do not pick up unwanted/problematic projects from LCG - if(CMAKE_PREFIX_PATH) - # - ninja (it requires LD_LIBRARY_PATH set to run) - # - Gaudi (we do not want to use it from LCG) - # - xenv (conflicts with the version in the build environment) - list(FILTER CMAKE_PREFIX_PATH EXCLUDE REGEX "(LCG_|lcg/nightlies).*(ninja|Gaudi|xenv)") - endif() - - # FIXME: make sure we do not pick up geant from LCG (it requires LD_LIBRARY_PATH set) - if(CMAKE_PREFIX_PATH AND CMAKE_VERSION VERSION_GREATER "3.6.0") - list(FILTER CMAKE_PREFIX_PATH EXCLUDE REGEX "(LCG_|lcg/nightlies).*Geant4") - endif() -endif() diff --git a/Defaults/CMakeLists.txt b/Defaults/CMakeLists.txt index 38cccc3a82a12a2f50a2e87ac112c0faecfe1ac1..db4eed0a218eed39932a18535e64c222f896479b 100644 --- a/Defaults/CMakeLists.txt +++ b/Defaults/CMakeLists.txt @@ -8,11 +8,9 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -################################################################################ -# Package: Defaults -# -################################################################################# +#[=======================================================================[.rst: +Defaults +-------- +#]=======================================================================] -gaudi_subdir(Defaults v1r0) - -gaudi_install_headers(Defaults) +gaudi_add_header_only_library(Defaults) diff --git a/Defaults/Defaults/HepMCAttributes.h b/Defaults/include/Defaults/HepMCAttributes.h similarity index 100% rename from Defaults/Defaults/HepMCAttributes.h rename to Defaults/include/Defaults/HepMCAttributes.h diff --git a/Defaults/Defaults/Locations.h b/Defaults/include/Defaults/Locations.h similarity index 100% rename from Defaults/Defaults/Locations.h rename to Defaults/include/Defaults/Locations.h diff --git a/EDMdev/MCTruthToEDM/CMakeLists.txt b/EDMdev/MCTruthToEDM/CMakeLists.txt index ba1510f546b2f997114c65334cbb2fcd77ca2289..3ecacbef6bae3aece467b420b7b9dbcdb704bb2c 100644 --- a/EDMdev/MCTruthToEDM/CMakeLists.txt +++ b/EDMdev/MCTruthToEDM/CMakeLists.txt @@ -8,28 +8,26 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -gaudi_subdir(MCTruthToEDM v1r0) - -gaudi_depends_on_subdirs(Event/GenEvent - Event/MCEvent - Sim/GiGaMTCore - Defaults - HepMC3 - HepMCUser) - -AddHepMC3() -find_package(HepMC) - +#[=======================================================================[.rst: +EDMdev/MCTruthToEDM +------------------- +#]=======================================================================] gaudi_add_library(MCTruthToEDMLib - src/lib/*.cpp - PUBLIC_HEADERS MCTruthToEDM - INCLUDE_DIRS HepMC - LINK_LIBRARIES GiGaMTCoreTruthLib MCEvent) + SOURCES + src/Lib/MCTruthToEDM.cpp + src/Lib/VertexType.cpp + LINK + PUBLIC + LHCb::GenEvent # TODO: [LHCb DEPENDENCY] + Gaussino::GiGaMTCoreRunLib + Gaussino::GiGaMTTruthLib +) gaudi_add_module(MCTruthToEDM - src/components/*.cpp - INCLUDE_DIRS ${HEPMC_INCLUDE_DIR} Defaults - LINK_LIBRARIES MCTruthToEDMLib) - -add_dependencies(MCTruthToEDM HepMC3Ext) + SOURCES + src/Components/CheckMCStructure.cpp + src/Components/MCTruthToEDMComp.cpp + LINK + Gaussino::MCTruthToEDMLib +) diff --git a/EDMdev/MCTruthToEDM/MCTruthToEDM/LinkedParticleMCParticleLink.h b/EDMdev/MCTruthToEDM/include/MCTruthToEDM/LinkedParticleMCParticleLink.h similarity index 100% rename from EDMdev/MCTruthToEDM/MCTruthToEDM/LinkedParticleMCParticleLink.h rename to EDMdev/MCTruthToEDM/include/MCTruthToEDM/LinkedParticleMCParticleLink.h diff --git a/EDMdev/MCTruthToEDM/MCTruthToEDM/MCTruthToEDM.h b/EDMdev/MCTruthToEDM/include/MCTruthToEDM/MCTruthToEDM.h similarity index 98% rename from EDMdev/MCTruthToEDM/MCTruthToEDM/MCTruthToEDM.h rename to EDMdev/MCTruthToEDM/include/MCTruthToEDM/MCTruthToEDM.h index 50f49030104bd1b940a08696af9853eb1727d0e1..36b503c22b5531b446a5ec17900147346dd627d3 100755 --- a/EDMdev/MCTruthToEDM/MCTruthToEDM/MCTruthToEDM.h +++ b/EDMdev/MCTruthToEDM/include/MCTruthToEDM/MCTruthToEDM.h @@ -24,7 +24,7 @@ #include "Event/MCVertex.h" #include "MCTruthToEDM/LinkedParticleMCParticleLink.h" -#include "GiGaMTCoreTruth/MCTruthConverter.h" +#include "GiGaMTCoreRun/MCTruthConverter.h" #include "Defaults/Locations.h" diff --git a/EDMdev/MCTruthToEDM/MCTruthToEDM/VertexType.h b/EDMdev/MCTruthToEDM/include/MCTruthToEDM/VertexType.h similarity index 95% rename from EDMdev/MCTruthToEDM/MCTruthToEDM/VertexType.h rename to EDMdev/MCTruthToEDM/include/MCTruthToEDM/VertexType.h index 7002c11c879f042179e575f8dbac9924bc6a297d..66d0ab5c505e397f21384d1d9537fde2b0c5a640 100644 --- a/EDMdev/MCTruthToEDM/MCTruthToEDM/VertexType.h +++ b/EDMdev/MCTruthToEDM/include/MCTruthToEDM/VertexType.h @@ -9,7 +9,7 @@ * or submit itself to any jurisdiction. * \*****************************************************************************/ #include "Event/MCVertex.h" -#include "GiGaMTCoreTruth/LinkedParticle.h" +#include "GiGaMTCoreRun/LinkedParticle.h" #include "GaudiKernel/MsgStream.h" namespace Gaussino { diff --git a/EDMdev/MCTruthToEDM/src/components/CheckMCStructure.cpp b/EDMdev/MCTruthToEDM/src/Components/CheckMCStructure.cpp similarity index 100% rename from EDMdev/MCTruthToEDM/src/components/CheckMCStructure.cpp rename to EDMdev/MCTruthToEDM/src/Components/CheckMCStructure.cpp diff --git a/EDMdev/MCTruthToEDM/src/components/CheckMCStructure.h b/EDMdev/MCTruthToEDM/src/Components/CheckMCStructure.h similarity index 100% rename from EDMdev/MCTruthToEDM/src/components/CheckMCStructure.h rename to EDMdev/MCTruthToEDM/src/Components/CheckMCStructure.h diff --git a/EDMdev/MCTruthToEDM/src/components/MCTruthToEDMComp.cpp b/EDMdev/MCTruthToEDM/src/Components/MCTruthToEDMComp.cpp similarity index 100% rename from EDMdev/MCTruthToEDM/src/components/MCTruthToEDMComp.cpp rename to EDMdev/MCTruthToEDM/src/Components/MCTruthToEDMComp.cpp diff --git a/EDMdev/MCTruthToEDM/src/lib/MCTruthToEDM.cpp b/EDMdev/MCTruthToEDM/src/Lib/MCTruthToEDM.cpp similarity index 100% rename from EDMdev/MCTruthToEDM/src/lib/MCTruthToEDM.cpp rename to EDMdev/MCTruthToEDM/src/Lib/MCTruthToEDM.cpp diff --git a/EDMdev/MCTruthToEDM/src/lib/VertexType.cpp b/EDMdev/MCTruthToEDM/src/Lib/VertexType.cpp similarity index 100% rename from EDMdev/MCTruthToEDM/src/lib/VertexType.cpp rename to EDMdev/MCTruthToEDM/src/Lib/VertexType.cpp diff --git a/Gen/GenBeam/CMakeLists.txt b/Gen/GenBeam/CMakeLists.txt index 1a9b2f2a1424f4fead57fa7abacc99b8003e0841..6fca107203d0f41d59e6db94f122d8932bea52a9 100644 --- a/Gen/GenBeam/CMakeLists.txt +++ b/Gen/GenBeam/CMakeLists.txt @@ -8,24 +8,24 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -################################################################################ -# Package: GenBeam -################################################################################ -gaudi_subdir(GenBeam v1r0) - -gaudi_depends_on_subdirs(GaudiAlg - Event/GenEvent - NewRnd - HepMCUser - Gen/GenInterfaces - #FIXME: For platform and kernel streaming, I think ?!?! - Kernel/LHCbKernel) - -AddHepMC3() +#[=======================================================================[.rst: +Gen/GenBeam +----------- +#]=======================================================================] +gaudi_add_header_only_library(GenBeamLib) gaudi_add_module(GenBeam - src/*.cpp - INCLUDE_DIRS Gen/GenInterfaces ${HEPMC3_INCLUDE_DIR} HepMCUser - LINK_LIBRARIES GaudiAlgLib GenEvent LHCbKernel NewRnd ${HEPMC3_LIBRARIES}) - -add_dependencies(GenBeam HepMC3Ext) + SOURCES + src/Components/BeamInfoSvc.cpp + src/Components/BeamSpotSmearVertexWithSvc.cpp + src/Components/CollidingBeamsWithSvc.cpp + src/Components/FixedLuminosityWithSvc.cpp + LINK + HepMC3::HepMC3 + Gaudi::GaudiAlgLib + LHCb::GenEvent # TODO: [LHCb DEPENDENCY] + Gaussino::HepMCUserLib + Gaussino::NewRndLib + Gaussino::GenBeamLib + Gaussino::GenInterfacesLib +) diff --git a/Gen/GenBeam/GenBeam/IBeamInfoSvc.h b/Gen/GenBeam/include/GenBeam/IBeamInfoSvc.h similarity index 96% rename from Gen/GenBeam/GenBeam/IBeamInfoSvc.h rename to Gen/GenBeam/include/GenBeam/IBeamInfoSvc.h index 1a5b56d5923518f6df1c591161c63742de9d8527..c18da5d88c7c330b8ec83820a66166983317a5ff 100644 --- a/Gen/GenBeam/GenBeam/IBeamInfoSvc.h +++ b/Gen/GenBeam/include/GenBeam/IBeamInfoSvc.h @@ -28,9 +28,9 @@ class GAUDI_API IBeamInfoSvc : virtual public IService { public: DeclareInterfaceID(IBeamInfoSvc, 1, 0); - virtual StatusCode initialize() = 0; + virtual StatusCode initialize() override = 0; - virtual StatusCode finalize() = 0; + virtual StatusCode finalize() override = 0; /// Mean number of interactions per event (nu) virtual double nu() const = 0; diff --git a/Gen/GenBeam/src/BeamInfoSvc.cpp b/Gen/GenBeam/src/Components/BeamInfoSvc.cpp similarity index 100% rename from Gen/GenBeam/src/BeamInfoSvc.cpp rename to Gen/GenBeam/src/Components/BeamInfoSvc.cpp diff --git a/Gen/GenBeam/src/BeamInfoSvc.h b/Gen/GenBeam/src/Components/BeamInfoSvc.h similarity index 100% rename from Gen/GenBeam/src/BeamInfoSvc.h rename to Gen/GenBeam/src/Components/BeamInfoSvc.h diff --git a/Gen/GenBeam/src/BeamSpotSmearVertexWithSvc.cpp b/Gen/GenBeam/src/Components/BeamSpotSmearVertexWithSvc.cpp similarity index 100% rename from Gen/GenBeam/src/BeamSpotSmearVertexWithSvc.cpp rename to Gen/GenBeam/src/Components/BeamSpotSmearVertexWithSvc.cpp diff --git a/Gen/GenBeam/src/BeamSpotSmearVertexWithSvc.h b/Gen/GenBeam/src/Components/BeamSpotSmearVertexWithSvc.h similarity index 100% rename from Gen/GenBeam/src/BeamSpotSmearVertexWithSvc.h rename to Gen/GenBeam/src/Components/BeamSpotSmearVertexWithSvc.h diff --git a/Gen/GenBeam/src/CollidingBeamsWithSvc.cpp b/Gen/GenBeam/src/Components/CollidingBeamsWithSvc.cpp similarity index 100% rename from Gen/GenBeam/src/CollidingBeamsWithSvc.cpp rename to Gen/GenBeam/src/Components/CollidingBeamsWithSvc.cpp diff --git a/Gen/GenBeam/src/CollidingBeamsWithSvc.h b/Gen/GenBeam/src/Components/CollidingBeamsWithSvc.h similarity index 91% rename from Gen/GenBeam/src/CollidingBeamsWithSvc.h rename to Gen/GenBeam/src/Components/CollidingBeamsWithSvc.h index e414adc76fc8ccdf4e0b15e529de949aebee3b7f..801b38468759fe7c88a0c5064d472919493f9a68 100755 --- a/Gen/GenBeam/src/CollidingBeamsWithSvc.h +++ b/Gen/GenBeam/src/Components/CollidingBeamsWithSvc.h @@ -36,12 +36,12 @@ class CollidingBeamsWithSvc : public GaudiTool, virtual public IBeamTool { virtual ~CollidingBeamsWithSvc( ); ///< Destructor /// Initialize method - virtual StatusCode initialize( ) ; + virtual StatusCode initialize( ) override; /** Implements IBeamTool::getMeanBeams */ virtual void getMeanBeams( Gaudi::XYZVector & pBeam1 , - Gaudi::XYZVector & pBeam2 ) const ; + Gaudi::XYZVector & pBeam2 ) const override; /** Implements IBeamTool::getBeams * Compute beam 3-momentum taking into account the horizontal and vertical @@ -49,7 +49,7 @@ class CollidingBeamsWithSvc : public GaudiTool, virtual public IBeamTool { * with an angular smearing equal to (emittance/beta*)^1/2. */ virtual void getBeams( Gaudi::XYZVector & pBeam1 , - Gaudi::XYZVector & pBeam2 ) ; + Gaudi::XYZVector & pBeam2 ) override; private: IBeamInfoSvc *m_beaminfosvc; diff --git a/Gen/GenBeam/src/FixedLuminosityWithSvc.cpp b/Gen/GenBeam/src/Components/FixedLuminosityWithSvc.cpp similarity index 100% rename from Gen/GenBeam/src/FixedLuminosityWithSvc.cpp rename to Gen/GenBeam/src/Components/FixedLuminosityWithSvc.cpp diff --git a/Gen/GenBeam/src/FixedLuminosityWithSvc.h b/Gen/GenBeam/src/Components/FixedLuminosityWithSvc.h similarity index 94% rename from Gen/GenBeam/src/FixedLuminosityWithSvc.h rename to Gen/GenBeam/src/Components/FixedLuminosityWithSvc.h index df96f58df206c9c8efc1c390c2748f87455ad20b..0b02e6252b15a4c4d3b12227c45ecf32132fe18e 100755 --- a/Gen/GenBeam/src/FixedLuminosityWithSvc.h +++ b/Gen/GenBeam/src/Components/FixedLuminosityWithSvc.h @@ -39,10 +39,10 @@ public: virtual ~FixedLuminosityWithSvc( ); ///< Destructor /// Initialize method - virtual StatusCode initialize( ) ; + virtual StatusCode initialize( ) override; /// Finalize method - virtual StatusCode finalize( ) ; + virtual StatusCode finalize( ) override; /** Implements IPileUpTool::numberOfPileUp * Returns the number of pile-up interactions in one event. It follows @@ -50,10 +50,10 @@ public: * mean = Luminosity * cross_section / crossing_rate. * The fixed luminosity is returned in the GenHeader. */ - virtual unsigned int numberOfPileUp( HepRandomEnginePtr & engine ) ; + virtual unsigned int numberOfPileUp( HepRandomEnginePtr & engine ) override; /// Implements IPileUpTool::printPileUpCounters - virtual void printPileUpCounters( ) ; + virtual void printPileUpCounters( ) override; protected: diff --git a/Gen/GenInterfaces/CMakeLists.txt b/Gen/GenInterfaces/CMakeLists.txt index 0295799021679779723f8f54c3205eee0025d4ee..36ae32b8b91e044eb8561c2f9c8204f729385970 100644 --- a/Gen/GenInterfaces/CMakeLists.txt +++ b/Gen/GenInterfaces/CMakeLists.txt @@ -8,17 +8,12 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### +#[=======================================================================[.rst: +Gen/GenInterfaces +----------------- +#]=======================================================================] ################################################################################ # Package: GenInterface ################################################################################ -gaudi_subdir(GenInterfaces v1r0) - -gaudi_depends_on_subdirs(HepMC3 - NewRnd) - -AddHepMC3() - -gaudi_install_headers(GenInterfaces) - -gaudi_install_headers( - Event) +gaudi_add_header_only_library(GenInterfacesLib) +gaudi_add_header_only_library(EventLib) diff --git a/Gen/GenInterfaces/Event/GenFSRMTManager.h b/Gen/GenInterfaces/include/Event/GenFSRMTManager.h similarity index 100% rename from Gen/GenInterfaces/Event/GenFSRMTManager.h rename to Gen/GenInterfaces/include/Event/GenFSRMTManager.h diff --git a/Gen/GenInterfaces/GenInterfaces/IBeamTool.h b/Gen/GenInterfaces/include/GenInterfaces/IBeamTool.h similarity index 100% rename from Gen/GenInterfaces/GenInterfaces/IBeamTool.h rename to Gen/GenInterfaces/include/GenInterfaces/IBeamTool.h diff --git a/Gen/GenInterfaces/GenInterfaces/ICounterLogFile.h b/Gen/GenInterfaces/include/GenInterfaces/ICounterLogFile.h similarity index 100% rename from Gen/GenInterfaces/GenInterfaces/ICounterLogFile.h rename to Gen/GenInterfaces/include/GenInterfaces/ICounterLogFile.h diff --git a/Gen/GenInterfaces/GenInterfaces/IDecayTool.h b/Gen/GenInterfaces/include/GenInterfaces/IDecayTool.h similarity index 100% rename from Gen/GenInterfaces/GenInterfaces/IDecayTool.h rename to Gen/GenInterfaces/include/GenInterfaces/IDecayTool.h diff --git a/Gen/GenInterfaces/GenInterfaces/IFullGenEventCutTool.h b/Gen/GenInterfaces/include/GenInterfaces/IFullGenEventCutTool.h similarity index 100% rename from Gen/GenInterfaces/GenInterfaces/IFullGenEventCutTool.h rename to Gen/GenInterfaces/include/GenInterfaces/IFullGenEventCutTool.h diff --git a/Gen/GenInterfaces/GenInterfaces/IGenCutTool.h b/Gen/GenInterfaces/include/GenInterfaces/IGenCutTool.h similarity index 100% rename from Gen/GenInterfaces/GenInterfaces/IGenCutTool.h rename to Gen/GenInterfaces/include/GenInterfaces/IGenCutTool.h diff --git a/Gen/GenInterfaces/GenInterfaces/IPileUpTool.h b/Gen/GenInterfaces/include/GenInterfaces/IPileUpTool.h similarity index 100% rename from Gen/GenInterfaces/GenInterfaces/IPileUpTool.h rename to Gen/GenInterfaces/include/GenInterfaces/IPileUpTool.h diff --git a/Gen/GenInterfaces/GenInterfaces/IProductionTool.h b/Gen/GenInterfaces/include/GenInterfaces/IProductionTool.h similarity index 100% rename from Gen/GenInterfaces/GenInterfaces/IProductionTool.h rename to Gen/GenInterfaces/include/GenInterfaces/IProductionTool.h diff --git a/Gen/GenInterfaces/GenInterfaces/ISampleGenerationTool.h b/Gen/GenInterfaces/include/GenInterfaces/ISampleGenerationTool.h similarity index 100% rename from Gen/GenInterfaces/GenInterfaces/ISampleGenerationTool.h rename to Gen/GenInterfaces/include/GenInterfaces/ISampleGenerationTool.h diff --git a/Gen/GenInterfaces/GenInterfaces/IVertexSmearingTool.h b/Gen/GenInterfaces/include/GenInterfaces/IVertexSmearingTool.h similarity index 100% rename from Gen/GenInterfaces/GenInterfaces/IVertexSmearingTool.h rename to Gen/GenInterfaces/include/GenInterfaces/IVertexSmearingTool.h diff --git a/Gen/Generators/CMakeLists.txt b/Gen/Generators/CMakeLists.txt index 0d28c24773e145b0714d016ac462ad7bf9d369d6..96e90c1a81361a3722233c84fe00221f246fa122 100644 --- a/Gen/Generators/CMakeLists.txt +++ b/Gen/Generators/CMakeLists.txt @@ -8,43 +8,72 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -################################################################################ -# Package: Generators -################################################################################ -gaudi_subdir(Generators v16r0) - -gaudi_depends_on_subdirs(Event/GenEvent - GaudiAlg - NewRnd - #FIXME: Gen/EvtGen - #FIXME: Gen/EvtGenExtras - #FIXME: Kernel/MCInterfaces - #FIXME: Kernel/LHCbKernel - Kernel/PartProp - Defaults - HepMC3 - HepMCUser - Gen/GenInterfaces) - -find_package(Boost COMPONENTS filesystem system) -find_package(Photos++) -AddHepMC3() - -string(REPLACE "-pedantic" "" CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}") -string(REPLACE "-Wall" "" CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}") -string(REPLACE "-Wextra" "" CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}") -string(REPLACE "-Werror=return-type" "" CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}") +#[=======================================================================[.rst: +Gen/Generators +-------------- +#]=======================================================================] gaudi_add_library(GeneratorsLib - src/Lib/*.cpp src/Lib/*.F - PUBLIC_HEADERS Generators - INCLUDE_DIRS Kernel/MCInterfaces Gen/GenInterfaces HepMCUser ${HEPMC3_INCLUDE_DIR} - LINK_LIBRARIES GenEvent GaudiAlgLib PartPropLib ${HEPMC3_LIBRARIES} NewRnd) + SOURCES + src/Lib/f77units.F + src/Lib/getaddr.cpp + src/Lib/pythiaoutput_utils.F + src/Lib/ExternalGenerator.cpp + src/Lib/F77Utils.cpp + src/Lib/Generation.cpp + src/Lib/GenCounters.cpp + src/Lib/LbPhotos.cpp + src/Lib/LbTaula.cpp + src/Lib/LhaPdf.cpp + src/Lib/LBPHOTOS.F + src/Lib/LBTAULA.F + src/Lib/LHAPDFCommonBlocks.cpp + src/Lib/LHAPDFUtils.F + src/Lib/Scale.cpp + src/Lib/Signal.cpp + src/Lib/StreamForGenerator.cpp + src/Lib/StringParse.cpp + LINK + PUBLIC + Gaudi::GaudiAlgLib + LHCb::GenEvent # TODO: [LHCb DEPENDENCY] + Gaussino::HepMCUtilsLib + Gaussino::NewRndLib + Gaussino::UtilsLib + Gaussino::GenInterfacesLib + Gaussino::EventLib -add_dependencies(GeneratorsLib HepMC3Ext) +) gaudi_add_module(Generators - src/component/*.cpp - INCLUDE_DIRS Boost Kernel/MCInterfaces Gen/GenInterfaces Photos++ - LINK_LIBRARIES Boost GenEvent GaudiAlgLib LHCbKernel GeneratorsLib Photos++) - + SOURCES + src/Components/AsymmetricCollidingBeams.cpp + src/Components/BeamSpotMarkovChainSampleVertex.cpp + src/Components/BeamSpotSmearVertex.cpp + src/Components/CollidingBeams.cpp + src/Components/FixedLuminosity.cpp + src/Components/FixedLuminosityForRareProcess.cpp + src/Components/FixedLuminosityForSpillOver.cpp + src/Components/FixedNInteractions.cpp + src/Components/FixedTarget.cpp + src/Components/FlatSmearVertex.cpp + src/Components/FlatZSmearVertex.cpp + src/Components/GenerationComp.cpp + src/Components/HepMCWriter.cpp + src/Components/HistoSmearVertex.cpp + src/Components/Inclusive.cpp + src/Components/MergedEventsFilter.cpp + src/Components/MinimumBias.cpp + src/Components/PoissonPileUp.cpp + src/Components/ReadHepMCAsciiFile.cpp + src/Components/SaveSignalBInformation.cpp + src/Components/SignalForcedFragmentation.cpp + src/Components/SignalPlain.cpp + src/Components/SignalRepeatedHadronization.cpp + src/Components/StandAloneDecayTool.cpp + src/Components/UniformSmearVertex.cpp + src/Components/VariableLuminosity.cpp + src/Components/XmlCounterLogFile.cpp + LINK + Gaussino::GeneratorsLib +) diff --git a/Gen/Generators/Generators/ExternalGenerator.h b/Gen/Generators/include/Generators/ExternalGenerator.h similarity index 98% rename from Gen/Generators/Generators/ExternalGenerator.h rename to Gen/Generators/include/Generators/ExternalGenerator.h index 0c3011a62defe1d31cb098f415fc1c73b4746cf0..43797e5d4722528ae1ba28587b5e43429abc288c 100755 --- a/Gen/Generators/Generators/ExternalGenerator.h +++ b/Gen/Generators/include/Generators/ExternalGenerator.h @@ -75,13 +75,13 @@ class ExternalGenerator : public GaudiTool , * and declare them stable for the production tool if they are known * by the decay tool. */ - virtual StatusCode initialize( ) ; + virtual StatusCode initialize( ) override; /** Finalization funtion. * This function closes the file used to redirect LHAPDF output messages * in case the output is disabled. */ - virtual StatusCode finalize( ) ; + virtual StatusCode finalize( ) override; protected: /** Decay heavy excited particles. diff --git a/Gen/Generators/Generators/F77Utils.h b/Gen/Generators/include/Generators/F77Utils.h similarity index 100% rename from Gen/Generators/Generators/F77Utils.h rename to Gen/Generators/include/Generators/F77Utils.h diff --git a/Gen/Generators/Generators/GenCounters.h b/Gen/Generators/include/Generators/GenCounters.h similarity index 100% rename from Gen/Generators/Generators/GenCounters.h rename to Gen/Generators/include/Generators/GenCounters.h diff --git a/Gen/Generators/Generators/Generation.h b/Gen/Generators/include/Generators/Generation.h similarity index 100% rename from Gen/Generators/Generators/Generation.h rename to Gen/Generators/include/Generators/Generation.h diff --git a/Gen/Generators/Generators/HepMCUtils.h b/Gen/Generators/include/Generators/HepMCUtils.h similarity index 100% rename from Gen/Generators/Generators/HepMCUtils.h rename to Gen/Generators/include/Generators/HepMCUtils.h diff --git a/Gen/Generators/Generators/LHAPDFCommonBlocks.h b/Gen/Generators/include/Generators/LHAPDFCommonBlocks.h similarity index 100% rename from Gen/Generators/Generators/LHAPDFCommonBlocks.h rename to Gen/Generators/include/Generators/LHAPDFCommonBlocks.h diff --git a/Gen/Generators/Generators/LbPhotos.h b/Gen/Generators/include/Generators/LbPhotos.h similarity index 100% rename from Gen/Generators/Generators/LbPhotos.h rename to Gen/Generators/include/Generators/LbPhotos.h diff --git a/Gen/Generators/Generators/LbTaula.h b/Gen/Generators/include/Generators/LbTaula.h similarity index 100% rename from Gen/Generators/Generators/LbTaula.h rename to Gen/Generators/include/Generators/LbTaula.h diff --git a/Gen/Generators/Generators/LhaPdf.h b/Gen/Generators/include/Generators/LhaPdf.h similarity index 100% rename from Gen/Generators/Generators/LhaPdf.h rename to Gen/Generators/include/Generators/LhaPdf.h diff --git a/Gen/Generators/Generators/Scale.h b/Gen/Generators/include/Generators/Scale.h similarity index 100% rename from Gen/Generators/Generators/Scale.h rename to Gen/Generators/include/Generators/Scale.h diff --git a/Gen/Generators/Generators/Signal.h b/Gen/Generators/include/Generators/Signal.h similarity index 98% rename from Gen/Generators/Generators/Signal.h rename to Gen/Generators/include/Generators/Signal.h index f1dc607bdaee856753f7790a863283b2927cc101..a3cd9bf109166d0b0981844c045d22fc5cf87667 100755 --- a/Gen/Generators/Generators/Signal.h +++ b/Gen/Generators/include/Generators/Signal.h @@ -47,10 +47,10 @@ class Signal : public ExternalGenerator { virtual ~Signal( ); ///< Destructor /// Initialize - virtual StatusCode initialize( ) ; + virtual StatusCode initialize( ) override; /// Print counters and cut efficiencies at the end of the job. - virtual void printCounters( ) const ; + virtual void printCounters( ) const override; protected: /// PID of the signal particle for this job (set by job options) diff --git a/Gen/Generators/Generators/StreamForGenerator.h b/Gen/Generators/include/Generators/StreamForGenerator.h similarity index 100% rename from Gen/Generators/Generators/StreamForGenerator.h rename to Gen/Generators/include/Generators/StreamForGenerator.h diff --git a/Gen/Generators/Generators/StringParse.h b/Gen/Generators/include/Generators/StringParse.h similarity index 100% rename from Gen/Generators/Generators/StringParse.h rename to Gen/Generators/include/Generators/StringParse.h diff --git a/Gen/Generators/src/component/AsymmetricCollidingBeams.cpp b/Gen/Generators/src/Components/AsymmetricCollidingBeams.cpp similarity index 100% rename from Gen/Generators/src/component/AsymmetricCollidingBeams.cpp rename to Gen/Generators/src/Components/AsymmetricCollidingBeams.cpp diff --git a/Gen/Generators/src/component/AsymmetricCollidingBeams.h b/Gen/Generators/src/Components/AsymmetricCollidingBeams.h similarity index 100% rename from Gen/Generators/src/component/AsymmetricCollidingBeams.h rename to Gen/Generators/src/Components/AsymmetricCollidingBeams.h diff --git a/Gen/Generators/src/component/BeamSpotMarkovChainSampleVertex.cpp b/Gen/Generators/src/Components/BeamSpotMarkovChainSampleVertex.cpp similarity index 100% rename from Gen/Generators/src/component/BeamSpotMarkovChainSampleVertex.cpp rename to Gen/Generators/src/Components/BeamSpotMarkovChainSampleVertex.cpp diff --git a/Gen/Generators/src/component/BeamSpotMarkovChainSampleVertex.h b/Gen/Generators/src/Components/BeamSpotMarkovChainSampleVertex.h similarity index 100% rename from Gen/Generators/src/component/BeamSpotMarkovChainSampleVertex.h rename to Gen/Generators/src/Components/BeamSpotMarkovChainSampleVertex.h diff --git a/Gen/Generators/src/component/BeamSpotSmearVertex.cpp b/Gen/Generators/src/Components/BeamSpotSmearVertex.cpp similarity index 100% rename from Gen/Generators/src/component/BeamSpotSmearVertex.cpp rename to Gen/Generators/src/Components/BeamSpotSmearVertex.cpp diff --git a/Gen/Generators/src/component/BeamSpotSmearVertex.h b/Gen/Generators/src/Components/BeamSpotSmearVertex.h similarity index 96% rename from Gen/Generators/src/component/BeamSpotSmearVertex.h rename to Gen/Generators/src/Components/BeamSpotSmearVertex.h index c762524c86e886f78114cf195253545e8ac1b236..d8d86bcd94e2acfc0ef5298920ccf8e15dc45f32 100755 --- a/Gen/Generators/src/component/BeamSpotSmearVertex.h +++ b/Gen/Generators/src/Components/BeamSpotSmearVertex.h @@ -36,13 +36,13 @@ public: virtual ~BeamSpotSmearVertex( ); ///< Destructor /// Initialize function - virtual StatusCode initialize( ) ; + virtual StatusCode initialize( ) override; /** Implementation of IVertexSmearingTool::smearVertex. * Gaussian smearing of spatial position of primary event truncated * at a given number of sigma. */ - virtual StatusCode smearVertex( HepMC3::GenEventPtr theEvent , HepRandomEnginePtr & engine ) ; + virtual StatusCode smearVertex( HepMC3::GenEventPtr theEvent , HepRandomEnginePtr & engine ) override; private: /// Number of sigma above which to cut for x-axis smearing (set by options) diff --git a/Gen/Generators/src/component/CollidingBeams.cpp b/Gen/Generators/src/Components/CollidingBeams.cpp similarity index 100% rename from Gen/Generators/src/component/CollidingBeams.cpp rename to Gen/Generators/src/Components/CollidingBeams.cpp diff --git a/Gen/Generators/src/component/CollidingBeams.h b/Gen/Generators/src/Components/CollidingBeams.h similarity index 93% rename from Gen/Generators/src/component/CollidingBeams.h rename to Gen/Generators/src/Components/CollidingBeams.h index 067f72d4f5e47be5e6e9b71ab1c6e6ffa55de667..ffb48b06ba0f4f8a86e6a6478439723c25b19d32 100755 --- a/Gen/Generators/src/component/CollidingBeams.h +++ b/Gen/Generators/src/Components/CollidingBeams.h @@ -37,7 +37,7 @@ class CollidingBeams : public GaudiTool, virtual public IBeamTool { /** Implements IBeamTool::getMeanBeams */ virtual void getMeanBeams( Gaudi::XYZVector & pBeam1 , - Gaudi::XYZVector & pBeam2 ) const ; + Gaudi::XYZVector & pBeam2 ) const override; /** Implements IBeamTool::getBeams * Compute beam 3-momentum taking into account the horizontal and vertical @@ -45,7 +45,7 @@ class CollidingBeams : public GaudiTool, virtual public IBeamTool { * with an angular smearing equal to (emittance/beta*)^1/2. */ virtual void getBeams( Gaudi::XYZVector & pBeam1 , - Gaudi::XYZVector & pBeam2 ) ; + Gaudi::XYZVector & pBeam2 ) override; private: std::string m_beamParameters ; ///< Location of beam parameters (set by options) diff --git a/Gen/Generators/src/component/FixedLuminosity.cpp b/Gen/Generators/src/Components/FixedLuminosity.cpp similarity index 100% rename from Gen/Generators/src/component/FixedLuminosity.cpp rename to Gen/Generators/src/Components/FixedLuminosity.cpp diff --git a/Gen/Generators/src/component/FixedLuminosity.h b/Gen/Generators/src/Components/FixedLuminosity.h similarity index 94% rename from Gen/Generators/src/component/FixedLuminosity.h rename to Gen/Generators/src/Components/FixedLuminosity.h index ad8b0c8436c1a0a01178a6da20b4727d221f5c3d..2f9f100ef340aff243cfd17f26bc2f34391c7f4c 100755 --- a/Gen/Generators/src/component/FixedLuminosity.h +++ b/Gen/Generators/src/Components/FixedLuminosity.h @@ -38,10 +38,10 @@ public: virtual ~FixedLuminosity( ); ///< Destructor /// Initialize method - virtual StatusCode initialize( ) ; + virtual StatusCode initialize( ) override; /// Finalize method - virtual StatusCode finalize( ) ; + virtual StatusCode finalize( ) override; /** Implements IPileUpTool::numberOfPileUp * Returns the number of pile-up interactions in one event. It follows @@ -49,10 +49,10 @@ public: * mean = Luminosity * cross_section / crossing_rate. * The fixed luminosity is returned in the GenHeader. */ - virtual unsigned int numberOfPileUp( HepRandomEnginePtr & engine ) ; + virtual unsigned int numberOfPileUp( HepRandomEnginePtr & engine ) override; /// Implements IPileUpTool::printPileUpCounters - virtual void printPileUpCounters( ) ; + virtual void printPileUpCounters( ) override; protected: diff --git a/Gen/Generators/src/component/FixedLuminosityForRareProcess.cpp b/Gen/Generators/src/Components/FixedLuminosityForRareProcess.cpp similarity index 100% rename from Gen/Generators/src/component/FixedLuminosityForRareProcess.cpp rename to Gen/Generators/src/Components/FixedLuminosityForRareProcess.cpp diff --git a/Gen/Generators/src/component/FixedLuminosityForRareProcess.h b/Gen/Generators/src/Components/FixedLuminosityForRareProcess.h similarity index 100% rename from Gen/Generators/src/component/FixedLuminosityForRareProcess.h rename to Gen/Generators/src/Components/FixedLuminosityForRareProcess.h diff --git a/Gen/Generators/src/component/FixedLuminosityForSpillOver.cpp b/Gen/Generators/src/Components/FixedLuminosityForSpillOver.cpp similarity index 100% rename from Gen/Generators/src/component/FixedLuminosityForSpillOver.cpp rename to Gen/Generators/src/Components/FixedLuminosityForSpillOver.cpp diff --git a/Gen/Generators/src/component/FixedLuminosityForSpillOver.h b/Gen/Generators/src/Components/FixedLuminosityForSpillOver.h similarity index 92% rename from Gen/Generators/src/component/FixedLuminosityForSpillOver.h rename to Gen/Generators/src/Components/FixedLuminosityForSpillOver.h index e39d55ef3ce8a230a6878f7c83a86848fac1d0a8..9398193ce50c79e9edbfba7838e7778d4651759d 100644 --- a/Gen/Generators/src/component/FixedLuminosityForSpillOver.h +++ b/Gen/Generators/src/Components/FixedLuminosityForSpillOver.h @@ -40,10 +40,10 @@ public: virtual ~FixedLuminosityForSpillOver( ); ///< Destructor /// Initialize method - virtual StatusCode initialize( ) ; + virtual StatusCode initialize( ) override; /// Finalize method - virtual StatusCode finalize( ) ; + virtual StatusCode finalize( ) override; /** Implements IPileUpTool::numberOfPileUp * Returns the number of pile-up interactions in one event. It follows @@ -51,10 +51,10 @@ public: * mean = Luminosity * cross_section / crossing_rate. * The fixed luminosity is returned as the currentLuminosity. */ - virtual unsigned int numberOfPileUp( HepRandomEnginePtr & ) ; + virtual unsigned int numberOfPileUp( HepRandomEnginePtr & ) override; /// Implements IPileUpTool::printPileUpCounters - virtual void printPileUpCounters( ) ; + virtual void printPileUpCounters( ) override; protected: diff --git a/Gen/Generators/src/component/FixedNInteractions.cpp b/Gen/Generators/src/Components/FixedNInteractions.cpp similarity index 100% rename from Gen/Generators/src/component/FixedNInteractions.cpp rename to Gen/Generators/src/Components/FixedNInteractions.cpp diff --git a/Gen/Generators/src/component/FixedNInteractions.h b/Gen/Generators/src/Components/FixedNInteractions.h similarity index 92% rename from Gen/Generators/src/component/FixedNInteractions.h rename to Gen/Generators/src/Components/FixedNInteractions.h index 6dc24e6cc79c7230f7ce04a381cf8b9ba393e6e4..72ec8cd21f57f1075aef84432031236902f58213 100755 --- a/Gen/Generators/src/component/FixedNInteractions.h +++ b/Gen/Generators/src/Components/FixedNInteractions.h @@ -36,16 +36,16 @@ class FixedNInteractions : public GaudiTool, virtual public IPileUpTool { virtual ~FixedNInteractions( ); ///< Destructor /// Initialize method - virtual StatusCode initialize( ) ; + virtual StatusCode initialize( ) override; /** Returns a constant number of pile-up interactions. * Implementation of IPileUpTool::numberOfPileUp. * Returns a luminosity equal to 0. */ - virtual unsigned int numberOfPileUp( HepRandomEnginePtr & ) ; + virtual unsigned int numberOfPileUp( HepRandomEnginePtr & ) override; /// Implementation of IPileUpTool::printPileUpCounters - virtual void printPileUpCounters( ) ; + virtual void printPileUpCounters( ) override; private: /// Number of interactions to generate (set by job options) diff --git a/Gen/Generators/src/component/FixedTarget.cpp b/Gen/Generators/src/Components/FixedTarget.cpp similarity index 100% rename from Gen/Generators/src/component/FixedTarget.cpp rename to Gen/Generators/src/Components/FixedTarget.cpp diff --git a/Gen/Generators/src/component/FixedTarget.h b/Gen/Generators/src/Components/FixedTarget.h similarity index 91% rename from Gen/Generators/src/component/FixedTarget.h rename to Gen/Generators/src/Components/FixedTarget.h index ea9ebe92acf65b79b738db5080119edc40644186..3cb81c8f61b1e4b8c79e52100849dce2eb9cd2b2 100755 --- a/Gen/Generators/src/component/FixedTarget.h +++ b/Gen/Generators/src/Components/FixedTarget.h @@ -35,15 +35,15 @@ class FixedTarget : public GaudiTool, virtual public IBeamTool { virtual ~FixedTarget( ); ///< Destructor /// Initialize method - virtual StatusCode initialize( ) ; + virtual StatusCode initialize( ) override; /// Implements IBeamTool::getMeanBeams. See CollidingBeams::getMeanBeams virtual void getMeanBeams( Gaudi::XYZVector & pBeam1 , - Gaudi::XYZVector & pBeam2 ) const ; + Gaudi::XYZVector & pBeam2 ) const override; /// Implements IBeamTool::getBeams. See CollidingBeams::getBeams virtual void getBeams( Gaudi::XYZVector & pBeam1 , - Gaudi::XYZVector & pBeam2 ) ; + Gaudi::XYZVector & pBeam2 ) override; private: std::string m_beamParameters ; ///< Location of beam parameters (set by options) diff --git a/Gen/Generators/src/component/FlatSmearVertex.cpp b/Gen/Generators/src/Components/FlatSmearVertex.cpp similarity index 100% rename from Gen/Generators/src/component/FlatSmearVertex.cpp rename to Gen/Generators/src/Components/FlatSmearVertex.cpp diff --git a/Gen/Generators/src/component/FlatSmearVertex.h b/Gen/Generators/src/Components/FlatSmearVertex.h similarity index 100% rename from Gen/Generators/src/component/FlatSmearVertex.h rename to Gen/Generators/src/Components/FlatSmearVertex.h diff --git a/Gen/Generators/src/component/FlatZSmearVertex.cpp b/Gen/Generators/src/Components/FlatZSmearVertex.cpp similarity index 100% rename from Gen/Generators/src/component/FlatZSmearVertex.cpp rename to Gen/Generators/src/Components/FlatZSmearVertex.cpp diff --git a/Gen/Generators/src/component/FlatZSmearVertex.h b/Gen/Generators/src/Components/FlatZSmearVertex.h similarity index 100% rename from Gen/Generators/src/component/FlatZSmearVertex.h rename to Gen/Generators/src/Components/FlatZSmearVertex.h diff --git a/Gen/Generators/src/component/GenerationComp.cpp b/Gen/Generators/src/Components/GenerationComp.cpp similarity index 100% rename from Gen/Generators/src/component/GenerationComp.cpp rename to Gen/Generators/src/Components/GenerationComp.cpp diff --git a/Gen/Generators/src/component/HepMCWriter.cpp b/Gen/Generators/src/Components/HepMCWriter.cpp similarity index 100% rename from Gen/Generators/src/component/HepMCWriter.cpp rename to Gen/Generators/src/Components/HepMCWriter.cpp diff --git a/Gen/Generators/src/component/HistoSmearVertex.cpp b/Gen/Generators/src/Components/HistoSmearVertex.cpp similarity index 100% rename from Gen/Generators/src/component/HistoSmearVertex.cpp rename to Gen/Generators/src/Components/HistoSmearVertex.cpp diff --git a/Gen/Generators/src/component/HistoSmearVertex.h b/Gen/Generators/src/Components/HistoSmearVertex.h similarity index 100% rename from Gen/Generators/src/component/HistoSmearVertex.h rename to Gen/Generators/src/Components/HistoSmearVertex.h diff --git a/Gen/Generators/src/component/Inclusive.cpp b/Gen/Generators/src/Components/Inclusive.cpp similarity index 100% rename from Gen/Generators/src/component/Inclusive.cpp rename to Gen/Generators/src/Components/Inclusive.cpp diff --git a/Gen/Generators/src/component/Inclusive.h b/Gen/Generators/src/Components/Inclusive.h similarity index 100% rename from Gen/Generators/src/component/Inclusive.h rename to Gen/Generators/src/Components/Inclusive.h diff --git a/Gen/Generators/src/component/MergedEventsFilter.cpp b/Gen/Generators/src/Components/MergedEventsFilter.cpp similarity index 100% rename from Gen/Generators/src/component/MergedEventsFilter.cpp rename to Gen/Generators/src/Components/MergedEventsFilter.cpp diff --git a/Gen/Generators/src/component/MergedEventsFilter.h b/Gen/Generators/src/Components/MergedEventsFilter.h similarity index 100% rename from Gen/Generators/src/component/MergedEventsFilter.h rename to Gen/Generators/src/Components/MergedEventsFilter.h diff --git a/Gen/Generators/src/component/MinimumBias.cpp b/Gen/Generators/src/Components/MinimumBias.cpp similarity index 100% rename from Gen/Generators/src/component/MinimumBias.cpp rename to Gen/Generators/src/Components/MinimumBias.cpp diff --git a/Gen/Generators/src/component/MinimumBias.h b/Gen/Generators/src/Components/MinimumBias.h similarity index 100% rename from Gen/Generators/src/component/MinimumBias.h rename to Gen/Generators/src/Components/MinimumBias.h diff --git a/Gen/Generators/src/component/PoissonPileUp.cpp b/Gen/Generators/src/Components/PoissonPileUp.cpp similarity index 100% rename from Gen/Generators/src/component/PoissonPileUp.cpp rename to Gen/Generators/src/Components/PoissonPileUp.cpp diff --git a/Gen/Generators/src/component/PoissonPileUp.h b/Gen/Generators/src/Components/PoissonPileUp.h similarity index 100% rename from Gen/Generators/src/component/PoissonPileUp.h rename to Gen/Generators/src/Components/PoissonPileUp.h diff --git a/Gen/Generators/src/component/ReadHepMCAsciiFile.cpp b/Gen/Generators/src/Components/ReadHepMCAsciiFile.cpp similarity index 89% rename from Gen/Generators/src/component/ReadHepMCAsciiFile.cpp rename to Gen/Generators/src/Components/ReadHepMCAsciiFile.cpp index b59cb9666978ecf5dd7e51292704144fdf9686ea..030809d0d129a6461a1e9c1e162162b197872c16 100755 --- a/Gen/Generators/src/component/ReadHepMCAsciiFile.cpp +++ b/Gen/Generators/src/Components/ReadHepMCAsciiFile.cpp @@ -57,8 +57,7 @@ class ReadHepMCAsciiFile { public: /// initialization of the tool - virtual StatusCode initialize () - { + virtual StatusCode initialize () override { StatusCode sc = GaudiTool::initialize () ; if ( sc.isFailure() ) { return sc ; } /// check the output file @@ -69,15 +68,14 @@ public: return StatusCode::SUCCESS ; } /// finalization of the tool - virtual StatusCode finalize () - { + virtual StatusCode finalize () override { // delete the stream (close the file!) if ( 0 != m_file ) { delete m_file ; m_file = 0 ; } // finalize the base class ; return GaudiTool::finalize() ; } public: - virtual StatusCode initializeGenerator() { return StatusCode::SUCCESS ; } + virtual StatusCode initializeGenerator() override { return StatusCode::SUCCESS ; } // =================================================================== /** Generate a primary interaction. @@ -91,24 +89,22 @@ public: */ virtual StatusCode generateEvent ( HepMC3::GenEventPtr theEvent , - LHCb::GenCollision * theInfo , HepRandomEnginePtr & ) const; + LHCb::GenCollision * theInfo , HepRandomEnginePtr & ) const override; // =================================================================== /// Declare a particle stable to the production generator. - virtual void setStable - ( const LHCb::ParticleProperty * /* thePP */ ) { } + virtual void setStable( const LHCb::ParticleProperty* /* thePP */ ) override {}; // =================================================================== /** Update the properties of the particle in the production generator * with values from the particle property service. */ // =================================================================== - virtual void updateParticleProperties - ( const LHCb::ParticleProperty * /* thePP */ ) {}; + virtual void updateParticleProperties( const LHCb::ParticleProperty * /* thePP */ ) override {}; // =================================================================== /// Turn off the fragmentation step in the generation. - virtual void turnOffFragmentation ( ) {} ; + virtual void turnOffFragmentation() override {}; // =================================================================== /// Turn on the fragmentation step in the generation. - virtual void turnOnFragmentation ( ) {} ; + virtual void turnOnFragmentation() override {}; // =================================================================== /** Hadronize the event. * @param[in,out] theEvent Unfragmented event to hadronize. @@ -118,28 +114,24 @@ public: virtual StatusCode hadronize ( HepMC3::GenEventPtr /* theEvent */ , LHCb::GenCollision * /* theInfo */, - HepRandomEnginePtr & ) { return StatusCode::SUCCESS ; } + HepRandomEnginePtr & ) override { return StatusCode::SUCCESS; }; // =================================================================== /// Save the parton level event (when the fragmentation is turned off) - virtual void savePartonEvent - ( HepMC3::GenEventPtr /* theEvent */ ) {} ; + virtual void savePartonEvent( HepMC3::GenEventPtr /* theEvent */ ) override {}; // =================================================================== /// Retrieve the previously saved parton event to re-hadronize it. - virtual void retrievePartonEvent - ( HepMC3::GenEventPtr /* theEvent */ ) {} ; + virtual void retrievePartonEvent( HepMC3::GenEventPtr /* theEvent */ ) override {}; // =================================================================== /// Print configuration of production generator - virtual void printRunningConditions( ) const {} ; + virtual void printRunningConditions( ) const override {}; // =================================================================== /** Define special particles whose properties must not be updated from * the particle property service (like mass of top quark, ...) */ - virtual bool isSpecialParticle - ( const LHCb::ParticleProperty* /* thePP */ ) const { return true ; } + virtual bool isSpecialParticle( const LHCb::ParticleProperty* /* thePP */ ) const override { return true; }; // =================================================================== /// Prepare the generator to force fragmentationto in the thePdgId flavour. - virtual StatusCode setupForcedFragmentation - ( const int /* thePdgId */ ) { return StatusCode::SUCCESS ; }; + virtual StatusCode setupForcedFragmentation( const int /* thePdgId */ ) override { return StatusCode::SUCCESS; }; // =================================================================== /** standard constructor * @param type tool type(?) diff --git a/Gen/Generators/src/component/SaveSignalBInformation.cpp b/Gen/Generators/src/Components/SaveSignalBInformation.cpp similarity index 100% rename from Gen/Generators/src/component/SaveSignalBInformation.cpp rename to Gen/Generators/src/Components/SaveSignalBInformation.cpp diff --git a/Gen/Generators/src/component/SaveSignalBInformation.h b/Gen/Generators/src/Components/SaveSignalBInformation.h similarity index 100% rename from Gen/Generators/src/component/SaveSignalBInformation.h rename to Gen/Generators/src/Components/SaveSignalBInformation.h diff --git a/Gen/Generators/src/component/SignalForcedFragmentation.cpp b/Gen/Generators/src/Components/SignalForcedFragmentation.cpp similarity index 100% rename from Gen/Generators/src/component/SignalForcedFragmentation.cpp rename to Gen/Generators/src/Components/SignalForcedFragmentation.cpp diff --git a/Gen/Generators/src/component/SignalForcedFragmentation.h b/Gen/Generators/src/Components/SignalForcedFragmentation.h similarity index 100% rename from Gen/Generators/src/component/SignalForcedFragmentation.h rename to Gen/Generators/src/Components/SignalForcedFragmentation.h diff --git a/Gen/Generators/src/component/SignalPlain.cpp b/Gen/Generators/src/Components/SignalPlain.cpp similarity index 100% rename from Gen/Generators/src/component/SignalPlain.cpp rename to Gen/Generators/src/Components/SignalPlain.cpp diff --git a/Gen/Generators/src/component/SignalPlain.h b/Gen/Generators/src/Components/SignalPlain.h similarity index 100% rename from Gen/Generators/src/component/SignalPlain.h rename to Gen/Generators/src/Components/SignalPlain.h diff --git a/Gen/Generators/src/component/SignalRepeatedHadronization.cpp b/Gen/Generators/src/Components/SignalRepeatedHadronization.cpp similarity index 100% rename from Gen/Generators/src/component/SignalRepeatedHadronization.cpp rename to Gen/Generators/src/Components/SignalRepeatedHadronization.cpp diff --git a/Gen/Generators/src/component/SignalRepeatedHadronization.h b/Gen/Generators/src/Components/SignalRepeatedHadronization.h similarity index 100% rename from Gen/Generators/src/component/SignalRepeatedHadronization.h rename to Gen/Generators/src/Components/SignalRepeatedHadronization.h diff --git a/Gen/Generators/src/component/StandAloneDecayTool.cpp b/Gen/Generators/src/Components/StandAloneDecayTool.cpp similarity index 100% rename from Gen/Generators/src/component/StandAloneDecayTool.cpp rename to Gen/Generators/src/Components/StandAloneDecayTool.cpp diff --git a/Gen/Generators/src/component/StandAloneDecayTool.h b/Gen/Generators/src/Components/StandAloneDecayTool.h similarity index 100% rename from Gen/Generators/src/component/StandAloneDecayTool.h rename to Gen/Generators/src/Components/StandAloneDecayTool.h diff --git a/Gen/Generators/src/component/UniformSmearVertex.cpp b/Gen/Generators/src/Components/UniformSmearVertex.cpp similarity index 100% rename from Gen/Generators/src/component/UniformSmearVertex.cpp rename to Gen/Generators/src/Components/UniformSmearVertex.cpp diff --git a/Gen/Generators/src/component/UniformSmearVertex.h b/Gen/Generators/src/Components/UniformSmearVertex.h similarity index 97% rename from Gen/Generators/src/component/UniformSmearVertex.h rename to Gen/Generators/src/Components/UniformSmearVertex.h index 9ad1c792f7b2967e459f409d492b16fe675e1596..b3f80ab094ffeed0300170ff3a501e00ec63fe51 100755 --- a/Gen/Generators/src/component/UniformSmearVertex.h +++ b/Gen/Generators/src/Components/UniformSmearVertex.h @@ -42,14 +42,14 @@ class UniformSmearVertex : public GaudiTool, virtual ~UniformSmearVertex( ); ///< Destructor /// Initialize method - virtual StatusCode initialize( ) ; + virtual StatusCode initialize() override; /** Implements IVertexSmearingTool::smearVertex. * Does the same than BeamSpotSmearVertex::smearVertex for the x and y * direction but generates flat distribution for the z-coordinate of * the primary vertex. */ - virtual StatusCode smearVertex( HepMC3::GenEventPtr theEvent , HepRandomEnginePtr & engine ) ; + virtual StatusCode smearVertex( HepMC3::GenEventPtr theEvent , HepRandomEnginePtr & engine ) override; private: /// Maximum value for the r coordinate of the vertex (set by options) diff --git a/Gen/Generators/src/component/VariableLuminosity.cpp b/Gen/Generators/src/Components/VariableLuminosity.cpp similarity index 100% rename from Gen/Generators/src/component/VariableLuminosity.cpp rename to Gen/Generators/src/Components/VariableLuminosity.cpp diff --git a/Gen/Generators/src/component/VariableLuminosity.h b/Gen/Generators/src/Components/VariableLuminosity.h similarity index 95% rename from Gen/Generators/src/component/VariableLuminosity.h rename to Gen/Generators/src/Components/VariableLuminosity.h index fdb9edd34440f96273e219a02a09b43d03e1ff4a..86e466a3ab193b19434509eabc6ea5a182fff36b 100755 --- a/Gen/Generators/src/component/VariableLuminosity.h +++ b/Gen/Generators/src/Components/VariableLuminosity.h @@ -39,10 +39,10 @@ public: virtual ~VariableLuminosity( ); ///< Destructor /// Initialize method - virtual StatusCode initialize( ) ; + virtual StatusCode initialize() override; /// Finalize method - virtual StatusCode finalize( ) ; + virtual StatusCode finalize() override; /** Compute number of interactions and returns luminosity * Implements IPileUpTool::numberOfPileUp. @@ -52,10 +52,10 @@ public: * The mean luminosity is given in options so the maximum luminosity * (at t=0) is computed using the fill duration. */ - virtual unsigned int numberOfPileUp( HepRandomEnginePtr & engine ) ; + virtual unsigned int numberOfPileUp( HepRandomEnginePtr & engine ) override; /// Implements IPileUpTool::printPileUpCounters - virtual void printPileUpCounters( ) ; + virtual void printPileUpCounters() override; private: /// Location where to store FSR counters (set by options) diff --git a/Gen/Generators/src/component/XmlCounterLogFile.cpp b/Gen/Generators/src/Components/XmlCounterLogFile.cpp similarity index 100% rename from Gen/Generators/src/component/XmlCounterLogFile.cpp rename to Gen/Generators/src/Components/XmlCounterLogFile.cpp diff --git a/Gen/Generators/src/component/XmlCounterLogFile.h b/Gen/Generators/src/Components/XmlCounterLogFile.h similarity index 81% rename from Gen/Generators/src/component/XmlCounterLogFile.h rename to Gen/Generators/src/Components/XmlCounterLogFile.h index dd78957b9aeba60a77640dcf2cd39287e24c9404..92c9ff3055f41463a5067a18e6b6fc2633b7d5c7 100644 --- a/Gen/Generators/src/component/XmlCounterLogFile.h +++ b/Gen/Generators/src/Components/XmlCounterLogFile.h @@ -37,34 +37,34 @@ public: virtual ~XmlCounterLogFile( ); ///< Destructor /// Initialize method - virtual StatusCode initialize( ) ; + virtual StatusCode initialize() override; /// Finalize method - virtual StatusCode finalize( ) ; + virtual StatusCode finalize() override; /// Add efficiency number virtual void addEfficiency( const std::string & name , const unsigned int after , const unsigned int before , const double fraction , - const double err_fraction ) ; + const double err_fraction ) override; - virtual void addCounter( const std::string & name , const unsigned int value ) ; + virtual void addCounter( const std::string & name , const unsigned int value ) override; virtual void addFraction( const std::string & name , const unsigned int number , - const double fraction , const double err_fraction ) ; + const double fraction , const double err_fraction ) override; virtual void addCrossSection( const std::string & name , const unsigned int processId , const unsigned int number , - const double value ) ; + const double value ) override; - virtual void addEventType( const unsigned int evType ) ; + virtual void addEventType( const unsigned int evType ) override; /// Add the Gauss version - virtual void addGaussVersion( const std::string & version ) ; + virtual void addGaussVersion( const std::string & version ) override; - virtual void addMethod( const std::string & type ) ; + virtual void addMethod( const std::string & type ) override; - virtual void addGenerator( const std::string & generator ) ; + virtual void addGenerator( const std::string & generator ) override; protected: diff --git a/Gen/Generators/src/component/not_yet_ported/Special.cpp b/Gen/Generators/src/Components/not_yet_ported/Special.cpp similarity index 100% rename from Gen/Generators/src/component/not_yet_ported/Special.cpp rename to Gen/Generators/src/Components/not_yet_ported/Special.cpp diff --git a/Gen/Generators/src/component/not_yet_ported/Special.h b/Gen/Generators/src/Components/not_yet_ported/Special.h similarity index 100% rename from Gen/Generators/src/component/not_yet_ported/Special.h rename to Gen/Generators/src/Components/not_yet_ported/Special.h diff --git a/Gen/Generators/src/component/scrapyard/ApplyPhotos.cpp b/Gen/Generators/src/Components/scrapyard/ApplyPhotos.cpp similarity index 100% rename from Gen/Generators/src/component/scrapyard/ApplyPhotos.cpp rename to Gen/Generators/src/Components/scrapyard/ApplyPhotos.cpp diff --git a/Gen/Generators/src/component/scrapyard/ApplyPhotos.h b/Gen/Generators/src/Components/scrapyard/ApplyPhotos.h similarity index 100% rename from Gen/Generators/src/component/scrapyard/ApplyPhotos.h rename to Gen/Generators/src/Components/scrapyard/ApplyPhotos.h diff --git a/Gen/Generators/src/component/scrapyard/RepeatDecay.cpp b/Gen/Generators/src/Components/scrapyard/RepeatDecay.cpp similarity index 100% rename from Gen/Generators/src/component/scrapyard/RepeatDecay.cpp rename to Gen/Generators/src/Components/scrapyard/RepeatDecay.cpp diff --git a/Gen/Generators/src/component/scrapyard/RepeatDecay.h b/Gen/Generators/src/Components/scrapyard/RepeatDecay.h similarity index 100% rename from Gen/Generators/src/component/scrapyard/RepeatDecay.h rename to Gen/Generators/src/Components/scrapyard/RepeatDecay.h diff --git a/Gen/Generators/src/Lib/GenCounters.cpp b/Gen/Generators/src/Lib/GenCounters.cpp index 3e7f1100e347edb89a47ea3368f04e20bb8d0531..e3e28249dd688b52452f777d7f654600c1cbeed1 100755 --- a/Gen/Generators/src/Lib/GenCounters.cpp +++ b/Gen/Generators/src/Lib/GenCounters.cpp @@ -15,8 +15,8 @@ #include "Generators/GenCounters.h" // Generators -#include "HepMCUtils/HepMCUtils.h" #include "HepMCUser/Status.h" +#include "HepMCUtils/HepMCUtils.h" // HepMC #include "HepMC3/GenEvent.h" @@ -27,8 +27,8 @@ #include "Defaults/HepMCAttributes.h" // Event -#include "Event/GenFSR.h" #include "Event/GenCountersFSR.h" +#include "Event/GenFSR.h" // LHCb #include "Kernel/ParticleID.h" @@ -36,127 +36,123 @@ //============================================================================= // Function to test if a HepMC3::GenParticle is a B hadron at root of decay //============================================================================= -struct isRootB : std::unary_function< const HepMC3::ConstGenParticlePtr &, bool > { +struct isRootB : std::unary_function<const HepMC3::ConstGenParticlePtr&, bool> { /// test operator, returns true if it is a root B - bool operator() ( const HepMC3::ConstGenParticlePtr & part ) const { + bool operator()( const HepMC3::ConstGenParticlePtr& part ) const { // Do not consider documentation and special particles - if ( part -> status() == HepMC3::Status::DocumentationParticle ) - return false ; - + if ( part->status() == HepMC3::Status::DocumentationParticle ) return false; + // Check if particle has a b quark - LHCb::ParticleID thePid( part -> pdg_id() ) ; - if ( ! thePid.hasBottom() ) return false ; + LHCb::ParticleID thePid( part->pdg_id() ); + if ( !thePid.hasBottom() ) return false; // Check if particle has a mother - if ( ! part -> production_vertex() ) return true ; + if ( !part->production_vertex() ) return true; - // Check all parents of the B - for ( auto & parent : HepMC3::Relatives::PARENTS(part) ) { - LHCb::ParticleID parentID( parent -> pdg_id() ) ; - if ( parentID.hasBottom() && (thePid.abspid()==5 || parentID.abspid()!=5)) return false ; + // Check all parents of the B + for ( auto& parent : HepMC3::Relatives::PARENTS( part ) ) { + LHCb::ParticleID parentID( parent->pdg_id() ); + if ( parentID.hasBottom() && ( thePid.abspid() == 5 || parentID.abspid() != 5 ) ) return false; } // If no parent is a B, then it is a root B - return true ; + return true; } }; //============================================================================= // Function to test if a HepMC3::GenParticle is a D hadron at root of decay //============================================================================= -struct isRootD : std::unary_function< const HepMC3::ConstGenParticlePtr &, bool > { +struct isRootD : std::unary_function<const HepMC3::ConstGenParticlePtr&, bool> { /// test operator, returns true if it is a root D - bool operator() ( const HepMC3::ConstGenParticlePtr & part ) const { + bool operator()( const HepMC3::ConstGenParticlePtr& part ) const { // Do not consider documentation and special particles - if ( part -> status() == HepMC3::Status::DocumentationParticle ) - return false ; + if ( part->status() == HepMC3::Status::DocumentationParticle ) return false; // Check if particle has a c quark - LHCb::ParticleID thePid( part -> pdg_id() ) ; - if ( ! thePid.hasCharm() ) return false ; - if ( thePid.hasBottom() ) return false ; + LHCb::ParticleID thePid( part->pdg_id() ); + if ( !thePid.hasCharm() ) return false; + if ( thePid.hasBottom() ) return false; // Check if particle has a mother - if ( ! part -> production_vertex() ) return true ; + if ( !part->production_vertex() ) return true; // Check all parents of the D - for ( auto & parent : HepMC3::Relatives::PARENTS(part) ) { - LHCb::ParticleID parentID( parent -> pdg_id() ) ; - if ( parentID.hasCharm() && (parentID.abspid()!=4 || thePid.abspid()==4)) return false ; + for ( auto& parent : HepMC3::Relatives::PARENTS( part ) ) { + LHCb::ParticleID parentID( parent->pdg_id() ); + if ( parentID.hasCharm() && ( parentID.abspid() != 4 || thePid.abspid() == 4 ) ) return false; } // If no parent is a D, then it is a root D - return true ; + return true; } }; //============================================================================= // Function to test if a HepMC3::GenParticle is a B hadron at end of decay tree //============================================================================= -struct isEndB : std::unary_function< const HepMC3::ConstGenParticlePtr &, bool > { +struct isEndB : std::unary_function<const HepMC3::ConstGenParticlePtr&, bool> { /// Test operator. Returns true if particle is the last B - bool operator() ( const HepMC3::ConstGenParticlePtr & part ) const { + bool operator()( const HepMC3::ConstGenParticlePtr& part ) const { // Do not look at special particles - if ( part -> status() == HepMC3::Status::DocumentationParticle ) - return false ; + if ( part->status() == HepMC3::Status::DocumentationParticle ) return false; // Test if particle has a b quark - LHCb::ParticleID thePid( part -> pdg_id() ) ; - if ( ! thePid.hasBottom() ) return false ; + LHCb::ParticleID thePid( part->pdg_id() ); + if ( !thePid.hasBottom() ) return false; // test oscillation - if ( ! HepMCUtils::IsBAtProduction( part ) ) return false ; + if ( !HepMCUtils::IsBAtProduction( part ) ) return false; // Test if the B has daughters (here we are sure it has not oscillated) - if ( ! part -> end_vertex() ) return true ; - + if ( !part->end_vertex() ) return true; + // Loop over daughters to check if they are B hadrons - for ( auto & child : HepMC3::Relatives::CHILDREN(part) ){ - LHCb::ParticleID childID( child -> pdg_id() ) ; + for ( auto& child : HepMC3::Relatives::CHILDREN( part ) ) { + LHCb::ParticleID childID( child->pdg_id() ); if ( childID.hasBottom() ) { - if ( child -> pdg_id() == - part -> pdg_id() ) return true ; - return false ; + if ( child->pdg_id() == -part->pdg_id() ) return true; + return false; } } // If not, then it is a end B - return true ; + return true; } }; //============================================================================= // Function to test if a HepMC3::GenParticle is a D hadron at end of decay tree //============================================================================= -struct isEndD : std::unary_function< const HepMC3::ConstGenParticlePtr &, bool > { +struct isEndD : std::unary_function<const HepMC3::ConstGenParticlePtr&, bool> { /// Test operator. Returns true if it is the last D - bool operator() ( const HepMC3::ConstGenParticlePtr & part ) const { + bool operator()( const HepMC3::ConstGenParticlePtr& part ) const { // Do not look at special particles - if ( part -> status() == HepMC3::Status::DocumentationParticle ) - return false ; + if ( part->status() == HepMC3::Status::DocumentationParticle ) return false; // Check if it has a c quark - LHCb::ParticleID thePid( part -> pdg_id() ) ; - if ( ! thePid.hasCharm() ) return false ; + LHCb::ParticleID thePid( part->pdg_id() ); + if ( !thePid.hasCharm() ) return false; // Check if it has daughters - if ( ! part -> end_vertex() ) return true ; + if ( !part->end_vertex() ) return true; // Loop over the daughters to find a D hadron - for ( auto & child : HepMC3::Relatives::CHILDREN(part) ) { - LHCb::ParticleID childID( child -> pdg_id() ) ; - if ( childID.hasCharm() ) return false ; + for ( auto& child : HepMC3::Relatives::CHILDREN( part ) ) { + LHCb::ParticleID childID( child->pdg_id() ); + if ( childID.hasCharm() ) return false; } // If not, then it is a End D - return true ; + return true; } }; @@ -169,452 +165,359 @@ struct isEndD : std::unary_function< const HepMC3::ConstGenParticlePtr &, bool > //============================================================================= // Setup names of B hadron counters //============================================================================= -void GenCounters::setupBHadronCountersNames( BHadronCNames & BC , - BHadronCNames & antiBC ) { - BC[ Bd ] = "B0" ; - BC[ Bu ] = "B+" ; - BC[ Bs ] = "Bs0" ; - BC[ Bc ] = "Bc+" ; - BC[ bBaryon ] = "b-Baryon" ; - - antiBC[ Bd ] = "anti-B0" ; - antiBC[ Bu ] = "B-" ; - antiBC[ Bs ] = "anti-Bs0" ; - antiBC[ Bc ] = "Bc-" ; - antiBC[ bBaryon ] = "anti-b-Baryon" ; +void GenCounters::setupBHadronCountersNames( BHadronCNames& BC, BHadronCNames& antiBC ) { + BC[Bd] = "B0"; + BC[Bu] = "B+"; + BC[Bs] = "Bs0"; + BC[Bc] = "Bc+"; + BC[bBaryon] = "b-Baryon"; + + antiBC[Bd] = "anti-B0"; + antiBC[Bu] = "B-"; + antiBC[Bs] = "anti-Bs0"; + antiBC[Bc] = "Bc-"; + antiBC[bBaryon] = "anti-b-Baryon"; } //============================================================================= // Setup names of D hadron counters //============================================================================= -void GenCounters::setupDHadronCountersNames( DHadronCNames & DC , - DHadronCNames & antiDC ) { - DC[ D0 ] = "D0" ; - DC[ Dch ] = "D+" ; - DC[ Ds ] = "Ds+" ; - DC[ cBaryon ] = "c-Baryon" ; - - antiDC[ D0 ] = "anti-D0" ; - antiDC[ Dch ] = "D-" ; - antiDC[ Ds ] = "Ds-" ; - antiDC[ cBaryon ] = "anti-c-Baryon" ; +void GenCounters::setupDHadronCountersNames( DHadronCNames& DC, DHadronCNames& antiDC ) { + DC[D0] = "D0"; + DC[Dch] = "D+"; + DC[Ds] = "Ds+"; + DC[cBaryon] = "c-Baryon"; + + antiDC[D0] = "anti-D0"; + antiDC[Dch] = "D-"; + antiDC[Ds] = "Ds-"; + antiDC[cBaryon] = "anti-c-Baryon"; } //============================================================================= // Setup names of B excited states //============================================================================= -void GenCounters::setupExcitedCountersNames( ExcitedCNames & B , - const std::string & root ) { - B[ _0star ] = root + "(L=0,J=0)"; - B[ _1star ] = root + "* (L=0, J=1)" ; - B[ _2star ] = root + "** (L=1, J=0,1,2)" ; +void GenCounters::setupExcitedCountersNames( ExcitedCNames& B, const std::string& root ) { + B[_0star] = root + "(L=0,J=0)"; + B[_1star] = root + "* (L=0, J=1)"; + B[_2star] = root + "** (L=1, J=0,1,2)"; } //============================================================================= // Count excited states counters //============================================================================= -void GenCounters::updateExcitedStatesCounters -( const HepMC3::GenEvent* theEvent , ExcitedCounter & thebExcitedC , - ExcitedCounter & thecExcitedC ) { +void GenCounters::updateExcitedStatesCounters( const HepMC3::GenEvent* theEvent, ExcitedCounter& thebExcitedC, + ExcitedCounter& thecExcitedC ) { // Signal Vertex // In HepMC3 now stored as an event attribute. If it does not exist, the default // constructor is used to construct the attribute. This will yield a GenVertexPtr // pointing to nullptr. - auto signal_process_vertex = - theEvent->attribute<HepMC3::VertexAttribute>( Gaussino::HepMC::Attributes::SignalProcessVertex )->value(); + auto signal_process_vertex_attribute = + theEvent->attribute<HepMC3::VertexAttribute>( Gaussino::HepMC::Attributes::SignalProcessVertex ); + HepMC3::ConstGenVertexPtr signal_process_vertex{nullptr}; + if ( signal_process_vertex_attribute ) { signal_process_vertex = signal_process_vertex_attribute->value(); } // Count B : - std::vector< HepMC3::ConstGenParticlePtr > rootB ; - HepMC3::copy_if( std::begin(theEvent->particles()) , std::end(theEvent->particles()) , - std::back_inserter( rootB ) , isRootB() ) ; + std::vector<HepMC3::ConstGenParticlePtr> rootB; + HepMC3::copy_if( std::begin( theEvent->particles() ), std::end( theEvent->particles() ), std::back_inserter( rootB ), + isRootB() ); - std::vector< HepMC3::ConstGenParticlePtr >::const_iterator iter ; + std::vector<HepMC3::ConstGenParticlePtr>::const_iterator iter; - for ( iter = rootB.begin() ; iter != rootB.end() ; ++iter ) { + for ( iter = rootB.begin(); iter != rootB.end(); ++iter ) { if ( signal_process_vertex ) { - if ( ! HepMCUtils::commonTrees( signal_process_vertex, - (*iter) -> end_vertex() ) ) - continue ; + if ( !HepMCUtils::commonTrees( signal_process_vertex, ( *iter )->end_vertex() ) ) continue; } - LHCb::ParticleID thePid( (*iter) -> pdg_id() ) ; + LHCb::ParticleID thePid( ( *iter )->pdg_id() ); if ( thePid.isMeson() ) { if ( 0 == thePid.lSpin() ) { - if ( 1 == thePid.jSpin() ) ++thebExcitedC[ _0star ] ; - else ++thebExcitedC[ _1star ] ; - } else ++thebExcitedC[ _2star ] ; + if ( 1 == thePid.jSpin() ) + ++thebExcitedC[_0star]; + else + ++thebExcitedC[_1star]; + } else + ++thebExcitedC[_2star]; } } // Count D : - std::vector< HepMC3::ConstGenParticlePtr > rootD ; - HepMC3::copy_if( std::begin(theEvent->particles()) , std::end(theEvent->particles()), - std::back_inserter( rootD ) , isRootD() ) ; - - for ( iter = rootD.begin() ; iter != rootD.end() ; ++iter ) { - if ( signal_process_vertex) { - if ( ! HepMCUtils::commonTrees( signal_process_vertex, - (*iter) -> end_vertex() ) ) - continue ; + std::vector<HepMC3::ConstGenParticlePtr> rootD; + HepMC3::copy_if( std::begin( theEvent->particles() ), std::end( theEvent->particles() ), std::back_inserter( rootD ), + isRootD() ); + + for ( iter = rootD.begin(); iter != rootD.end(); ++iter ) { + if ( signal_process_vertex ) { + if ( !HepMCUtils::commonTrees( signal_process_vertex, ( *iter )->end_vertex() ) ) continue; } - - LHCb::ParticleID thePid( (*iter) -> pdg_id() ) ; + + LHCb::ParticleID thePid( ( *iter )->pdg_id() ); if ( thePid.isMeson() ) { if ( 0 == thePid.lSpin() ) { - if ( 1 == thePid.jSpin() ) ++thecExcitedC[ _0star ] ; - else ++thecExcitedC[ _1star ] ; - } else ++thecExcitedC[ _2star ] ; + if ( 1 == thePid.jSpin() ) + ++thecExcitedC[_0star]; + else + ++thecExcitedC[_1star]; + } else + ++thecExcitedC[_2star]; } - } + } } //============================================================================= // Update the counters of number of different hadrons in selected events //============================================================================= -void GenCounters::updateHadronCounters( const HepMC3::GenEvent* theEvent , - BHadronCounter & thebHadC , - BHadronCounter & theantibHadC , - DHadronCounter & thecHadC , - DHadronCounter & theanticHadC , - std::atomic_uint & thebbCounter , - std::atomic_uint & theccCounter ) { +void GenCounters::updateHadronCounters( const HepMC3::GenEvent* theEvent, BHadronCounter& thebHadC, + BHadronCounter& theantibHadC, DHadronCounter& thecHadC, + DHadronCounter& theanticHadC, std::atomic_uint& thebbCounter, + std::atomic_uint& theccCounter ) { // Signal vertex // In HepMC3 now stored as an event attribute. If it does not exist, the default // constructor is used to construct the attribute. This will yield a GenVertexPtr // pointing to nullptr. - auto signal_process_vertex = - theEvent->attribute<HepMC3::VertexAttribute>( Gaussino::HepMC::Attributes::SignalProcessVertex )->value(); + auto signal_process_vertex_attribute = + theEvent->attribute<HepMC3::VertexAttribute>( Gaussino::HepMC::Attributes::SignalProcessVertex ); + HepMC3::ConstGenVertexPtr signal_process_vertex{nullptr}; + if ( signal_process_vertex_attribute ) { signal_process_vertex = signal_process_vertex_attribute->value(); } // Count B: - std::vector< HepMC3::ConstGenParticlePtr > endB ; - HepMC3::copy_if( std::begin(theEvent->particles()) , std::end(theEvent->particles()), - std::back_inserter( endB ) , isEndB() ) ; - std::vector< HepMC3::ConstGenParticlePtr >::const_iterator iter ; - - for ( iter = endB.begin() ; iter != endB.end() ; ++iter ) { + std::vector<HepMC3::ConstGenParticlePtr> endB; + HepMC3::copy_if( std::begin( theEvent->particles() ), std::end( theEvent->particles() ), std::back_inserter( endB ), + isEndB() ); + std::vector<HepMC3::ConstGenParticlePtr>::const_iterator iter; + + for ( iter = endB.begin(); iter != endB.end(); ++iter ) { if ( signal_process_vertex ) { - if ( HepMCUtils::commonTrees( signal_process_vertex, - (*iter) -> end_vertex() ) ) - continue ; + if ( HepMCUtils::commonTrees( signal_process_vertex, ( *iter )->end_vertex() ) ) continue; } - - LHCb::ParticleID thePid( (*iter) -> pdg_id() ) ; - + + LHCb::ParticleID thePid( ( *iter )->pdg_id() ); + if ( thePid.isMeson() ) { if ( thePid.pid() > 0 ) { - if ( thePid.hasUp() ) ++thebHadC[ Bu ] ; - else if ( thePid.hasDown() ) ++thebHadC[ Bd ] ; - else if ( thePid.hasStrange() ) ++thebHadC[ Bs ] ; - else if ( thePid.hasCharm() ) ++thebHadC[ Bc ] ; - else ++thebbCounter ; + if ( thePid.hasUp() ) + ++thebHadC[Bu]; + else if ( thePid.hasDown() ) + ++thebHadC[Bd]; + else if ( thePid.hasStrange() ) + ++thebHadC[Bs]; + else if ( thePid.hasCharm() ) + ++thebHadC[Bc]; + else + ++thebbCounter; } else { - if ( thePid.hasUp() ) ++theantibHadC[ Bu ] ; - else if ( thePid.hasDown() ) ++theantibHadC[ Bd ] ; - else if ( thePid.hasStrange() ) ++theantibHadC[ Bs ] ; - else if ( thePid.hasCharm() ) ++theantibHadC[ Bc ] ; - else ++thebbCounter ; + if ( thePid.hasUp() ) + ++theantibHadC[Bu]; + else if ( thePid.hasDown() ) + ++theantibHadC[Bd]; + else if ( thePid.hasStrange() ) + ++theantibHadC[Bs]; + else if ( thePid.hasCharm() ) + ++theantibHadC[Bc]; + else + ++thebbCounter; } } else if ( thePid.isBaryon() ) { - if ( thePid.pid() < 0 ) ++thebHadC[ bBaryon ] ; - else ++theantibHadC[ bBaryon ] ; + if ( thePid.pid() < 0 ) + ++thebHadC[bBaryon]; + else + ++theantibHadC[bBaryon]; } } - - std::vector< HepMC3::ConstGenParticlePtr > endD ; - HepMC3::copy_if( std::begin(theEvent->particles()) , std::end(theEvent->particles()), - std::back_inserter( endD ) , isEndD() ) ; - - for ( iter = endD.begin() ; iter != endD.end() ; ++iter ) { + + std::vector<HepMC3::ConstGenParticlePtr> endD; + HepMC3::copy_if( std::begin( theEvent->particles() ), std::end( theEvent->particles() ), std::back_inserter( endD ), + isEndD() ); + + for ( iter = endD.begin(); iter != endD.end(); ++iter ) { if ( signal_process_vertex ) { - if ( HepMCUtils::commonTrees( signal_process_vertex, - (*iter) -> end_vertex() ) ) - continue ; + if ( HepMCUtils::commonTrees( signal_process_vertex, ( *iter )->end_vertex() ) ) continue; } - - LHCb::ParticleID thePid( (*iter) -> pdg_id() ) ; - + + LHCb::ParticleID thePid( ( *iter )->pdg_id() ); + if ( thePid.isMeson() ) { if ( thePid.pid() > 0 ) { - if ( thePid.hasUp() ) ++thecHadC[ D0 ] ; - else if ( thePid.hasDown() ) ++thecHadC[ Dch ] ; - else if ( thePid.hasStrange() ) ++thecHadC[ Ds ] ; - else ++theccCounter ; + if ( thePid.hasUp() ) + ++thecHadC[D0]; + else if ( thePid.hasDown() ) + ++thecHadC[Dch]; + else if ( thePid.hasStrange() ) + ++thecHadC[Ds]; + else + ++theccCounter; } else { - if ( thePid.hasUp() ) ++theanticHadC[ D0 ] ; - else if ( thePid.hasDown() ) ++theanticHadC[ Dch ] ; - else if ( thePid.hasStrange() ) ++theanticHadC[ Ds ] ; - else ++theccCounter ; + if ( thePid.hasUp() ) + ++theanticHadC[D0]; + else if ( thePid.hasDown() ) + ++theanticHadC[Dch]; + else if ( thePid.hasStrange() ) + ++theanticHadC[Ds]; + else + ++theccCounter; } } else if ( thePid.isBaryon() ) { - if ( thePid.pid() > 0 ) ++thecHadC[ cBaryon ] ; - else ++theanticHadC[ cBaryon ] ; + if ( thePid.pid() > 0 ) + ++thecHadC[cBaryon]; + else + ++theanticHadC[cBaryon]; } - } + } } - -//============================================================================= -// Update the genFRS in selected events -//============================================================================= -void GenCounters::updateHadronFSR( const HepMC3::GenEvent* theEvent , - LHCb::GenFSR* genFSR, - const std::string option) -{ - if(!genFSR) return; - // Signal Vertex +//============================================================================= +// Update the genFRS in selected events +//============================================================================= +void GenCounters::updateHadronFSR( const HepMC3::GenEvent* theEvent, LHCb::GenFSR* genFSR, const std::string option ) { + if ( !genFSR ) return; + // Signal Vertex // In HepMC3 now stored as an event attribute. If it does not exist, the default // constructor is used to construct the attribute. This will yield a GenVertexPtr // pointing to nullptr. - auto signal_process_vertex = - theEvent->attribute<HepMC3::VertexAttribute>( Gaussino::HepMC::Attributes::SignalProcessVertex )->value(); - - // Count B : - std::vector< HepMC3::ConstGenParticlePtr > rootB ; - HepMC3::copy_if( std::begin(theEvent->particles()) , std::end(theEvent->particles()) , - std::back_inserter( rootB ) , isRootB() ) ; - - std::vector< HepMC3::ConstGenParticlePtr >::const_iterator iter ; - - for ( iter = rootB.begin() ; iter != rootB.end() ; ++iter ) - { - if ( signal_process_vertex ) - { - if ( ! HepMCUtils::commonTrees( signal_process_vertex , - (*iter) -> end_vertex() ) ) - continue ; - } - LHCb::ParticleID thePid( (*iter) -> pdg_id() ) ; - - if (thePid.isMeson()) - { - if (0 == thePid.lSpin()) - { - if (1 == thePid.jSpin()) - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("B"+option), 1); + auto signal_process_vertex_attribute = + theEvent->attribute<HepMC3::VertexAttribute>( Gaussino::HepMC::Attributes::SignalProcessVertex ); + HepMC3::ConstGenVertexPtr signal_process_vertex{nullptr}; + if ( signal_process_vertex_attribute ) { signal_process_vertex = signal_process_vertex_attribute->value(); } + + // Count B : + std::vector<HepMC3::ConstGenParticlePtr> rootB; + HepMC3::copy_if( std::begin( theEvent->particles() ), std::end( theEvent->particles() ), std::back_inserter( rootB ), + isRootB() ); + + std::vector<HepMC3::ConstGenParticlePtr>::const_iterator iter; + + for ( iter = rootB.begin(); iter != rootB.end(); ++iter ) { + if ( signal_process_vertex ) { + if ( !HepMCUtils::commonTrees( signal_process_vertex, ( *iter )->end_vertex() ) ) continue; + } + LHCb::ParticleID thePid( ( *iter )->pdg_id() ); + + if ( thePid.isMeson() ) { + if ( 0 == thePid.lSpin() ) { + if ( 1 == thePid.jSpin() ) { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "B" + option ), 1 ); + } else { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "Bstar" + option ), 1 ); } - else - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("Bstar"+option), 1); - } + } else { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "B2star" + option ), 1 ); } - else - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("B2star"+option), 1); - } - } + } } - // Count D : - std::vector< HepMC3::ConstGenParticlePtr > rootD ; - HepMC3::copy_if( std::begin(theEvent->particles()) , std::end(theEvent->particles()), - std::back_inserter( rootD ) , isRootD() ) ; - - for ( iter = rootD.begin() ; iter != rootD.end() ; ++iter ) - { - if ( signal_process_vertex) - { - if ( ! HepMCUtils::commonTrees( signal_process_vertex , - (*iter) -> end_vertex() ) ) - continue ; + // Count D : + std::vector<HepMC3::ConstGenParticlePtr> rootD; + HepMC3::copy_if( std::begin( theEvent->particles() ), std::end( theEvent->particles() ), std::back_inserter( rootD ), + isRootD() ); + + for ( iter = rootD.begin(); iter != rootD.end(); ++iter ) { + if ( signal_process_vertex ) { + if ( !HepMCUtils::commonTrees( signal_process_vertex, ( *iter )->end_vertex() ) ) continue; } - LHCb::ParticleID thePid( (*iter) -> pdg_id() ); + LHCb::ParticleID thePid( ( *iter )->pdg_id() ); - if (thePid.isMeson()) - { - if (0 == thePid.lSpin()) - { - if (1 == thePid.jSpin()) - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("D"+option), 1); + if ( thePid.isMeson() ) { + if ( 0 == thePid.lSpin() ) { + if ( 1 == thePid.jSpin() ) { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "D" + option ), 1 ); + } else { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "Dstar" + option ), 1 ); } - else - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("Dstar"+option), 1); - } + } else { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "D2star" + option ), 1 ); } - else - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("D2star"+option), 1); - } - } + } } - // Count B: - std::vector< HepMC3::ConstGenParticlePtr > endB ; - HepMC3::copy_if( std::begin(theEvent->particles()) , std::end(theEvent->particles()) , - std::back_inserter( endB ) , isEndB() ) ; - - for ( iter = endB.begin() ; iter != endB.end() ; ++iter ) - { - if ( signal_process_vertex ) - { - if ( HepMCUtils::commonTrees( signal_process_vertex , - (*iter) -> end_vertex() ) ) - continue ; + // Count B: + std::vector<HepMC3::ConstGenParticlePtr> endB; + HepMC3::copy_if( std::begin( theEvent->particles() ), std::end( theEvent->particles() ), std::back_inserter( endB ), + isEndB() ); + + for ( iter = endB.begin(); iter != endB.end(); ++iter ) { + if ( signal_process_vertex ) { + if ( HepMCUtils::commonTrees( signal_process_vertex, ( *iter )->end_vertex() ) ) continue; } - LHCb::ParticleID thePid( (*iter) -> pdg_id() ) ; + LHCb::ParticleID thePid( ( *iter )->pdg_id() ); - if ( thePid.isMeson() ) - { - if ( thePid.pid() > 0 ) - { - if ( thePid.hasUp() ) - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("Bplus"+option), 1); - } - else if ( thePid.hasDown() ) - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("B0"+option), 1); - } - else if ( thePid.hasStrange() ) - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("Bs0"+option), 1); + if ( thePid.isMeson() ) { + if ( thePid.pid() > 0 ) { + if ( thePid.hasUp() ) { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "Bplus" + option ), 1 ); + } else if ( thePid.hasDown() ) { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "B0" + option ), 1 ); + } else if ( thePid.hasStrange() ) { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "Bs0" + option ), 1 ); + } else if ( thePid.hasCharm() ) { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "Bcplus" + option ), 1 ); + } else { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "bb" + option ), 1 ); } - else if ( thePid.hasCharm() ) - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("Bcplus"+option), 1); + } else { + if ( thePid.hasUp() ) { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "Bminus" + option ), 1 ); + } else if ( thePid.hasDown() ) { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "antiB0" + option ), 1 ); + } else if ( thePid.hasStrange() ) { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "antiBs0" + option ), 1 ); + } else if ( thePid.hasCharm() ) { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "Bcminus" + option ), 1 ); + } else { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "bb" + option ), 1 ); } - else - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("bb"+option), 1); - } } - else - { - if ( thePid.hasUp() ) - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("Bminus"+option), 1); - } - else if ( thePid.hasDown() ) - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("antiB0"+option), 1); - } - else if ( thePid.hasStrange() ) - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("antiBs0"+option), 1); - } - else if ( thePid.hasCharm() ) - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("Bcminus"+option), 1); - } - else - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("bb"+option), 1); - } - } - } - else if ( thePid.isBaryon() ) - { - if ( thePid.pid() < 0 ) - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("bBaryon"+option), 1); + } else if ( thePid.isBaryon() ) { + if ( thePid.pid() < 0 ) { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "bBaryon" + option ), 1 ); + } else { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "antibBaryon" + option ), 1 ); } - else - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("antibBaryon"+option), 1); - } - } + } } - // Count D: - std::vector< HepMC3::ConstGenParticlePtr > endD ; - HepMC3::copy_if( std::begin(theEvent->particles()), std::end(theEvent->particles()) , - std::back_inserter( endD ) , isEndD() ) ; - - for ( iter = endD.begin() ; iter != endD.end() ; ++iter ) - { - if ( signal_process_vertex ) - { - if ( HepMCUtils::commonTrees( signal_process_vertex , - (*iter) -> end_vertex() ) ) - continue ; + // Count D: + std::vector<HepMC3::ConstGenParticlePtr> endD; + HepMC3::copy_if( std::begin( theEvent->particles() ), std::end( theEvent->particles() ), std::back_inserter( endD ), + isEndD() ); + + for ( iter = endD.begin(); iter != endD.end(); ++iter ) { + if ( signal_process_vertex ) { + if ( HepMCUtils::commonTrees( signal_process_vertex, ( *iter )->end_vertex() ) ) continue; } - LHCb::ParticleID thePid( (*iter) -> pdg_id() ) ; + LHCb::ParticleID thePid( ( *iter )->pdg_id() ); - if ( thePid.isMeson() ) - { - if ( thePid.pid() > 0 ) - { - if ( thePid.hasUp() ) - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("D0"+option), 1); - } - else if ( thePid.hasDown() ) - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("Dplus"+option), 1); + if ( thePid.isMeson() ) { + if ( thePid.pid() > 0 ) { + if ( thePid.hasUp() ) { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "D0" + option ), 1 ); + } else if ( thePid.hasDown() ) { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "Dplus" + option ), 1 ); + } else if ( thePid.hasStrange() ) { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "Dsplus" + option ), 1 ); + } else { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "cc" + option ), 1 ); } - else if ( thePid.hasStrange() ) - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("Dsplus"+option), 1); + } else { + if ( thePid.hasUp() ) { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "antiD0" + option ), 1 ); + } else if ( thePid.hasDown() ) { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "Dminus" + option ), 1 ); + } else if ( thePid.hasStrange() ) { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "Dsminus" + option ), 1 ); + } else { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "cc" + option ), 1 ); } - else - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("cc"+option), 1); - } } - else - { - if ( thePid.hasUp() ) - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("antiD0"+option), 1); - } - else if ( thePid.hasDown() ) - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("Dminus"+option), 1); - } - else if ( thePid.hasStrange() ) - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("Dsminus"+option), 1); - } - else - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("cc"+option), 1); - } - } - } - else if ( thePid.isBaryon() ) - { - if ( thePid.pid() > 0 ) - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("cBaryon"+option), 1); + } else if ( thePid.isBaryon() ) { + if ( thePid.pid() > 0 ) { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "cBaryon" + option ), 1 ); + } else { + genFSR->incrementGenCounter( LHCb::GenCountersFSR::CounterKeyToType( "anticBaryon" + option ), 1 ); } - else - { - genFSR->incrementGenCounter( - LHCb::GenCountersFSR::CounterKeyToType("anticBaryon"+option), 1); - } - } - } + } + } } diff --git a/Gen/LbPGuns/CMakeLists.txt b/Gen/LbPGuns/CMakeLists.txt index 9aa292f300dea0f8c6d17874e3c89929e8912a66..fc2399843ce5ce0df90b673c5aceddefc029bb68 100644 --- a/Gen/LbPGuns/CMakeLists.txt +++ b/Gen/LbPGuns/CMakeLists.txt @@ -8,29 +8,28 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -################################################################################ -# Package: LbPGuns -################################################################################ -gaudi_subdir(LbPGuns v6r1) - -gaudi_depends_on_subdirs( - #FIXME: Det/DetDesc - Event/GenEvent - GaudiAlg - Kernel/LHCbKernel - Gen/GenInterfaces - Gen/Generators - HepMC3 - ) - -AddHepMC3() +#[=======================================================================[.rst: +Gen/LbPGuns +----------- +#]=======================================================================] +gaudi_add_header_only_library(LbPGunsLib) gaudi_add_module(LbPGuns - src/*.cpp - INCLUDE_DIRS Gen/GenInterfaces ${HEPMC3_INCLUDE_DIR} - LINK_LIBRARIES GenEvent GaudiAlgLib LHCbKernel GeneratorsLib ${HEPMC3_LIBRARIES}) - -add_dependencies(LbPGuns HepMC3Ext) - -gaudi_install_headers(LbPGuns) - + SOURCES + src/Components/BeamShape.cpp + src/Components/Cosmics.cpp + src/Components/FixedMomentum.cpp + src/Components/FlatNParticles.cpp + src/Components/FlatPtRapidity.cpp + src/Components/GaussianTheta.cpp + src/Components/GenericGun.cpp + src/Components/MaterialEval.cpp + src/Components/MomentumRange.cpp + src/Components/MomentumSpectrum.cpp + src/Components/ParticleGun.cpp + LINK + Gaussino::GeneratorsLib + Gaussino::Defaults + Gaussino::HepMCUserLib + Gaussino::LbPGunsLib +) diff --git a/Gen/LbPGuns/LbPGuns/IParticleGunTool.h b/Gen/LbPGuns/include/LbPGuns/IParticleGunTool.h similarity index 100% rename from Gen/LbPGuns/LbPGuns/IParticleGunTool.h rename to Gen/LbPGuns/include/LbPGuns/IParticleGunTool.h diff --git a/Gen/LbPGuns/src/BeamShape.cpp b/Gen/LbPGuns/src/Components/BeamShape.cpp similarity index 100% rename from Gen/LbPGuns/src/BeamShape.cpp rename to Gen/LbPGuns/src/Components/BeamShape.cpp diff --git a/Gen/LbPGuns/src/BeamShape.h b/Gen/LbPGuns/src/Components/BeamShape.h similarity index 95% rename from Gen/LbPGuns/src/BeamShape.h rename to Gen/LbPGuns/src/Components/BeamShape.h index 3abc6b1d1e7c81ba4e8cb39dc5200cec0bb6b457..3a64ca8cf1b2450d73bf605b2632039795df9cf7 100755 --- a/Gen/LbPGuns/src/BeamShape.h +++ b/Gen/LbPGuns/src/Components/BeamShape.h @@ -33,15 +33,15 @@ class BeamShape : public GaudiTool , virtual public IParticleGunTool { virtual ~BeamShape() ; ///< Destructor /// Initialize method - virtual StatusCode initialize(); + virtual StatusCode initialize() override; /// Generate the particle virtual void generateParticle( Gaudi::LorentzVector & fourMomentum , Gaudi::LorentzVector & origin , - int & pdgId , HepRandomEnginePtr& engine ) ; + int & pdgId , HepRandomEnginePtr& engine ) override; /// Print counters - virtual void printCounters( ) { ; } ; + virtual void printCounters( ) override {}; private: // Setable Properties diff --git a/Gen/LbPGuns/src/Cosmics.cpp b/Gen/LbPGuns/src/Components/Cosmics.cpp similarity index 100% rename from Gen/LbPGuns/src/Cosmics.cpp rename to Gen/LbPGuns/src/Components/Cosmics.cpp diff --git a/Gen/LbPGuns/src/Cosmics.h b/Gen/LbPGuns/src/Components/Cosmics.h similarity index 95% rename from Gen/LbPGuns/src/Cosmics.h rename to Gen/LbPGuns/src/Components/Cosmics.h index feb32a3b33cd7a30dc0d60ddce3bd957e176db46..f71a5cabe92339a8c1cc4ad3a3461cec04e11726 100755 --- a/Gen/LbPGuns/src/Cosmics.h +++ b/Gen/LbPGuns/src/Components/Cosmics.h @@ -38,16 +38,16 @@ class Cosmics : public GaudiTool , virtual public IParticleGunTool { virtual ~Cosmics(); /// Initialize particle gun parameters - virtual StatusCode initialize(); + virtual StatusCode initialize() override; /// Generation of particles virtual void generateParticle( Gaudi::LorentzVector & fourMomentum , Gaudi::LorentzVector & origin , int & pdgId , - HepRandomEnginePtr & engine ) ; + HepRandomEnginePtr & engine ) override; /// Print counters - virtual void printCounters( ) { ; } ; + virtual void printCounters( ) override {}; private: diff --git a/Gen/LbPGuns/src/FixedMomentum.cpp b/Gen/LbPGuns/src/Components/FixedMomentum.cpp similarity index 100% rename from Gen/LbPGuns/src/FixedMomentum.cpp rename to Gen/LbPGuns/src/Components/FixedMomentum.cpp diff --git a/Gen/LbPGuns/src/FixedMomentum.h b/Gen/LbPGuns/src/Components/FixedMomentum.h similarity index 95% rename from Gen/LbPGuns/src/FixedMomentum.h rename to Gen/LbPGuns/src/Components/FixedMomentum.h index 7dd841b057a1f9cbae607d9e7cc6973363772902..38a8e1bbbd853ca7f9864bfcccb46833922fbf1a 100755 --- a/Gen/LbPGuns/src/FixedMomentum.h +++ b/Gen/LbPGuns/src/Components/FixedMomentum.h @@ -37,15 +37,15 @@ class FixedMomentum : public GaudiTool , virtual public IParticleGunTool { virtual ~FixedMomentum(); /// Initialize particle gun parameters - virtual StatusCode initialize(); + virtual StatusCode initialize() override; /// Generation of particles virtual void generateParticle( Gaudi::LorentzVector & momentum , Gaudi::LorentzVector & origin , - int & pdgId , HepRandomEnginePtr& engine ) ; + int & pdgId , HepRandomEnginePtr& engine ) override; /// Print counters - virtual void printCounters( ) { ; } ; + virtual void printCounters( ) override {}; private: double m_px; ///< px (Set by options) diff --git a/Gen/LbPGuns/src/FlatNParticles.cpp b/Gen/LbPGuns/src/Components/FlatNParticles.cpp similarity index 100% rename from Gen/LbPGuns/src/FlatNParticles.cpp rename to Gen/LbPGuns/src/Components/FlatNParticles.cpp diff --git a/Gen/LbPGuns/src/FlatNParticles.h b/Gen/LbPGuns/src/Components/FlatNParticles.h similarity index 95% rename from Gen/LbPGuns/src/FlatNParticles.h rename to Gen/LbPGuns/src/Components/FlatNParticles.h index e6b87ae0f56f7891e7328c992c729c771b9f5888..2f5631c4b524cbb469390e8823a0a1a8738622bb 100755 --- a/Gen/LbPGuns/src/FlatNParticles.h +++ b/Gen/LbPGuns/src/Components/FlatNParticles.h @@ -39,16 +39,16 @@ public: virtual ~FlatNParticles( ); ///< Destructor /// Initialize method - virtual StatusCode initialize( ) ; + virtual StatusCode initialize( ) override; /** Implements IPileUpTool::numberOfPileUp * Returns the number of particles in one event. It follows * a flat distribution */ - virtual unsigned int numberOfPileUp( HepRandomEnginePtr& engine ) ; + virtual unsigned int numberOfPileUp( HepRandomEnginePtr& engine ) override; /// Implements IPileUpTool::printPileUpCounters - virtual void printPileUpCounters( ) { ; } ; + virtual void printPileUpCounters( ) override {}; protected: diff --git a/Gen/LbPGuns/src/FlatPtRapidity.cpp b/Gen/LbPGuns/src/Components/FlatPtRapidity.cpp similarity index 100% rename from Gen/LbPGuns/src/FlatPtRapidity.cpp rename to Gen/LbPGuns/src/Components/FlatPtRapidity.cpp diff --git a/Gen/LbPGuns/src/FlatPtRapidity.h b/Gen/LbPGuns/src/Components/FlatPtRapidity.h similarity index 95% rename from Gen/LbPGuns/src/FlatPtRapidity.h rename to Gen/LbPGuns/src/Components/FlatPtRapidity.h index de7263c885126fbb35f5167be0ac43128e0f610a..8630f4c4ac4b7e7aa0bfc9021fcd8326746a9b84 100755 --- a/Gen/LbPGuns/src/FlatPtRapidity.h +++ b/Gen/LbPGuns/src/Components/FlatPtRapidity.h @@ -37,15 +37,15 @@ class FlatPtRapidity : public GaudiTool , virtual public IParticleGunTool { virtual ~FlatPtRapidity(); /// Initialize particle gun parameters - virtual StatusCode initialize(); + virtual StatusCode initialize() override; /// Generation of particles virtual void generateParticle( Gaudi::LorentzVector & momentum , Gaudi::LorentzVector & origin , - int & pdgId , HepRandomEnginePtr& engine ) ; + int & pdgId , HepRandomEnginePtr& engine ) override; /// Print counters - virtual void printCounters( ) { ; } ; + virtual void printCounters( ) override {}; private: double m_minPt; ///< Minimum pT (Set by options) diff --git a/Gen/LbPGuns/src/GaussianTheta.cpp b/Gen/LbPGuns/src/Components/GaussianTheta.cpp similarity index 100% rename from Gen/LbPGuns/src/GaussianTheta.cpp rename to Gen/LbPGuns/src/Components/GaussianTheta.cpp diff --git a/Gen/LbPGuns/src/GaussianTheta.h b/Gen/LbPGuns/src/Components/GaussianTheta.h similarity index 95% rename from Gen/LbPGuns/src/GaussianTheta.h rename to Gen/LbPGuns/src/Components/GaussianTheta.h index 7b8e78e5f568a5997defb5c9e22f1f92821cfc42..653b7579c0fd946a5618c8d044a7f4b37116b8a4 100755 --- a/Gen/LbPGuns/src/GaussianTheta.h +++ b/Gen/LbPGuns/src/Components/GaussianTheta.h @@ -37,15 +37,15 @@ class GaussianTheta : public GaudiTool , virtual public IParticleGunTool { virtual ~GaussianTheta() ; ///< Destructor /// Initialize method - virtual StatusCode initialize(); + virtual StatusCode initialize() override; /// Generate the particle virtual void generateParticle( Gaudi::LorentzVector & fourMomentum , Gaudi::LorentzVector & origin , - int & pdgId , HepRandomEnginePtr & engine ) ; + int & pdgId , HepRandomEnginePtr & engine ) override; /// Print counters - virtual void printCounters( ) { ; } ; + virtual void printCounters( ) override {}; private: double m_mass ; diff --git a/Gen/LbPGuns/src/GenericGun.cpp b/Gen/LbPGuns/src/Components/GenericGun.cpp similarity index 100% rename from Gen/LbPGuns/src/GenericGun.cpp rename to Gen/LbPGuns/src/Components/GenericGun.cpp diff --git a/Gen/LbPGuns/src/GenericGun.h b/Gen/LbPGuns/src/Components/GenericGun.h similarity index 96% rename from Gen/LbPGuns/src/GenericGun.h rename to Gen/LbPGuns/src/Components/GenericGun.h index 9b7b3764ef1effce9918c0f879caa0f3b3bd92f2..4933c339c53447bc29c595d52de1baffad5d048e 100755 --- a/Gen/LbPGuns/src/GenericGun.h +++ b/Gen/LbPGuns/src/Components/GenericGun.h @@ -49,15 +49,15 @@ class GenericGun : public GaudiTool , virtual public IParticleGunTool { virtual ~GenericGun() ; ///< Destructor /// Initialize method - virtual StatusCode initialize(); + virtual StatusCode initialize() override; /// Generate the particle virtual void generateParticle( Gaudi::LorentzVector & fourMomentum , Gaudi::LorentzVector & origin , - int & pdgId , HepRandomEnginePtr & engine ) ; + int & pdgId , HepRandomEnginePtr & engine ) override; /// Print counters - virtual void printCounters( ) { ; } ; + virtual void printCounters( ) override {}; private: // Setable Properties:- diff --git a/Gen/LbPGuns/src/MaterialEval.cpp b/Gen/LbPGuns/src/Components/MaterialEval.cpp similarity index 100% rename from Gen/LbPGuns/src/MaterialEval.cpp rename to Gen/LbPGuns/src/Components/MaterialEval.cpp diff --git a/Gen/LbPGuns/src/MaterialEval.h b/Gen/LbPGuns/src/Components/MaterialEval.h similarity index 95% rename from Gen/LbPGuns/src/MaterialEval.h rename to Gen/LbPGuns/src/Components/MaterialEval.h index fb69e05fae8a57effc482795f702912611f4f27f..0b349d733eb24ce147d3542b805e0e25ad08b852 100755 --- a/Gen/LbPGuns/src/MaterialEval.h +++ b/Gen/LbPGuns/src/Components/MaterialEval.h @@ -40,15 +40,15 @@ public: virtual ~MaterialEval(); ///< Destructor - virtual StatusCode initialize(); ///< Algorithm initialization + virtual StatusCode initialize() override; ///< Algorithm initialization /// Specialized method called by base class in execute virtual void generateParticle( Gaudi::LorentzVector & fourMomentum , Gaudi::LorentzVector & origin , int & pdgId , - HepRandomEnginePtr & engine ) ; + HepRandomEnginePtr & engine ) override; /// Print counters - virtual void printCounters( ) { ; } ; + virtual void printCounters( ) override {}; protected: diff --git a/Gen/LbPGuns/src/MomentumRange.cpp b/Gen/LbPGuns/src/Components/MomentumRange.cpp similarity index 100% rename from Gen/LbPGuns/src/MomentumRange.cpp rename to Gen/LbPGuns/src/Components/MomentumRange.cpp diff --git a/Gen/LbPGuns/src/MomentumRange.h b/Gen/LbPGuns/src/Components/MomentumRange.h similarity index 95% rename from Gen/LbPGuns/src/MomentumRange.h rename to Gen/LbPGuns/src/Components/MomentumRange.h index 362e07f171bc475da50fd8a5aacff8f33fcd5bf6..85e2838cb8121eb22afa608fb24ded006a312e7f 100755 --- a/Gen/LbPGuns/src/MomentumRange.h +++ b/Gen/LbPGuns/src/Components/MomentumRange.h @@ -37,15 +37,15 @@ class MomentumRange : public GaudiTool , virtual public IParticleGunTool { virtual ~MomentumRange(); /// Initialize particle gun parameters - virtual StatusCode initialize(); + virtual StatusCode initialize() override; /// Generation of particles virtual void generateParticle( Gaudi::LorentzVector & momentum , Gaudi::LorentzVector & origin , - int & pdgId , HepRandomEnginePtr & engine ) ; + int & pdgId , HepRandomEnginePtr & engine ) override; /// Print counters - virtual void printCounters( ) { ; } ; + virtual void printCounters( ) override {}; private: double m_minMom; ///< Minimum momentum (Set by options) diff --git a/Gen/LbPGuns/src/MomentumSpectrum.cpp b/Gen/LbPGuns/src/Components/MomentumSpectrum.cpp similarity index 100% rename from Gen/LbPGuns/src/MomentumSpectrum.cpp rename to Gen/LbPGuns/src/Components/MomentumSpectrum.cpp diff --git a/Gen/LbPGuns/src/MomentumSpectrum.h b/Gen/LbPGuns/src/Components/MomentumSpectrum.h similarity index 96% rename from Gen/LbPGuns/src/MomentumSpectrum.h rename to Gen/LbPGuns/src/Components/MomentumSpectrum.h index 612ce918218f4ae5aa5c66428b829fcbf642423d..e6ff8d388573eaca9615697802beb2420b2233e8 100644 --- a/Gen/LbPGuns/src/MomentumSpectrum.h +++ b/Gen/LbPGuns/src/Components/MomentumSpectrum.h @@ -50,15 +50,15 @@ class MomentumSpectrum : public GaudiTool , virtual public IParticleGunTool { virtual ~MomentumSpectrum(); /// Initialize particle gun parameters - virtual StatusCode initialize(); + virtual StatusCode initialize() override; /// Generation of particles virtual void generateParticle( Gaudi::LorentzVector & momentum , Gaudi::LorentzVector & origin , - int & pdgId , HepRandomEnginePtr & engine ) ; + int & pdgId , HepRandomEnginePtr & engine ) override; /// Print counters - virtual void printCounters( ) { ; } ; + virtual void printCounters( ) override {}; private: /// Pdg Codes of particles to generate (Set by options) diff --git a/Gen/LbPGuns/src/ParticleGun.cpp b/Gen/LbPGuns/src/Components/ParticleGun.cpp similarity index 100% rename from Gen/LbPGuns/src/ParticleGun.cpp rename to Gen/LbPGuns/src/Components/ParticleGun.cpp diff --git a/Gen/LbPGuns/src/ParticleGun.h b/Gen/LbPGuns/src/Components/ParticleGun.h similarity index 100% rename from Gen/LbPGuns/src/ParticleGun.h rename to Gen/LbPGuns/src/Components/ParticleGun.h diff --git a/Gen/LbPythia8/CMakeLists.txt b/Gen/LbPythia8/CMakeLists.txt index a696e4a10ed5e5a0367eb694b5519355df25b674..04b3cf5a1a32ce991b409f3630db499643dc0eb3 100644 --- a/Gen/LbPythia8/CMakeLists.txt +++ b/Gen/LbPythia8/CMakeLists.txt @@ -8,52 +8,55 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -################################################################################ -# Package: LbPythia8 -################################################################################ -gaudi_subdir(LbPythia8 v12r0) - -gaudi_depends_on_subdirs(Gen/GenInterfaces - Event/GenEvent - Kernel/PartProp - GaudiAlg - NewRnd - HepMC3 - HepMCUser - Utils - Defaults) - -find_package(Pythia8 COMPONENTS pythia8 pythia8tohepmc) -AddHepMC3() -find_package(LHAPDF) -find_package(Boost COMPONENTS filesystem system) -find_package(ROOT) -find_package(CLHEP) - -include_directories(SYSTEM ${Boost_INCLUDE_DIRS} ${HEPMC3_INCLUDE_DIRS} ${PYTHIA8_INCLUDE_DIRS}) - +#[=======================================================================[.rst: +Gen/LbPytha8 +------------ +#]=======================================================================] gaudi_add_library(LbPythia8Lib - src/Lib/*.cpp - NO_PUBLIC_HEADERS - INCLUDE_DIRS Boost Pythia8 ROOT ${HEPMC3_INCLUDE_DIR} Gen/GenInterfaces Defaults HepMCUser Utils NewRnd - LINK_LIBRARIES Boost GaudiAlgLib Pythia8 ${HEPMC3_LIBRARIES} ROOT PartPropLib LHAPDF GenEvent) - -add_dependencies(LbPythia8Lib HepMC3Ext) + SOURCES + src/Lib/BeamToolForPythia8.cpp + src/Lib/LhcbHooks.cpp + src/Lib/Pythia8Production.cpp + src/Lib/Pythia8ProductionMT.cpp + LINK + PUBLIC + Pythia8::Pythia8 + HepMC3::HepMC3 + Gaudi::GaudiAlgLib + LHCb::GenEvent # TODO: [LHCb DEPENDENCY] + LHCb::PartPropLib # TODO: [LHCb DEPENDENCY] + Gaussino::GenInterfacesLib + Gaussino::UtilsLib + Gaussino::NewRndLib + Gaussino::HepMCUserLib + Gaussino::Defaults +) gaudi_add_module(LbPythia8 - src/component/*.cpp - LINK_LIBRARIES LbPythia8Lib) + SOURCES + src/Components/Pythia8ProductionFactory.cpp + LINK + Gaussino::LbPythia8Lib +) -gaudi_env(SET PYTHIA8XML ${PYTHIA8_XML}) +# TODO: [NEW CMAKE] needed? +#gaudi_env(SET PYTHIA8XML ${PYTHIA8_XML}) gaudi_add_executable(Pythia8Reproducibility - exec/minimal.cxx - INCLUDE_DIRS Pythia8 ${HEPMC3_INCLUDE_DIR} CLHEP HepMCUtils - LINK_LIBRARIES Pythia8 ${HEPMC3_LIBRARIES} CLHEP HepMCUtils) - -find_package(HepMC) + SOURCES + exec/minimal.cxx + LINK + Pythia8::Pythia8 + HepMC3::HepMC3 + Gaussino::HepMCUtilsLib +) gaudi_add_executable(HepMCConverterTest - exec/convtest.cxx - INCLUDE_DIRS Pythia8 ${HEPMC3_INCLUDE_DIR} CLHEP HepMCUtils HepMC - LINK_LIBRARIES Pythia8 ${HEPMC3_LIBRARIES} CLHEP HepMCUtils HepMC) + SOURCES + exec/convtest.cxx + LINK + Pythia8::Pythia8 + HepMC3::HepMC3 + HepMC::HepMC + Gaussino::HepMCUtilsLib +) diff --git a/Gen/LbPythia8/src/exec/convtest.cxx b/Gen/LbPythia8/exec/convtest.cxx similarity index 100% rename from Gen/LbPythia8/src/exec/convtest.cxx rename to Gen/LbPythia8/exec/convtest.cxx diff --git a/Gen/LbPythia8/src/exec/minimal.cxx b/Gen/LbPythia8/exec/minimal.cxx similarity index 99% rename from Gen/LbPythia8/src/exec/minimal.cxx rename to Gen/LbPythia8/exec/minimal.cxx index 10493248720b41ab0419f88e53e20be36c3b7533..3a69487e2a0ab1bf6cbcb14d673ea88a00e9e8a9 100644 --- a/Gen/LbPythia8/src/exec/minimal.cxx +++ b/Gen/LbPythia8/exec/minimal.cxx @@ -27,7 +27,7 @@ class RndForPythia : public Pythia8::RndmEngine { public: RndForPythia( CLHEP::HepRandomEngine& engine ) : m_gen( engine, 0, 1 ) {} - virtual double flat() + virtual double flat() override { auto val = m_gen(); return val; diff --git a/Gen/LbPythia8/LbPythia8/BeamToolForPythia8.h b/Gen/LbPythia8/include/LbPythia8/BeamToolForPythia8.h similarity index 100% rename from Gen/LbPythia8/LbPythia8/BeamToolForPythia8.h rename to Gen/LbPythia8/include/LbPythia8/BeamToolForPythia8.h diff --git a/Gen/LbPythia8/LbPythia8/LhcbHooks.h b/Gen/LbPythia8/include/LbPythia8/LhcbHooks.h similarity index 100% rename from Gen/LbPythia8/LbPythia8/LhcbHooks.h rename to Gen/LbPythia8/include/LbPythia8/LhcbHooks.h diff --git a/Gen/LbPythia8/LbPythia8/Pythia8Production.h b/Gen/LbPythia8/include/LbPythia8/Pythia8Production.h similarity index 99% rename from Gen/LbPythia8/LbPythia8/Pythia8Production.h rename to Gen/LbPythia8/include/LbPythia8/Pythia8Production.h index 95f79fe47e35fea49f57afd9976df3558dca2c89..7bc0ad13d84de5c03c6482c1f56506e68ce1a377 100755 --- a/Gen/LbPythia8/LbPythia8/Pythia8Production.h +++ b/Gen/LbPythia8/include/LbPythia8/Pythia8Production.h @@ -187,7 +187,7 @@ protected: class RndForPythia : public Pythia8::RndmEngine { public: RndForPythia(CLHEP::HepRandomEngine & engine ):m_gen(engine, 0, 1){} - virtual double flat(){return m_gen();} + virtual double flat() override { return m_gen(); } private: CLHEP::RandFlat m_gen; diff --git a/Gen/LbPythia8/LbPythia8/Pythia8ProductionMT.h b/Gen/LbPythia8/include/LbPythia8/Pythia8ProductionMT.h similarity index 99% rename from Gen/LbPythia8/LbPythia8/Pythia8ProductionMT.h rename to Gen/LbPythia8/include/LbPythia8/Pythia8ProductionMT.h index dfdd6db0d9f9d90a48af09c770c6df701abb6d5b..345558136b4e01bfe1dca2c91dd27ccb6388e087 100755 --- a/Gen/LbPythia8/LbPythia8/Pythia8ProductionMT.h +++ b/Gen/LbPythia8/include/LbPythia8/Pythia8ProductionMT.h @@ -205,7 +205,7 @@ protected: { public: RndForPythia( CLHEP::HepRandomEngine& engine ) : m_gen( engine, 0, 1 ) {} - virtual double flat() { return m_gen(); } + virtual double flat() override { return m_gen(); } private: CLHEP::RandFlat m_gen; diff --git a/Gen/LbPythia8/src/component/Pythia8ProductionFactory.cpp b/Gen/LbPythia8/src/Components/Pythia8ProductionFactory.cpp similarity index 100% rename from Gen/LbPythia8/src/component/Pythia8ProductionFactory.cpp rename to Gen/LbPythia8/src/Components/Pythia8ProductionFactory.cpp diff --git a/Gen/RndInit/CMakeLists.txt b/Gen/RndInit/CMakeLists.txt index 2e070390b0d0a2ae40d3c68daafacde60a698ed2..a2ce1924e50753aa042567417bb341c0be62c5c1 100644 --- a/Gen/RndInit/CMakeLists.txt +++ b/Gen/RndInit/CMakeLists.txt @@ -8,25 +8,27 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -################################################################################ -# Package: GaussAlgs -################################################################################ -gaudi_subdir(RndInit v1r0) - -gaudi_depends_on_subdirs(GaudiAlg - NewRnd - Gen/GenBeam - Event/GenEvent - #FIXME: For platform and kernel streaming, I think ?!?! - Kernel/LHCbKernel - Defaults) +#[=======================================================================[.rst: +Gen/RndInit +----------- +#]=======================================================================] gaudi_add_library(RndInitLib - src/lib/*.cpp - PUBLIC_HEADERS RndInit - INCLUDE_DIRS GenBeam - LINK_LIBRARIES GaudiAlgLib GenEvent LHCbKernel NewRnd) + SOURCES + src/Lib/GenRndInit.cpp + LINK + PUBLIC + Gaudi::GaudiAlgLib + LHCb::GenEvent # TODO: [LHCb DEPENDENCY] + Gaussino::Defaults + Gaussino::NewRndLib + Gaussino::GenBeamLib +) gaudi_add_module(RndInit - src/components/*.cpp - LINK_LIBRARIES RndInitLib) + SOURCES + src/Components/GenRndInitComp.cpp + src/Components/SeedingTool.cpp + LINK + Gaussino::RndInitLib +) diff --git a/Gen/RndInit/RndInit/GenRndInit.h b/Gen/RndInit/include/RndInit/GenRndInit.h similarity index 100% rename from Gen/RndInit/RndInit/GenRndInit.h rename to Gen/RndInit/include/RndInit/GenRndInit.h diff --git a/Gen/RndInit/RndInit/IRndSeedingTool.h b/Gen/RndInit/include/RndInit/IRndSeedingTool.h similarity index 100% rename from Gen/RndInit/RndInit/IRndSeedingTool.h rename to Gen/RndInit/include/RndInit/IRndSeedingTool.h diff --git a/Gen/RndInit/src/components/GenRndInitComp.cpp b/Gen/RndInit/src/Components/GenRndInitComp.cpp similarity index 100% rename from Gen/RndInit/src/components/GenRndInitComp.cpp rename to Gen/RndInit/src/Components/GenRndInitComp.cpp diff --git a/Gen/RndInit/src/components/SeedingTool.cpp b/Gen/RndInit/src/Components/SeedingTool.cpp similarity index 100% rename from Gen/RndInit/src/components/SeedingTool.cpp rename to Gen/RndInit/src/Components/SeedingTool.cpp diff --git a/Gen/RndInit/src/components/SeedingTool.h b/Gen/RndInit/src/Components/SeedingTool.h similarity index 100% rename from Gen/RndInit/src/components/SeedingTool.h rename to Gen/RndInit/src/Components/SeedingTool.h diff --git a/Gen/RndInit/src/lib/GenRndInit.cpp b/Gen/RndInit/src/Lib/GenRndInit.cpp similarity index 100% rename from Gen/RndInit/src/lib/GenRndInit.cpp rename to Gen/RndInit/src/Lib/GenRndInit.cpp diff --git a/HepMC3/CMakeLists.txt b/HepMC3/CMakeLists.txt deleted file mode 100644 index 0bf895c5d8dfb1c06ba19eb5f280a7f148e3d760..0000000000000000000000000000000000000000 --- a/HepMC3/CMakeLists.txt +++ /dev/null @@ -1,48 +0,0 @@ -############################################################################### -# (c) Copyright 2021 CERN for the benefit of the LHCb and FCC Collaborations # -# # -# This software is distributed under the terms of the Apache License # -# version 2 (Apache-2.0), copied verbatim in the file "COPYING". # -# # -# In applying this licence, CERN does not waive the privileges and immunities # -# granted to it by virtue of its status as an Intergovernmental Organization # -# or submit itself to any jurisdiction. # -############################################################################### -gaudi_subdir(HepMC3 v3r1) - -find_package(ROOT) - -# Define EvtGen external project -include(ExternalProject) -set(HEPMC3_GIT_SOURCE "https://gitlab.cern.ch/Gaussino/HepMC3.git" CACHE STRING "URL of the HepMC3 git repository") -set(HEPMC3_GIT_TAG "official_patched" CACHE STRING "Tag of HepMC3 to be used") -message(STATUS "HepMC3 will use tag \"${HEPMC3_GIT_TAG}\" from repository ${HEPMC3_GIT_SOURCE}") -message(STATUS "Binary dir = ${PROJECT_BINARY_DIR}") -message(STATUS "Build command = ${BUILD_COMMAND}") -message(STATUS "CMake command = ${CMAKE_COMMAND}") -string(REPLACE "c++" "" HEPMC_CXX_STANDARD "${GAUDI_CXX_STANDARD}") - -ExternalProject_Add(HepMC3Ext - GIT_REPOSITORY ${HEPMC3_GIT_SOURCE} - GIT_TAG ${HEPMC3_GIT_TAG} - CMAKE_ARGS - -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_LIST_DIR}/hepmc3_toolchain.cmake - -DHEPMC3_ENABLE_PYTHON=OFF - -DHEPMC3_ENABLE_ROOTIO=OFF # FIXME: disabled because of HepMC & HepMC3 namespace collision - -DHEPMC3_INSTALL_INTERFACES=ON - # Do not install examples (installed directories are detected as - # packages by the old Gaudi toolchain): - -DHEPMC3_INSTALL_EXAMPLES=OFF - -DCMAKE_BUILD_TYPE=Debug - -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - #-DROOT_DIR=${ROOTSYS} - -DCMAKE_INSTALL_LIBDIR=lib - -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} - -DCMAKE_C_FLAGS_DEBUG=${CMAKE_C_FLAGS_DEBUG} - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} - -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} - -DCMAKE_CXX_STANDARD=${HEPMC_CXX_STANDARD} - CMAKE_COMMAND ${env_cmd} --xml ${env_xml} cmake - BUILD_COMMAND ${env_cmd} --xml ${env_xml} cmake --build . -) diff --git a/HepMC3/hepmc3_toolchain.cmake b/HepMC3/hepmc3_toolchain.cmake deleted file mode 100644 index 1321282ccdae55a12feb6860853ca3e20d74156f..0000000000000000000000000000000000000000 --- a/HepMC3/hepmc3_toolchain.cmake +++ /dev/null @@ -1,41 +0,0 @@ -############################################################################### -# (c) Copyright 2021 CERN for the benefit of the LHCb and FCC Collaborations # -# # -# This software is distributed under the terms of the Apache License # -# version 2 (Apache-2.0), copied verbatim in the file "COPYING". # -# # -# In applying this licence, CERN does not waive the privileges and immunities # -# granted to it by virtue of its status as an Intergovernmental Organization # -# or submit itself to any jurisdiction. # -############################################################################### -# Special toolchain file that inherits the same heptools version as the -# used projects. -# -# -# this check is needed because the toolchain is called when checking the -# compiler (without the proper cache) -if(NOT CMAKE_SOURCE_DIR MATCHES "CMakeTmp") - find_path(heptools_mod_dir UseHEPTools.cmake) - message(INFO heptools_mod_dir = ${heptools_mod_dir}) - set(CMAKE_MODULE_PATH ${heptools_mod_dir} ${CMAKE_MODULE_PATH}) - if(heptools_version) - include(UseHEPTools) - use_heptools(${heptools_version}) - else() - include(InheritHEPTools) - inherit_heptools() - endif() - - # FIXME: make sure we do not pick up unwanted/problematic projects from LCG - if(CMAKE_PREFIX_PATH) - # - ninja (it requires LD_LIBRARY_PATH set to run) - # - Gaudi (we do not want to use it from LCG) - # - xenv (conflicts with the version in the build environment) - list(FILTER CMAKE_PREFIX_PATH EXCLUDE REGEX "(LCG_|lcg/nightlies).*(ninja|Gaudi|xenv)") - endif() - - # FIXME: make sure we do not pick up geant from LCG (it requires LD_LIBRARY_PATH set) - if(CMAKE_PREFIX_PATH AND CMAKE_VERSION VERSION_GREATER "3.6.0") - list(FILTER CMAKE_PREFIX_PATH EXCLUDE REGEX "(LCG_|lcg/nightlies).*Geant4") - endif() -endif() diff --git a/HepMCUser/CMakeLists.txt b/HepMCUser/CMakeLists.txt index f23511b0fc6224ee8e2c954454eacb21df9b09e2..44744f62e59db7153c78237e6a2e050d731cf87f 100644 --- a/HepMCUser/CMakeLists.txt +++ b/HepMCUser/CMakeLists.txt @@ -8,37 +8,31 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -################################################################################ -# Package: HepMCUser -# -################################################################################# - -gaudi_subdir(HepMCUser v1r0) - -gaudi_depends_on_subdirs(Defaults - GaudiAlg - HepMC3) - -gaudi_install_headers(HepMCUser) - -find_package(ROOT) -AddHepMC3() - -gaudi_add_library(HepMCUtils - src/utils/*.cpp - PUBLIC_HEADERS HepMCUtils - INCLUDE_DIRS HepMCUser Defaults ${RANGEV3_INCLUDE_DIRS} ROOT - LINK_LIBRARIES ${HEPMC3_LIBRARIES} GaudiAlgLib ROOT PartPropLib) - -#gaudi_add_library(HepMCUser - #src/user/*.cpp - #PUBLIC_HEADERS HepMCUtils - #INCLUDE_DIRS HepMCUser Defaults ${RANGEV3_INCLUDE_DIRS} ROOT - #LINK_LIBRARIES ${HEPMC3_LIBRARIES} GaudiAlgLib ROOT) - -# FIXME: Force the external build before the Utils here. Hack it time -add_dependencies(HepMCUtils HepMC3Ext) +#[=======================================================================[.rst: +HepMCUser +--------- +#]=======================================================================] + +gaudi_add_header_only_library(HepMCUserLib) + +gaudi_add_library(HepMCUtilsLib + SOURCES + src/Lib/CompareGenEvent.cpp + src/Lib/PrintDecayTree.cpp + src/Lib/Relatives.cpp + LINK + PUBLIC + HepMC3::HepMC3 + HepMC3::HepMC3search + Gaudi::GaudiAlgLib + LHCb::PartPropLib # TODO: [LHCb DEPENDENCY] + Gaussino::Defaults + Gaussino::HepMCUserLib +) gaudi_add_executable(compareHepMCEvents - exec/*.cpp - LINK_LIBRARIES HepMCUtils) + SOURCES + exec/compare.cpp + LINK + HepMCUtilsLib +) diff --git a/HepMCUser/HepMCUser/ParticleAttribute.h b/HepMCUser/include/HepMCUser/ParticleAttribute.h similarity index 95% rename from HepMCUser/HepMCUser/ParticleAttribute.h rename to HepMCUser/include/HepMCUser/ParticleAttribute.h index c10582f8a4fc020d160fa244add794920cb28096..72a84aa700b6a7320e66047ae4a3907f618838f3 100644 --- a/HepMCUser/HepMCUser/ParticleAttribute.h +++ b/HepMCUser/include/HepMCUser/ParticleAttribute.h @@ -20,8 +20,7 @@ namespace HepMC3 ParticleAttribute() : Attribute(), m_val( nullptr ) {} ParticleAttribute( GenParticlePtr val ) : Attribute(), m_val( val ) {} - bool from_string( const string& att ) - { + bool from_string( const string& att ) override { #ifdef HEPMC_HAS_CXX11 index = std::stoi( att ); #else @@ -30,8 +29,7 @@ namespace HepMC3 return true; } - bool to_string( string& att ) const - { + bool to_string( string& att ) const override { att = std::to_string( m_val->id() ); return true; } diff --git a/HepMCUser/HepMCUser/Status.h b/HepMCUser/include/HepMCUser/Status.h similarity index 100% rename from HepMCUser/HepMCUser/Status.h rename to HepMCUser/include/HepMCUser/Status.h diff --git a/HepMCUser/HepMCUser/TemplateAttribute.h b/HepMCUser/include/HepMCUser/TemplateAttribute.h similarity index 100% rename from HepMCUser/HepMCUser/TemplateAttribute.h rename to HepMCUser/include/HepMCUser/TemplateAttribute.h diff --git a/HepMCUser/HepMCUser/VertexAttribute.h b/HepMCUser/include/HepMCUser/VertexAttribute.h similarity index 100% rename from HepMCUser/HepMCUser/VertexAttribute.h rename to HepMCUser/include/HepMCUser/VertexAttribute.h diff --git a/HepMCUser/HepMCUser/typedefs.h b/HepMCUser/include/HepMCUser/typedefs.h similarity index 100% rename from HepMCUser/HepMCUser/typedefs.h rename to HepMCUser/include/HepMCUser/typedefs.h diff --git a/HepMCUser/HepMCUtils/CompareGenEvent.h b/HepMCUser/include/HepMCUtils/CompareGenEvent.h similarity index 100% rename from HepMCUser/HepMCUtils/CompareGenEvent.h rename to HepMCUser/include/HepMCUtils/CompareGenEvent.h diff --git a/HepMCUser/HepMCUtils/HepMCUtils.h b/HepMCUser/include/HepMCUtils/HepMCUtils.h similarity index 100% rename from HepMCUser/HepMCUtils/HepMCUtils.h rename to HepMCUser/include/HepMCUtils/HepMCUtils.h diff --git a/HepMCUser/HepMCUtils/PrintDecayTree.h b/HepMCUser/include/HepMCUtils/PrintDecayTree.h similarity index 100% rename from HepMCUser/HepMCUtils/PrintDecayTree.h rename to HepMCUser/include/HepMCUtils/PrintDecayTree.h diff --git a/HepMCUser/HepMCUtils/Relatives.h b/HepMCUser/include/HepMCUtils/Relatives.h similarity index 100% rename from HepMCUser/HepMCUtils/Relatives.h rename to HepMCUser/include/HepMCUtils/Relatives.h diff --git a/HepMCUser/src/utils/CompareGenEvent.cpp b/HepMCUser/src/Lib/CompareGenEvent.cpp similarity index 100% rename from HepMCUser/src/utils/CompareGenEvent.cpp rename to HepMCUser/src/Lib/CompareGenEvent.cpp diff --git a/HepMCUser/src/utils/PrintDecayTree.cpp b/HepMCUser/src/Lib/PrintDecayTree.cpp similarity index 100% rename from HepMCUser/src/utils/PrintDecayTree.cpp rename to HepMCUser/src/Lib/PrintDecayTree.cpp diff --git a/HepMCUser/src/utils/Relatives.cpp b/HepMCUser/src/Lib/Relatives.cpp similarity index 100% rename from HepMCUser/src/utils/Relatives.cpp rename to HepMCUser/src/Lib/Relatives.cpp diff --git a/Moni/GaussMonitor/CMakeLists.txt b/Moni/GaussMonitor/CMakeLists.txt index 7acba27015897d4fb4eb275ba77326394f2a6ece..eb56aa883b0b5919d718b5bafb9469dfbcda7f14 100644 --- a/Moni/GaussMonitor/CMakeLists.txt +++ b/Moni/GaussMonitor/CMakeLists.txt @@ -8,24 +8,20 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -################################################################################ -# Package: GaussMonitor -################################################################################ -gaudi_subdir(GaussMonitor v8r2) - -gaudi_depends_on_subdirs(Event/GenEvent - Event/MCEvent - GaudiAlg - Defaults - HepMC3 - HepMCUser - Kernel/PartProp) - -AddHepMC3() +#[=======================================================================[.rst: +Moni/GaussMonitor +----------------- +#]=======================================================================] gaudi_add_module(GaussMonitor - src/*.cpp - INCLUDE_DIRS AIDA ${HEPMC3_INCLUDE_DIR} HepMCUser - LINK_LIBRARIES GaudiAlgLib GenEvent PartPropLib ${HEPMC3_LIBRARIES} MCEvent) - -add_dependencies(GaussMonitor HepMC3Ext) + SOURCES + src/Components/GaussGenUtil.cpp + src/Components/GenMonitorAlg.cpp + src/Components/MCTruthMonitor.cpp + LINK + HepMC3::HepMC3 + LHCb::MCEvent # TODO: [LHCb DEPENDENCY] + LHCb::PartPropLib # TODO: [LHCb DEPENDENCY] + Gaussino::Defaults + Gaussino::HepMCUserLib +) diff --git a/Moni/GaussMonitor/src/GaussGenUtil.cpp b/Moni/GaussMonitor/src/Components/GaussGenUtil.cpp similarity index 100% rename from Moni/GaussMonitor/src/GaussGenUtil.cpp rename to Moni/GaussMonitor/src/Components/GaussGenUtil.cpp diff --git a/Moni/GaussMonitor/src/GaussGenUtil.h b/Moni/GaussMonitor/src/Components/GaussGenUtil.h similarity index 100% rename from Moni/GaussMonitor/src/GaussGenUtil.h rename to Moni/GaussMonitor/src/Components/GaussGenUtil.h diff --git a/Moni/GaussMonitor/src/GenMonitorAlg.cpp b/Moni/GaussMonitor/src/Components/GenMonitorAlg.cpp similarity index 94% rename from Moni/GaussMonitor/src/GenMonitorAlg.cpp rename to Moni/GaussMonitor/src/Components/GenMonitorAlg.cpp index 0437324f6cb3621fb034f703797c22306c543471..387a082b306202e1f2346a61812bcc0b054d5376 100755 --- a/Moni/GaussMonitor/src/GenMonitorAlg.cpp +++ b/Moni/GaussMonitor/src/Components/GenMonitorAlg.cpp @@ -40,8 +40,7 @@ // Declaration of the Algorithm Factory DECLARE_COMPONENT( GenMonitorAlg ) -StatusCode GenMonitorAlg::initialize() -{ +StatusCode GenMonitorAlg::initialize() { StatusCode sc = GaudiHistoAlg::initialize(); // must be executed first if ( sc.isFailure() ) return sc; // error printed already by GaudiHistoAlg @@ -52,15 +51,12 @@ StatusCode GenMonitorAlg::initialize() info() << "Monitor will be applied to events produced with generator " << m_generatorName << endmsg; } - if ( produceHistos() ) { - bookHistos(); - } + if ( produceHistos() ) { bookHistos(); } return StatusCode::SUCCESS; } -void GenMonitorAlg::operator()( const HepMC3::GenEventPtrs& hepmcevents ) const -{ +void GenMonitorAlg::operator()( const HepMC3::GenEventPtrs& hepmcevents ) const { std::lock_guard<std::mutex> lock( m_histo_lock ); debug() << "==> Execute" << endmsg; @@ -70,21 +66,23 @@ void GenMonitorAlg::operator()( const HepMC3::GenEventPtrs& hepmcevents ) const int nPileUp( 0 ); for ( auto& hepmcevent : hepmcevents ) { - auto gen_name = hepmcevent->attribute<HepMC3::StringAttribute>( Gaussino::HepMC::Attributes::GeneratorName )->value(); + auto gen_name = + hepmcevent->attribute<HepMC3::StringAttribute>( Gaussino::HepMC::Attributes::GeneratorName )->value(); // Check if monitor has to be applied to this event if ( !m_generatorName.empty() ) { - if ( m_generatorName != gen_name ) { - continue; - } + if ( m_generatorName != gen_name ) { continue; } } debug() << "Monitor for " << gen_name << endmsg; // Get the signal process ID from the attributes if ( produceHistos() ) { - auto sig_proc_id = - hepmcevent->attribute<HepMC3::IntAttribute>( Gaussino::HepMC::Attributes::SignalProcessID )->value(); - m_hProcess->fill( sig_proc_id ); + auto sig_proc_id_attr = + hepmcevent->attribute<HepMC3::IntAttribute>( Gaussino::HepMC::Attributes::SignalProcessID ); + if ( sig_proc_id_attr ) { + auto sig_proc_id = sig_proc_id_attr->value(); + m_hProcess->fill( sig_proc_id ); + } } bool primFound = false; @@ -135,9 +133,7 @@ void GenMonitorAlg::operator()( const HepMC3::GenEventPtrs& hepmcevents ) const ++nParticlesStableCharged; double pseudoRap = hepMCpart->momentum().pseudoRapidity(); // in LHCb acceptance - if ( ( pseudoRap > m_minEta ) && ( pseudoRap < m_maxEta ) ) { - ++nParChStabEtaAcc; - } + if ( ( pseudoRap > m_minEta ) && ( pseudoRap < m_maxEta ) ) { ++nParChStabEtaAcc; } if ( produceHistos() ) { m_hStableEta->fill( pseudoRap ); m_hStablePt->fill( hepMCpart->momentum().perp() / Gaudi::Units::GeV ); @@ -167,8 +163,7 @@ void GenMonitorAlg::operator()( const HepMC3::GenEventPtrs& hepmcevents ) const //============================================================================= // Finalize //============================================================================= -StatusCode GenMonitorAlg::finalize() -{ +StatusCode GenMonitorAlg::finalize() { debug() << "==> Finalize" << endmsg; @@ -199,8 +194,7 @@ StatusCode GenMonitorAlg::finalize() //============================================================================ // Booking of histograms //============================================================================ -void GenMonitorAlg::bookHistos() -{ +void GenMonitorAlg::bookHistos() { debug() << "==> Book histograms" << endmsg; diff --git a/Moni/GaussMonitor/src/GenMonitorAlg.h b/Moni/GaussMonitor/src/Components/GenMonitorAlg.h similarity index 100% rename from Moni/GaussMonitor/src/GenMonitorAlg.h rename to Moni/GaussMonitor/src/Components/GenMonitorAlg.h diff --git a/Moni/GaussMonitor/src/MCTruthMonitor.cpp b/Moni/GaussMonitor/src/Components/MCTruthMonitor.cpp similarity index 100% rename from Moni/GaussMonitor/src/MCTruthMonitor.cpp rename to Moni/GaussMonitor/src/Components/MCTruthMonitor.cpp diff --git a/Moni/GaussMonitor/src/MCTruthMonitor.h b/Moni/GaussMonitor/src/Components/MCTruthMonitor.h similarity index 100% rename from Moni/GaussMonitor/src/MCTruthMonitor.h rename to Moni/GaussMonitor/src/Components/MCTruthMonitor.h diff --git a/NewRnd/CMakeLists.txt b/NewRnd/CMakeLists.txt index 89c6a45f2b5513329aa0e358f33671bbe388f517..d5c3e09cb41fbf993d77f0ede8e642836be25e42 100644 --- a/NewRnd/CMakeLists.txt +++ b/NewRnd/CMakeLists.txt @@ -8,40 +8,36 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -################################################################################ -# Package: NewRnd -################################################################################ -gaudi_subdir(NewRnd v1r0) -gaudi_depends_on_subdirs(GaudiAlg) - -gaudi_depends_on_subdirs(Utils) - -find_package(CLHEP) -find_package(ROOT) - -# Decide whether to link against CLHEP: -set( clhep_lib ) -if( CLHEP_FOUND ) - set( clhep_lib CLHEP ) -endif() - -if( CLHEP_FOUND ) - include_directories( SYSTEM ${CLHEP_INCLUDE_DIRS} ) -endif() - - -gaudi_add_library(NewRnd - src/*.cpp - PUBLIC_HEADERS NewRnd - INCLUDE_DIRS ${clhep_lib} ROOT Utils - LINK_LIBRARIES GaudiAlgLib ${clhep_lib} ROOT GaudiKernel) +#[=======================================================================[.rst: +NewRnd +------ +#]=======================================================================] + +gaudi_add_library(NewRndLib + SOURCES + src/Lib/RndAlgSeeder.cpp + src/Lib/RndCommon.cpp + src/Lib/RndGlobal.cpp + LINK + PUBLIC + CLHEP::Random + Gaudi::GaudiKernel + Gaudi::GaudiAlgLib + Gaussino::UtilsLib +) gaudi_add_module(NewRndComponents - src/components/*.cpp - LINK_LIBRARIES NewRnd) + SOURCES + src/Components/Engines.cpp + LINK + NewRndLib +) gaudi_add_executable(GaussinoTestgRandom - exec/GaussinoTestgRandom.cxx - LINK_LIBRARIES NewRnd) + SOURCES + exec/GaussinoTestgRandom.cxx + LINK + NewRndLib +) -gaudi_add_test(QMTest QMTEST) +gaudi_add_tests(QMTest) diff --git a/NewRnd/NewRnd/RndAlgSeeder.h b/NewRnd/include/NewRnd/RndAlgSeeder.h similarity index 100% rename from NewRnd/NewRnd/RndAlgSeeder.h rename to NewRnd/include/NewRnd/RndAlgSeeder.h diff --git a/NewRnd/NewRnd/RndCommon.h b/NewRnd/include/NewRnd/RndCommon.h similarity index 100% rename from NewRnd/NewRnd/RndCommon.h rename to NewRnd/include/NewRnd/RndCommon.h diff --git a/NewRnd/NewRnd/RndGlobal.h b/NewRnd/include/NewRnd/RndGlobal.h similarity index 100% rename from NewRnd/NewRnd/RndGlobal.h rename to NewRnd/include/NewRnd/RndGlobal.h diff --git a/NewRnd/src/components/Engines.cpp b/NewRnd/src/Components/Engines.cpp similarity index 100% rename from NewRnd/src/components/Engines.cpp rename to NewRnd/src/Components/Engines.cpp diff --git a/NewRnd/src/RndAlgSeeder.cpp b/NewRnd/src/Lib/RndAlgSeeder.cpp similarity index 100% rename from NewRnd/src/RndAlgSeeder.cpp rename to NewRnd/src/Lib/RndAlgSeeder.cpp diff --git a/NewRnd/src/RndCommon.cpp b/NewRnd/src/Lib/RndCommon.cpp similarity index 100% rename from NewRnd/src/RndCommon.cpp rename to NewRnd/src/Lib/RndCommon.cpp diff --git a/NewRnd/src/RndGlobal.cpp b/NewRnd/src/Lib/RndGlobal.cpp similarity index 100% rename from NewRnd/src/RndGlobal.cpp rename to NewRnd/src/Lib/RndGlobal.cpp diff --git a/Sim/ExternalDetector/CMakeLists.txt b/Sim/ExternalDetector/CMakeLists.txt index 1cbfa4d84ce471571a361510b05a7343b639f3f3..3d42eac49c224f640423165aae7ec444231b19d3 100644 --- a/Sim/ExternalDetector/CMakeLists.txt +++ b/Sim/ExternalDetector/CMakeLists.txt @@ -8,31 +8,37 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -################################################################################ -# Package: ExternalDetector -################################################################################ -gaudi_subdir(ExternalDetector v1r0) - -gaudi_depends_on_subdirs(GaudiAlg - Sim/GiGaMTCore - Sim/GiGaMTFactories) - - -AddHepMC3() -find_package(Boost) -find_package(CLHEP) - -include_directories(SYSTEM ${Boost_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${Geant4_INCLUDE_DIRS}) +#[=======================================================================[.rst: +Sim/ExternalDetector +-------------------- +Author: Michał Mazurek +#]=======================================================================] gaudi_add_library(ExternalDetectorLib - src/Lib/*.cpp - PUBLIC_HEADERS ExternalDetector - INCLUDE_DIRS GiGaMTFactories XercesC ${HEPMC3_INCLUDE_DIR} - LINK_LIBRARIES GaudiAlgLib GiGaMTCoreRunLib XercesC ${HEPMC3_LIBRARIES} ${GEANT4_LIBS}) + SOURCES + src/Lib/Embedder.cpp + src/Lib/MaterialFactory.cpp + LINK + PUBLIC + Gaudi::GaudiAlgLib + XercesC::XercesC + Geant4::G4digits_hits + Geant4::G4geometry + Gaussino::GiGaMTFactoriesLib + Gaussino::GiGaMTCoreDetLib +) gaudi_add_module(ExternalDetector - src/Components/*.cpp - LINK_LIBRARIES ExternalDetectorLib) + SOURCES + src/Components/CuboidEmbedder.cpp + src/Components/MaterialFromChemicalPropertiesFactory.cpp + src/Components/MaterialFromElements.cpp + src/Components/WorldCreator.cpp + LINK + Gaussino::ExternalDetectorLib + Gaussino::GiGaMTGeoLib +) -gaudi_install_python_modules() -gaudi_add_test(QMTest QMTEST) +gaudi_install(PYTHON) +gaudi_generate_confuserdb() +gaudi_add_tests(QMTest) diff --git a/Sim/ExternalDetector/ExternalDetector/Embedder.h b/Sim/ExternalDetector/include/ExternalDetector/Embedder.h similarity index 98% rename from Sim/ExternalDetector/ExternalDetector/Embedder.h rename to Sim/ExternalDetector/include/ExternalDetector/Embedder.h index 9ea601e0aa91bf06286560c25bc11f456bf9c217..73da3250270879806f7c69719b31864e5b3e7bdf 100644 --- a/Sim/ExternalDetector/ExternalDetector/Embedder.h +++ b/Sim/ExternalDetector/include/ExternalDetector/Embedder.h @@ -17,7 +17,7 @@ #include "GiGaMTCoreDet/IExternalDetectorEmbedder.h" #include "GiGaMTFactories/GiGaFactoryBase.h" // Geant4 -#include "Geant4/G4VSensitiveDetector.hh" +#include "G4VSensitiveDetector.hh" class G4VSolid; class G4VPhysicalVolume; diff --git a/Sim/ExternalDetector/ExternalDetector/MaterialFactory.h b/Sim/ExternalDetector/include/ExternalDetector/MaterialFactory.h similarity index 98% rename from Sim/ExternalDetector/ExternalDetector/MaterialFactory.h rename to Sim/ExternalDetector/include/ExternalDetector/MaterialFactory.h index 5dbf43e16108096ea9fcc80807f8c1f464a5a85a..2e167cc2dea5f0bf630ea25715ae7814df3139a2 100644 --- a/Sim/ExternalDetector/ExternalDetector/MaterialFactory.h +++ b/Sim/ExternalDetector/include/ExternalDetector/MaterialFactory.h @@ -14,7 +14,7 @@ #include "GaudiKernel/PhysicalConstants.h" #include "GaudiKernel/SystemOfUnits.h" // Geant4 -#include "Geant4/G4Material.hh" +#include "G4Material.hh" // GiGaMT #include "GiGaMTFactories/GiGaFactoryBase.h" #include "GiGaMTFactories/GiGaTool.h" diff --git a/Sim/ExternalDetector/src/Components/CuboidEmbedder.cpp b/Sim/ExternalDetector/src/Components/CuboidEmbedder.cpp index e2fb707637b01e4ee6e303d3aee272fafa6024fc..f43a547c2c02550fdd483bf3d42eb467aeaeeb14 100644 --- a/Sim/ExternalDetector/src/Components/CuboidEmbedder.cpp +++ b/Sim/ExternalDetector/src/Components/CuboidEmbedder.cpp @@ -13,7 +13,7 @@ // Gaudi #include "GaudiKernel/SystemOfUnits.h" // G4 -#include "Geant4/G4Box.hh" +#include "G4Box.hh" namespace ExternalDetector { class CuboidEmbedder : public Embedder<G4Box> { diff --git a/Sim/ExternalDetector/src/Components/WorldCreator.cpp b/Sim/ExternalDetector/src/Components/WorldCreator.cpp index a2dede650f0dc1cba0837a139dab7701601ed10f..0bbb60976ed6cb182688bcb3d462e7ede3db1611 100644 --- a/Sim/ExternalDetector/src/Components/WorldCreator.cpp +++ b/Sim/ExternalDetector/src/Components/WorldCreator.cpp @@ -10,10 +10,10 @@ \*****************************************************************************/ // G4 -#include "Geant4/G4Box.hh" -#include "Geant4/G4LogicalVolume.hh" -#include "Geant4/G4Material.hh" -#include "Geant4/G4PVPlacement.hh" +#include "G4Box.hh" +#include "G4LogicalVolume.hh" +#include "G4Material.hh" +#include "G4PVPlacement.hh" // Gaudi #include "GaudiKernel/Service.h" #include "GaudiKernel/SystemOfUnits.h" diff --git a/Sim/ExternalDetector/src/Lib/Embedder.cpp b/Sim/ExternalDetector/src/Lib/Embedder.cpp index a793ed6b7136c26d4d6c05fdbf4e24e1e86f2ecd..55a0e20402c8fb724e50c003c3ee754b5098dc18 100644 --- a/Sim/ExternalDetector/src/Lib/Embedder.cpp +++ b/Sim/ExternalDetector/src/Lib/Embedder.cpp @@ -11,13 +11,13 @@ // local #include "ExternalDetector/Embedder.h" // G4 -#include "Geant4/G4Box.hh" -#include "Geant4/G4GDMLParser.hh" -#include "Geant4/G4LogicalVolume.hh" -#include "Geant4/G4LogicalVolumeStore.hh" -#include "Geant4/G4Material.hh" -#include "Geant4/G4PVPlacement.hh" -#include "Geant4/G4SDManager.hh" +#include "G4Box.hh" +#include "G4GDMLParser.hh" +#include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4Material.hh" +#include "G4PVPlacement.hh" +#include "G4SDManager.hh" namespace ExternalDetector { diff --git a/Sim/Gaussino/CMakeLists.txt b/Sim/Gaussino/CMakeLists.txt index 55e68e50700859161ee02aca021a683ecd0b689d..4efc63fd51f232fee5b817146c35d8d7ce7de75e 100644 --- a/Sim/Gaussino/CMakeLists.txt +++ b/Sim/Gaussino/CMakeLists.txt @@ -8,9 +8,10 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -gaudi_subdir(Gaussino v1r0) - -gaudi_depends_on_subdirs(Kernel/PartProp) - -gaudi_install_python_modules() -gaudi_add_test(QMTest QMTEST) +#[=======================================================================[.rst: +Sim/Gaussino +------------ +#]=======================================================================] +gaudi_install(PYTHON) +gaudi_generate_confuserdb() +gaudi_add_tests(QMTest) diff --git a/Sim/Gaussino/data/ParticleTable.txt b/Sim/Gaussino/data/ParticleTable.txt index eaffd58343b91c08d3ef5ca87ce99e42660a8727..9139665d48612115e8a2c7e91ea7acc49a3f6fdc 100644 --- a/Sim/Gaussino/data/ParticleTable.txt +++ b/Sim/Gaussino/data/ParticleTable.txt @@ -8,8 +8,8 @@ PARTICLE # GEANTID PDGID CHARGE MASS(GeV) TLIFE(s) EVTGENNAME PYTHIAID MAXWIDTH # gamma 1 22 0.0 0.00000000 1.000000e+16 gamma 22 0.00000000 - W+ 53 24 1.0 80.38500000 3.156893e-25 W+ 24 0.00000000 - W- 54 -24 -1.0 80.38500000 3.156893e-25 W- -24 0.00000000 + W+ 53 24 1.0 80.37900000 3.156893e-25 W+ 24 0.00000000 + W- 54 -24 -1.0 80.37900000 3.156893e-25 W- -24 0.00000000 Z0 55 23 0.0 91.18760000 2.637914e-25 Z0 23 0.00000000 e+ 2 -11 1.0 0.00051100 1.000000e+16 e+ -11 0.00000000 e- 3 11 -1.0 0.00051100 1.000000e+16 e- 11 0.00000000 @@ -19,23 +19,23 @@ PARTICLE mu- 6 13 -1.0 0.10565837 2.196981e-06 mu- 13 0.00000000 nu_mu 300 14 0.0 0.00000000 1.000000e+16 nu_mu 14 0.00000000 nu_mu~ 301 -14 0.0 0.00000000 1.000000e+16 anti-nu_mu -14 0.00000000 - tau+ 51 -15 1.0 1.77682000 2.903000e-13 tau+ -15 0.00000000 - tau- 52 15 -1.0 1.77682000 2.903000e-13 tau- 15 0.00000000 - pi0 7 111 0.0 0.13497660 8.520000e-17 pi0 111 0.00000000 - pi+ 8 211 1.0 0.13957018 2.603300e-08 pi+ 211 0.00000000 - pi- 9 -211 -1.0 0.13957018 2.603300e-08 pi- -211 0.00000000 + tau+ 51 -15 1.0 1.77686000 2.903449e-13 tau+ -15 0.00000000 + tau- 52 15 -1.0 1.77686000 2.903449e-13 tau- 15 0.00000000 + pi0 7 111 0.0 0.13497700 8.520000e-17 pi0 111 0.00000000 + pi+ 8 211 1.0 0.13957061 2.603300e-08 pi+ 211 0.00000000 + pi- 9 -211 -1.0 0.13957061 2.603300e-08 pi- -211 0.00000000 eta 17 221 0.0 0.54786200 5.063171e-19 eta 221 0.00000000 rho(770)0 33 113 0.0 0.77526000 4.414569e-24 rho0 113 0.00000000 rho(770)+ 34 213 1.0 0.77526000 4.414569e-24 rho+ 213 0.00000000 rho(770)- 35 -213 -1.0 0.77526000 4.414569e-24 rho- -213 0.00000000 omega(782) 36 223 0.0 0.78265000 7.752794e-23 omega 223 0.00000000 - eta_prime 127 331 0.0 0.95778000 3.324303e-21 eta' 331 0.00000000 + eta_prime 127 331 0.0 0.95778000 3.358224e-21 eta' 331 0.00000000 sigma_0 850 9000221 0.0 0.47500000 1.196749e-24 sigma_0 0 0.00000000 - f_0(980) 596 9010221 0.0 0.99000000 9.403031e-24 f_0 10221 0.00000000 + f_0(980) 596 9010221 0.0 0.99000000 1.097020e-23 f_0 10221 0.00000000 a_0(980)0 132 9000111 0.0 0.98000000 8.776163e-24 a_00 10111 0.00000000 a_0(980)+ 133 9000211 1.0 0.98000000 8.776163e-24 a_0+ 10211 0.00000000 a_0(980)- 134 -9000211 -1.0 0.98000000 8.776163e-24 a_0- -10211 0.00000000 - phi(1020) 37 333 0.0 1.01946100 1.545099e-22 phi 333 0.00000000 + phi(1020) 37 333 0.0 1.01946100 1.549099e-22 phi 333 0.00000000 h_1(1170) 597 10223 0.0 1.17000000 1.828367e-24 h_1 10223 0.00000000 b_1(1235)0 588 10113 0.0 1.22950000 4.635297e-24 b_10 10113 0.00000000 b_1(1235)+ 592 10213 1.0 1.22950000 4.635297e-24 b_1+ 10213 0.00000000 @@ -43,72 +43,72 @@ PARTICLE a_1(1260)0 135 20113 0.0 1.23000000 1.567172e-24 a_10 20113 0.00000000 a_1(1260)+ 42 20213 1.0 1.23000000 1.567172e-24 a_1+ 20213 0.00000000 a_1(1260)- 43 -20213 -1.0 1.23000000 1.567172e-24 a_1- -20213 0.00000000 - f_2(1270) 367 225 0.0 1.27510000 3.555982e-24 f_2 225 0.00000000 - f_1(1285) 687 20223 0.0 1.28190000 2.719885e-23 f_1 20223 0.00000000 + f_2(1270) 367 225 0.0 1.27550000 3.555982e-24 f_2 225 0.00000000 + f_1(1285) 687 20223 0.0 1.28190000 2.899612e-23 f_1 20223 0.00000000 eta(1295) 811 100221 0.0 1.29400000 1.196749e-23 eta(2S) 0 0.00000000 pi(1300)0 805 100111 0.0 1.30000000 1.645530e-24 pi(2S)0 0 0.00000000 pi(1300)+ 807 100211 1.0 1.30000000 1.645530e-24 pi(2S)+ 0 0.00000000 pi(1300)- 808 -100211 -1.0 1.30000000 1.645530e-24 pi(2S)- 0 0.00000000 - a_2(1320)0 136 115 0.0 1.31830000 6.151516e-24 a_20 115 0.00000000 - a_2(1320)+ 137 215 1.0 1.31830000 6.151516e-24 a_2+ 215 0.00000000 - a_2(1320)- 138 -215 -1.0 1.31830000 6.151516e-24 a_2- -215 0.00000000 + a_2(1320)0 136 115 0.0 1.31690000 6.151516e-24 a_20 115 0.00000000 + a_2(1320)+ 137 215 1.0 1.31690000 6.151516e-24 a_2+ 215 0.00000000 + a_2(1320)- 138 -215 -1.0 1.31690000 6.151516e-24 a_2- -215 0.00000000 f_0(1370) 686 10221 0.0 1.35000000 1.880606e-24 f'_0 10331 0.00000000 - h_1(1380) 604 10333 0.0 1.40000000 0.000000e+00 h'_1 10333 0.00000000 + h_1(1380) 604 10333 0.0 1.41600000 7.313467e-24 h'_1 10333 0.00000000 pi_1(1400)0 1021 9000113 0.0 1.35400000 1.994582e-24 pi_1(1400)0 0 0.00000000 pi_1(1400)+ 1023 9000213 1.0 1.35400000 1.994582e-24 pi_1(1400)+ 0 0.00000000 pi_1(1400)- 1024 -9000213 -1.0 1.35400000 1.994582e-24 pi_1(1400)- 0 0.00000000 - eta(1405)0 1025 9020221 0.0 1.40880000 1.290612e-23 eta(1405)0 0 0.00000000 + eta(1405)0 1025 9020221 0.0 1.40880000 1.313796e-23 eta(1405)0 0 0.00000000 omega(1420) 812 100223 0.0 1.42500000 3.061452e-24 omega(2S) 0 0.00000000 f_1(1420) 692 20333 0.0 1.42640000 1.198929e-23 f'_1 20333 0.00000000 rho(1450)0 806 100113 0.0 1.46500000 1.645530e-24 rho(2S)0 0 0.00000000 rho(1450)+ 809 100213 1.0 1.46500000 1.645530e-24 rho(2S)+ 0 0.00000000 rho(1450)- 810 -100213 -1.0 1.46500000 1.645530e-24 rho(2S)- 0 0.00000000 - a_0(1450)0 587 10111 0.0 1.47400000 2.483820e-24 unknown 0 0.00000000 - a_0(1450)+ 590 10211 1.0 1.47400000 2.483820e-24 unknown 0 0.00000000 - a_0(1450)- 591 -10211 -1.0 1.47400000 2.483820e-24 unknown 0 0.00000000 - eta(1475) 826 100331 0.0 1.47600000 7.743673e-24 unknown 0 0.00000000 - f_0(1500) 855 9030221 0.0 1.50500000 6.038644e-24 f_0(1500) 0 0.00000000 + a_0(1450)0 587 10111 0.0 1.46700000 2.483820e-24 a_0(1450)0 0 0.00000000 + a_0(1450)+ 590 10211 1.0 1.46700000 2.483820e-24 a_0(1450)+ 0 0.00000000 + a_0(1450)- 591 -10211 -1.0 1.46700000 2.483820e-24 a_0(1450)- 0 0.00000000 + eta(1475) 826 100331 0.0 1.47500000 7.743673e-24 eta(1475) 0 0.00000000 + f_0(1500) 855 9030221 0.0 1.50600000 6.038644e-24 f_0(1500) 0 0.00000000 f'_2(1525) 380 335 0.0 1.52500000 9.016605e-24 f'_2 335 0.00000000 - pi_1(1600)0 1027 9010113 0.0 1.66200000 2.742551e-24 pi_1(1600)0 0 0.00000000 - pi_1(1600)+ 1029 9010213 1.0 1.66200000 2.742551e-24 pi_1(1600)+ 0 0.00000000 - pi_1(1600)- 1030 -9010213 -1.0 1.66200000 2.742551e-24 pi_1(1600)- 0 0.00000000 - eta_2(1645) 598 10225 0.0 1.61700000 3.636531e-24 unknown 0 0.00000000 + pi_1(1600)0 1027 9010113 0.0 1.66000000 2.742551e-24 pi_1(1600)0 0 0.00000000 + pi_1(1600)+ 1029 9010213 1.0 1.66000000 2.742551e-24 pi_1(1600)+ 0 0.00000000 + pi_1(1600)- 1030 -9010213 -1.0 1.66000000 2.742551e-24 pi_1(1600)- 0 0.00000000 + eta_2(1645) 598 10225 0.0 1.61700000 3.636531e-24 eta_2(1645) 0 0.00000000 omega(1650) 746 30223 0.0 1.67000000 2.089563e-24 omega(1650) 0 0.00000000 - pi_2(1670)0 589 10115 0.0 1.67220000 2.531585e-24 unknown 0 0.00000000 - pi_2(1670)+ 594 10215 1.0 1.67220000 2.531585e-24 unknown 0 0.00000000 - pi_2(1670)- 595 -10215 -1.0 1.67220000 2.531585e-24 unknown 0 0.00000000 - omega_3(1670) 368 227 0.0 1.66700000 3.917930e-24 unknown 0 0.00000000 + pi_2(1670)0 589 10115 0.0 1.67060000 2.551209e-24 pi_2(1670)0 0 0.00000000 + pi_2(1670)+ 594 10215 1.0 1.67060000 2.551209e-24 pi_2(1670)+ 0 0.00000000 + pi_2(1670)- 595 -10215 -1.0 1.67060000 2.551209e-24 pi_2(1670)- 0 0.00000000 + omega_3(1670) 368 227 0.0 1.66700000 3.917930e-24 omega_3(1670) 0 0.00000000 phi(1680) 827 100333 0.0 1.68000000 4.388081e-24 phi(1680) 0 0.00000000 - rho_3(1690)0 361 117 0.0 1.68880000 4.088274e-24 unknown 0 0.00000000 - rho_3(1690)+ 363 217 1.0 1.68880000 4.088274e-24 unknown 0 0.00000000 - rho_3(1690)- 364 -217 -1.0 1.68880000 4.088274e-24 unknown 0 0.00000000 + rho_3(1690)0 361 117 0.0 1.68880000 4.088274e-24 rho_3(1690)0 0 0.00000000 + rho_3(1690)+ 363 217 1.0 1.68880000 4.088274e-24 rho_3(1690)+ 0 0.00000000 + rho_3(1690)- 364 -217 -1.0 1.68880000 4.088274e-24 rho_3(1690)- 0 0.00000000 rho(1700)0 743 30113 0.0 1.72000000 2.632849e-24 rho(3S)0 0 0.00000000 rho(1700)+ 744 30213 1.0 1.72000000 2.632849e-24 rho(3S)+ 0 0.00000000 rho(1700)- 745 -30213 -1.0 1.72000000 2.632849e-24 rho(3S)- 0 0.00000000 - f_0(1710) 603 10331 0.0 1.72200000 4.875646e-24 unknown 0 0.00000000 - pi(1800)0 840 9010111 0.0 1.81200000 3.164482e-24 unknown 0 0.00000000 - pi(1800)+ 841 9010211 1.0 1.81200000 3.164482e-24 unknown 0 0.00000000 - pi(1800)- 842 -9010211 -1.0 1.81200000 3.164482e-24 unknown 0 0.00000000 - phi_3(1850) 381 337 0.0 1.85400000 7.565657e-24 unknown 0 0.00000000 - eta_2(1870) 605 10335 0.0 1.85400000 0.000000e+00 unknown 0 0.00000000 - f_2(1950) 813 9050225 0.0 1.94400000 1.394517e-24 unknown 0 0.00000000 - f_2(2010) 828 9060225 0.0 2.01100000 3.291061e-24 unknown 0 0.00000000 - a_4(2040)0 362 119 0.0 1.99600000 2.581224e-24 unknown 0 0.00000000 - a_4(2040)+ 365 219 1.0 1.99600000 2.581224e-24 unknown 0 0.00000000 - a_4(2040)- 366 -219 -1.0 1.99600000 2.581224e-24 unknown 0 0.00000000 - f_4(2050) 369 229 0.0 2.01800000 2.777267e-24 unknown 0 0.00000000 - f_2(2300) 857 9080225 0.0 2.29700000 4.417530e-24 unknown 0 0.00000000 - f_2(2340) 858 9090225 0.0 2.33900000 2.063361e-24 unknown 0 0.00000000 - K0 370 311 0.0 0.49761400 0.000000e+00 K0 311 0.00000000 - K~0 371 -311 0.0 0.49761400 0.000000e+00 anti-K0 -311 0.00000000 - KS0 16 310 0.0 0.49761400 8.956400e-11 K_S0 310 0.00000000 - KL0 10 130 0.0 0.49761400 5.116000e-08 K_L0 130 0.00000000 + f_0(1710) 603 10331 0.0 1.70400000 5.351317e-24 f_0(1710) 0 0.00000000 + pi(1800)0 840 9010111 0.0 1.81000000 3.164482e-24 pi(1800)0 0 0.00000000 + pi(1800)+ 841 9010211 1.0 1.81000000 3.164482e-24 pi(1800)+ 0 0.00000000 + pi(1800)- 842 -9010211 -1.0 1.81000000 3.164482e-24 pi(1800)- 0 0.00000000 + phi_3(1850) 381 337 0.0 1.85400000 7.565657e-24 phi_3(1850) 0 0.00000000 + eta_2(1870) 605 10335 0.0 1.85400000 0.000000e+00 eta_2(1870) 0 0.00000000 + f_2(1950) 813 9050225 0.0 1.93600000 1.418560e-24 f_2(1950) 0 0.00000000 + f_2(2010) 828 9060225 0.0 2.01000000 3.291061e-24 f_2(2010) 0 0.00000000 + a_4(2040)0 362 119 0.0 1.96700000 2.581224e-24 a_4(2040)0 0 0.00000000 + a_4(2040)+ 365 219 1.0 1.96700000 2.581224e-24 a_4(2040)+ 0 0.00000000 + a_4(2040)- 366 -219 -1.0 1.96700000 2.581224e-24 a_4(2040)- 0 0.00000000 + f_4(2050) 369 229 0.0 2.01800000 2.777267e-24 f_4(2050) 0 0.00000000 + f_2(2300) 857 9080225 0.0 2.29700000 4.417530e-24 f_2(2300) 0 0.00000000 + f_2(2340) 858 9090225 0.0 2.35000000 2.063361e-24 f_2(2340) 0 0.00000000 + K0 370 311 0.0 0.49761100 0.000000e+00 K0 311 0.00000000 + K~0 371 -311 0.0 0.49761100 0.000000e+00 anti-K0 -311 0.00000000 + KS0 16 310 0.0 0.49761100 8.956400e-11 K_S0 310 0.00000000 + KL0 10 130 0.0 0.49761100 5.116000e-08 K_L0 130 0.00000000 K+ 11 321 1.0 0.49367700 1.238000e-08 K+ 321 0.00000000 K- 12 -321 -1.0 0.49367700 1.238000e-08 K- -321 0.00000000 - K*(892)0 40 313 0.0 0.89581000 1.388633e-23 K*0 313 0.00000000 - K*(892)~0 41 -313 0.0 0.89581000 1.388633e-23 anti-K*0 -313 0.00000000 - K*(892)+ 38 323 1.0 0.89166000 1.295693e-23 K*+ 323 0.00000000 - K*(892)- 39 -323 -1.0 0.89166000 1.295693e-23 K*- -323 0.00000000 + K*(892)0 40 313 0.0 0.89555000 1.391569e-23 K*0 313 0.00000000 + K*(892)~0 41 -313 0.0 0.89555000 1.391569e-23 anti-K*0 -313 0.00000000 + K*(892)+ 38 323 1.0 0.89166000 1.308573e-23 K*+ 323 0.00000000 + K*(892)- 39 -323 -1.0 0.89166000 1.308573e-23 K*- -323 0.00000000 K_1(1270)0 141 10313 0.0 1.27200000 7.313469e-24 K_10 10313 0.00000000 K_1(1270)~0 142 -10313 0.0 1.27200000 7.313469e-24 anti-K_10 -10313 0.00000000 K_1(1270)+ 139 10323 1.0 1.27200000 7.313469e-24 K_1+ 10323 0.00000000 @@ -117,70 +117,70 @@ PARTICLE K_1(1400)~0 146 -20313 0.0 1.40300000 3.782829e-24 anti-K'_10 -20313 0.00000000 K_1(1400)+ 143 20323 1.0 1.40300000 3.782829e-24 K'_1+ 20323 0.00000000 K_1(1400)- 144 -20323 -1.0 1.40300000 3.782829e-24 K'_1- -20323 0.00000000 - K*(1410)0 816 100313 0.0 1.41400000 2.837122e-24 K'*0 0 0.00000000 - K*(1410)~0 817 -100313 0.0 1.41400000 2.837122e-24 anti-K'*0 0 0.00000000 - K*(1410)+ 822 100323 1.0 1.41400000 2.837122e-24 K'*+ 0 0.00000000 - K*(1410)- 823 -100323 -1.0 1.41400000 2.837122e-24 K'*- 0 0.00000000 - K*_0(1430)0 149 10311 0.0 1.42500000 2.437823e-24 K_0*0 10311 0.00000000 - K*_0(1430)~0 150 -10311 0.0 1.42500000 2.437823e-24 anti-K_0*0 -10311 0.00000000 - K*_0(1430)+ 147 10321 1.0 1.42500000 2.437823e-24 K_0*+ 10321 0.00000000 - K*_0(1430)- 148 -10321 -1.0 1.42500000 2.437823e-24 K_0*- -10321 0.00000000 + K*(1410)0 816 100313 0.0 1.42100000 2.837122e-24 K'*0 0 0.00000000 + K*(1410)~0 817 -100313 0.0 1.42100000 2.837122e-24 anti-K'*0 0 0.00000000 + K*(1410)+ 822 100323 1.0 1.42100000 2.837122e-24 K'*+ 0 0.00000000 + K*(1410)- 823 -100323 -1.0 1.42100000 2.837122e-24 K'*- 0 0.00000000 + K*_0(1430)0 149 10311 0.0 1.43000000 2.437823e-24 K_0*0 10311 0.00000000 + K*_0(1430)~0 150 -10311 0.0 1.43000000 2.437823e-24 anti-K_0*0 -10311 0.00000000 + K*_0(1430)+ 147 10321 1.0 1.43000000 2.437823e-24 K_0*+ 10321 0.00000000 + K*_0(1430)- 148 -10321 -1.0 1.43000000 2.437823e-24 K_0*- -10321 0.00000000 K*_2(1430)0 153 315 0.0 1.43240000 6.038644e-24 K_2*0 315 0.00000000 K*_2(1430)~0 154 -315 0.0 1.43240000 6.038644e-24 anti-K_2*0 -315 0.00000000 K*_2(1430)+ 151 325 1.0 1.42560000 6.682357e-24 K_2*+ 325 0.00000000 K*_2(1430)- 152 -325 -1.0 1.42560000 6.682357e-24 K_2*- -325 0.00000000 - K(1460)0 814 100311 0.0 1.43240000 0.000000e+00 unknown 0 0.00000000 - K(1460)~0 815 -100311 0.0 1.43240000 0.000000e+00 unknown 0 0.00000000 - K(1460)+ 820 100321 1.0 1.43240000 0.000000e+00 unknown 0 0.00000000 - K(1460)- 821 -100321 -1.0 1.43240000 0.000000e+00 unknown 0 0.00000000 - K*(1680)0 747 30313 0.0 1.71700000 2.056913e-24 K''*0 0 0.00000000 - K*(1680)~0 748 -30313 0.0 1.71700000 2.056913e-24 anti-K''*0 0 0.00000000 - K*(1680)+ 749 30323 1.0 1.71700000 2.056913e-24 K''*+ 0 0.00000000 - K*(1680)- 750 -30323 -1.0 1.71700000 2.056913e-24 K''*- 0 0.00000000 - K_2(1770)0 599 10315 0.0 1.77300000 3.538775e-24 unknown 0 0.00000000 - K_2(1770)~0 600 -10315 0.0 1.77300000 3.538775e-24 unknown 0 0.00000000 - K_2(1770)+ 601 10325 1.0 1.77300000 3.538775e-24 unknown 0 0.00000000 - K_2(1770)- 602 -10325 -1.0 1.77300000 3.538775e-24 unknown 0 0.00000000 + K(1460)0 814 100311 0.0 1.43240000 0.000000e+00 K(1460)0 0 0.00000000 + K(1460)~0 815 -100311 0.0 1.43240000 0.000000e+00 anti-K(1460)0 0 0.00000000 + K(1460)+ 820 100321 1.0 1.43240000 0.000000e+00 K(1460)+ 0 0.00000000 + K(1460)- 821 -100321 -1.0 1.43240000 0.000000e+00 K(1460)- 0 0.00000000 + K*(1680)0 747 30313 0.0 1.71800000 2.056913e-24 K''*0 0 0.00000000 + K*(1680)~0 748 -30313 0.0 1.71800000 2.056913e-24 anti-K''*0 0 0.00000000 + K*(1680)+ 749 30323 1.0 1.71800000 2.056913e-24 K''*+ 0 0.00000000 + K*(1680)- 750 -30323 -1.0 1.71800000 2.056913e-24 K''*- 0 0.00000000 + K_2(1770)0 599 10315 0.0 1.77300000 3.538775e-24 K_2(1770)0 0 0.00000000 + K_2(1770)~0 600 -10315 0.0 1.77300000 3.538775e-24 anti-K_2(1770)0 0 0.00000000 + K_2(1770)+ 601 10325 1.0 1.77300000 3.538775e-24 K_2(1770)+ 0 0.00000000 + K_2(1770)- 602 -10325 -1.0 1.77300000 3.538775e-24 K_2(1770)- 0 0.00000000 K*_3(1780)0 372 317 0.0 1.77600000 4.139699e-24 K_3*0 0 0.00000000 K*_3(1780)~0 373 -317 0.0 1.77600000 4.139699e-24 anti-K_3*0 0 0.00000000 K*_3(1780)+ 376 327 1.0 1.77600000 4.139699e-24 K_3*+ 0 0.00000000 K*_3(1780)- 377 -327 -1.0 1.77600000 4.139699e-24 K_3*- 0 0.00000000 - K_2(1820)0 688 20315 0.0 1.81600000 2.384827e-24 unknown 0 0.00000000 - K_2(1820)~0 689 -20315 0.0 1.81600000 2.384827e-24 unknown 0 0.00000000 - K_2(1820)+ 690 20325 1.0 1.81600000 2.384827e-24 unknown 0 0.00000000 - K_2(1820)- 691 -20325 -1.0 1.81600000 2.384827e-24 unknown 0 0.00000000 - K*_2(1980)0 818 100315 0.0 1.97300000 0.000000e+00 unknown 0 0.00000000 - K*_2(1980)~0 819 -100315 0.0 1.97300000 0.000000e+00 unknown 0 0.00000000 - K*_2(1980)+ 824 100325 1.0 1.97300000 0.000000e+00 unknown 0 0.00000000 - K*_2(1980)- 825 -100325 -1.0 1.97300000 0.000000e+00 unknown 0 0.00000000 + K_2(1820)0 688 20315 0.0 1.81900000 2.493227e-24 K_2(1820)0 0 0.00000000 + K_2(1820)~0 689 -20315 0.0 1.81900000 2.493227e-24 anti-K_2(1820)0 0 0.00000000 + K_2(1820)+ 690 20325 1.0 1.81900000 2.493227e-24 K_2(1820)+ 0 0.00000000 + K_2(1820)- 691 -20325 -1.0 1.81900000 2.493227e-24 K_2(1820)- 0 0.00000000 + K*_2(1980)0 818 100315 0.0 1.97300000 0.000000e+00 K*_2(1980)0 0 0.00000000 + K*_2(1980)~0 819 -100315 0.0 1.97300000 0.000000e+00 anti-K*_2(1980)0 0 0.00000000 + K*_2(1980)+ 824 100325 1.0 1.97300000 0.000000e+00 K*_2(1980)+ 0 0.00000000 + K*_2(1980)- 825 -100325 -1.0 1.97300000 0.000000e+00 K*_2(1980)- 0 0.00000000 K*_4(2045)0 374 319 0.0 2.04500000 3.324304e-24 K_4*0 0 0.00000000 K*_4(2045)~0 375 -319 0.0 2.04500000 3.324304e-24 anti-K_4*0 0 0.00000000 K*_4(2045)+ 378 329 1.0 2.04500000 3.324304e-24 K_4*+ 0 0.00000000 K*_4(2045)- 379 -329 -1.0 2.04500000 3.324304e-24 K_4*- 0 0.00000000 - D0 58 421 0.0 1.86484000 4.101000e-13 D0 421 0.00000000 - D~0 59 -421 0.0 1.86484000 4.101000e-13 anti-D0 -421 0.00000000 - D+ 56 411 1.0 1.86961000 1.040000e-12 D+ 411 0.00000000 - D- 57 -411 -1.0 1.86961000 1.040000e-12 D- -411 0.00000000 - D*(2007)0 67 423 0.0 2.00696000 1.000003e-19 D*0 423 0.00000000 - D*(2007)~0 68 -423 0.0 2.00696000 1.000003e-19 anti-D*0 -423 0.00000000 + D0 58 421 0.0 1.86483000 4.101000e-13 D0 421 0.00000000 + D~0 59 -421 0.0 1.86483000 4.101000e-13 anti-D0 -421 0.00000000 + D+ 56 411 1.0 1.86965000 1.040000e-12 D+ 411 0.00000000 + D- 57 -411 -1.0 1.86965000 1.040000e-12 D- -411 0.00000000 + D*(2007)0 67 423 0.0 2.00685000 1.000003e-19 D*0 423 0.00000000 + D*(2007)~0 68 -423 0.0 2.00685000 1.000003e-19 anti-D*0 -423 0.00000000 D*(2010)+ 65 413 1.0 2.01026000 7.892230e-21 D*+ 413 0.00000000 D*(2010)- 66 -413 -1.0 2.01026000 7.892230e-21 D*- -413 0.00000000 - D*_0+ 155 10411 1.0 2.31800000 2.465213e-24 D_0*+ 10411 0.00000000 - D*_0- 159 -10411 -1.0 2.31800000 2.465213e-24 D_0*- -10411 0.00000000 - D*_00 163 10421 0.0 2.31800000 2.465213e-24 D_0*0 10421 0.00000000 - D*_0~0 167 -10421 0.0 2.31800000 2.465213e-24 anti-D_0*0 -10421 0.00000000 + D*_0+ 155 10411 1.0 2.34900000 2.978335e-24 D_0*+ 10411 0.00000000 + D*_0- 159 -10411 -1.0 2.34900000 2.978335e-24 D_0*- -10411 0.00000000 + D*_00 163 10421 0.0 2.30000000 2.402234e-24 D_0*0 10421 0.00000000 + D*_0~0 167 -10421 0.0 2.30000000 2.402234e-24 anti-D_0*0 -10421 0.00000000 D_1(H)0 164 20423 0.0 2.44500000 2.630000e-24 D'_10 20423 0.00000000 D_1(H)~0 168 -20423 0.0 2.44500000 2.630000e-24 anti-D'_10 -20423 0.00000000 D_1(H)+ 156 20413 1.0 2.44500000 2.630000e-24 D'_1+ 20413 0.00000000 D_1(H)- 160 -20413 -1.0 2.44500000 2.630000e-24 D'_1- -20413 0.00000000 - D_1(2420)0 165 10423 0.0 2.42140000 2.428827e-23 D_10 10423 0.00000000 - D_1(2420)~0 169 -10423 0.0 2.42140000 2.428827e-23 anti-D_10 -10423 0.00000000 + D_1(2420)0 165 10423 0.0 2.42080000 2.428827e-23 D_10 10423 0.00000000 + D_1(2420)~0 169 -10423 0.0 2.42080000 2.428827e-23 anti-D_10 -10423 0.00000000 D_1(2420)+ 157 10413 1.0 2.42300000 3.290000e-23 D_1+ 10413 0.00000000 D_1(2420)- 161 -10413 -1.0 2.42300000 3.290000e-23 D_1- -10413 0.00000000 - D*_2(2460)0 170 425 0.0 2.46260000 1.343290e-23 D_2*0 425 0.00000000 - D*_2(2460)~0 166 -425 0.0 2.46260000 1.343290e-23 anti-D_2*0 -425 0.00000000 - D*_2(2460)+ 162 415 1.0 2.46430000 1.778952e-23 D_2*+ 415 0.00000000 - D*_2(2460)- 158 -415 -1.0 2.46430000 1.778952e-23 D_2*- -415 0.00000000 + D*_2(2460)0 170 425 0.0 2.46070000 1.385709e-23 D_2*0 425 0.00000000 + D*_2(2460)~0 166 -425 0.0 2.46070000 1.385709e-23 anti-D_2*0 -425 0.00000000 + D*_2(2460)+ 162 415 1.0 2.46540000 1.778952e-23 D_2*+ 415 0.00000000 + D*_2(2460)- 158 -415 -1.0 2.46540000 1.778952e-23 D_2*- -415 0.00000000 D(2S)0 761 100421 0.0 2.58000000 0.000000e+00 D(2S)0 0 0.00000000 D(2S)~0 762 -100421 0.0 2.58000000 0.000000e+00 anti-D(2S)0 0 0.00000000 D(2S)+ 757 100411 1.0 2.58000000 0.000000e+00 D(2S)+ 0 0.00000000 @@ -189,28 +189,28 @@ PARTICLE D*(2640)~0 764 -100423 0.0 2.64000000 0.000000e+00 anti-D*(2S)0 0 0.00000000 D*(2640)+ 759 100413 1.0 2.64000000 0.000000e+00 D*(2S)+ 0 0.00000000 D*(2640)- 760 -100413 -1.0 2.64000000 0.000000e+00 D*(2S)- 0 0.00000000 - D_s+ 60 431 1.0 1.96830000 5.000000e-13 D_s+ 431 0.00000000 - D_s- 61 -431 -1.0 1.96830000 5.000000e-13 D_s- -431 0.00000000 - D*_s+ 69 433 1.0 2.11210000 1.000003e-19 D_s*+ 433 0.00000000 - D*_s- 70 -433 -1.0 2.11210000 1.000003e-19 D_s*- -433 0.00000000 - D*_s0+ 171 10431 1.0 2.31770000 6.582100e-22 D_s0*+ 10431 0.00000000 - D*_s0- 175 -10431 -1.0 2.31770000 6.582100e-22 D_s0*- -10431 0.00000000 + D_s+ 60 431 1.0 1.96834000 5.043770e-13 D_s+ 431 0.00000000 + D_s- 61 -431 -1.0 1.96834000 5.043770e-13 D_s- -431 0.00000000 + D*_s+ 69 433 1.0 2.11220000 1.000003e-19 D_s*+ 433 0.00000000 + D*_s- 70 -433 -1.0 2.11220000 1.000003e-19 D_s*- -433 0.00000000 + D*_s0+ 171 10431 1.0 2.31780000 6.582100e-22 D_s0*+ 10431 0.00000000 + D*_s0- 175 -10431 -1.0 2.31780000 6.582100e-22 D_s0*- -10431 0.00000000 D_s1(2460)+ 172 20433 1.0 2.45950000 6.582100e-22 D_s1+ 20433 0.00000000 D_s1(2460)- 176 -20433 -1.0 2.45950000 6.582100e-22 D_s1- -20433 0.00000000 - D_s1(2536)+ 173 10433 1.0 2.53510000 7.154480e-22 D'_s1+ 10433 0.00000000 - D_s1(2536)- 177 -10433 -1.0 2.53510000 7.154480e-22 D'_s1- -10433 0.00000000 - D*_s2+ 174 435 1.0 2.57190000 3.871836e-23 D_s2*+ 435 0.00000000 - D*_s2- 178 -435 -1.0 2.57190000 3.871836e-23 D_s2*- -435 0.00000000 - B0 73 511 0.0 5.27958000 1.519000e-12 B0 511 0.00000000 - B~0 74 -511 0.0 5.27958000 1.519000e-12 anti-B0 -511 0.00000000 + D_s1(2536)+ 173 10433 1.0 2.53511000 7.154480e-22 D'_s1+ 10433 0.00000000 + D_s1(2536)- 177 -10433 -1.0 2.53511000 7.154480e-22 D'_s1- -10433 0.00000000 + D*_s2+ 174 435 1.0 2.56910000 3.894746e-23 D_s2*+ 435 0.00000000 + D*_s2- 178 -435 -1.0 2.56910000 3.894746e-23 D_s2*- -435 0.00000000 + B0 73 511 0.0 5.27964000 1.520120e-12 B0 511 0.00000000 + B~0 74 -511 0.0 5.27964000 1.520120e-12 anti-B0 -511 0.00000000 B0H 99998 510 0.0 5.27958000 1.519000e-12 B0H 0 0.00000000 B0L 99999 150 0.0 5.27958000 1.519000e-12 B0L 0 0.00000000 - B+ 71 521 1.0 5.27926000 1.638000e-12 B+ 521 0.00000000 - B- 72 -521 -1.0 5.27926000 1.638000e-12 B- -521 0.00000000 - B*0 189 513 0.0 5.32520000 1.000019e-19 B*0 513 0.00000000 - B*~0 190 -513 0.0 5.32520000 1.000019e-19 anti-B*0 -513 0.00000000 - B*- 187 -523 -1.0 5.32520000 1.000019e-19 B*- -523 0.00000000 - B*+ 188 523 1.0 5.32520000 1.000019e-19 B*+ 523 0.00000000 + B+ 71 521 1.0 5.27933000 1.638158e-12 B+ 521 0.00000000 + B- 72 -521 -1.0 5.27933000 1.638158e-12 B- -521 0.00000000 + B*0 189 513 0.0 5.32470000 1.000019e-19 B*0 513 0.00000000 + B*~0 190 -513 0.0 5.32470000 1.000019e-19 anti-B*0 -513 0.00000000 + B*- 187 -523 -1.0 5.32470000 1.000019e-19 B*- -523 0.00000000 + B*+ 188 523 1.0 5.32470000 1.000019e-19 B*+ 523 0.00000000 B*_00 201 10511 0.0 5.73800000 4.390000e-24 B_0*0 10511 0.00000000 B*_0~0 205 -10511 0.0 5.73800000 4.390000e-24 anti-B_0*0 -10511 0.00000000 B*_0+ 193 10521 1.0 5.73800000 4.390000e-24 B_0*+ 10521 0.00000000 @@ -219,16 +219,16 @@ PARTICLE B_1(H)~0 206 -20513 0.0 5.75700000 2.630000e-24 anti-B'_10 -20513 0.00000000 B_1(H)+ 194 20523 1.0 5.75700000 2.630000e-24 B'_1+ 20523 0.00000000 B_1(H)- 198 -20523 -1.0 5.75700000 2.630000e-24 B'_1- -20523 0.00000000 - B_1(L)0 203 10513 0.0 5.72340000 3.134000e-23 B_10 10513 0.00000000 - B_1(L)~0 207 -10513 0.0 5.72340000 3.134000e-23 anti-B_10 -10513 0.00000000 - B_1(L)+ 195 10523 1.0 5.72340000 3.134000e-23 B_1+ 10523 0.00000000 - B_1(L)- 199 -10523 -1.0 5.72340000 3.134000e-23 B_1- -10523 0.00000000 - B*_20 204 515 0.0 5.74300000 2.861792e-23 B_2*0 515 0.00000000 - B*_2~0 208 -515 0.0 5.74300000 2.861792e-23 anti-B_2*0 -515 0.00000000 - B*_2+ 196 525 1.0 5.74300000 2.861792e-23 B_2*+ 525 0.00000000 - B*_2- 200 -525 -1.0 5.74300000 2.861792e-23 B_2*- -525 0.00000000 - B_s0 75 531 0.0 5.36677000 1.512000e-12 B_s0 531 0.00000000 - B_s~0 76 -531 0.0 5.36677000 1.512000e-12 anti-B_s0 -531 0.00000000 + B_1(L)0 203 10513 0.0 5.72610000 3.134000e-23 B_10 10513 0.00000000 + B_1(L)~0 207 -10513 0.0 5.72610000 3.134000e-23 anti-B_10 -10513 0.00000000 + B_1(L)+ 195 10523 1.0 5.72590000 3.134000e-23 B_1+ 10523 0.00000000 + B_1(L)- 199 -10523 -1.0 5.72590000 3.134000e-23 B_1- -10523 0.00000000 + B*_20 204 515 0.0 5.73950000 2.861792e-23 B_2*0 515 0.00000000 + B*_2~0 208 -515 0.0 5.73950000 2.861792e-23 anti-B_2*0 -515 0.00000000 + B*_2+ 196 525 1.0 5.73720000 3.291060e-23 B_2*+ 525 0.00000000 + B*_2- 200 -525 -1.0 5.73720000 3.291060e-23 B_2*- -525 0.00000000 + B_s0 75 531 0.0 5.36688000 1.512000e-12 B_s0 531 0.00000000 + B_s~0 76 -531 0.0 5.36688000 1.512000e-12 anti-B_s0 -531 0.00000000 B_s0H 99996 530 0.0 5.36677000 1.661000e-12 B_s0H 0 0.00000000 B_s0L 99997 350 0.0 5.36677000 1.405000e-12 B_s0L 0 0.00000000 B*_s0 191 533 0.0 5.41540000 1.000000e-19 B_s*0 533 0.00000000 @@ -238,39 +238,43 @@ PARTICLE B_s1(H)0 210 20533 0.0 5.85900000 2.630000e-24 B'_s10 20533 0.00000000 B_s1(H)~0 214 -20533 0.0 5.85900000 2.630000e-24 anti-B'_s10 -20533 0.00000000 B_s1(L)0 211 10533 0.0 5.82870000 1.316424e-21 B_s10 10533 0.00000000 - B_s1(L)~0 215 -10533 0.0 5.82870000 1.316424e-22 anti-B_s10 -10533 0.00000000 - B*_s20 212 535 0.0 5.83996000 4.113825e-22 B_s2*0 535 0.00000000 - B*_s2~0 216 -535 0.0 5.83996000 4.113825e-22 anti-B_s2*0 -535 0.00000000 - B_c+ 77 541 1.0 6.27370000 5.070000e-13 B_c+ 541 0.00000000 - B_c- 78 -541 -1.0 6.27370000 5.070000e-13 B_c- -541 0.00000000 - B_c*+ 382 543 1.0 6.60200000 0.000000e+00 B_c*+ 543 0.00000000 - B_c*- 383 -543 -1.0 6.60200000 0.000000e+00 B_c*- -543 0.00000000 - B_c0*+ 607 10541 1.0 7.25000000 0.000000e+00 B_c0*+ 10541 0.00000000 - B_c0*- 608 -10541 -1.0 7.25000000 0.000000e+00 B_c0*- -10541 0.00000000 - B_c1(L)+ 609 10543 1.0 7.30000000 0.000000e+00 B_c1+ 10543 0.00000000 - B_c1(L)- 610 -10543 -1.0 7.30000000 0.000000e+00 B_c1- -10543 0.00000000 - B_c1(H)+ 693 20543 1.0 7.40000000 0.000000e+00 B'_c1+ 20543 0.00000000 - B_c1(H)- 694 -20543 -1.0 7.40000000 0.000000e+00 B'_c1- -20543 0.00000000 - B_c2*+ 384 545 1.0 7.35000000 0.000000e+00 B_c2*+ 545 0.00000000 - B_c2*- 385 -545 -1.0 7.35000000 0.000000e+00 B_c2*- -545 0.00000000 - eta_c(1S) 128 441 0.0 2.98360000 2.216203e-23 eta_c 441 0.00000000 - J/psi(1S) 64 443 0.0 3.09691600 7.085169e-21 J/psi 443 0.00000000 - chi_c0(1P) 129 10441 0.0 3.41475000 6.328963e-23 chi_c0 10441 0.00000000 - chi_c1(1P) 130 20443 0.0 3.51066000 7.835857e-22 chi_c1 20443 0.00000000 + B_s1(L)~0 215 -10533 0.0 5.82870000 1.316424e-21 anti-B_s10 -10533 0.00000000 + B*_s20 212 535 0.0 5.83985000 4.477633e-22 B_s2*0 535 0.00000000 + B*_s2~0 216 -535 0.0 5.83985000 4.477633e-22 anti-B_s2*0 -535 0.00000000 + B_c+ 77 541 1.0 6.27447000 5.070971e-13 B_c+ 541 0.00000000 + B_c- 78 -541 -1.0 6.27447000 5.070971e-13 B_c- -541 0.00000000 + B_c*+ 382 543 1.0 6.33330000 0.000000e+00 B_c*+ 543 0.00000000 + B_c*- 383 -543 -1.0 6.33330000 0.000000e+00 B_c*- -543 0.00000000 + B_c0*+ 607 10541 1.0 6.70600000 0.000000e+00 B_c0*+ 10541 0.00000000 + B_c0*- 608 -10541 -1.0 6.70600000 0.000000e+00 B_c0*- -10541 0.00000000 + B_c1(L)+ 609 10543 1.0 6.74100000 0.000000e+00 B_c1+ 10543 0.00000000 + B_c1(L)- 610 -10543 -1.0 6.74100000 0.000000e+00 B_c1- -10543 0.00000000 + B_c1(H)+ 693 20543 1.0 6.75000000 0.000000e+00 B'_c1+ 20543 0.00000000 + B_c1(H)- 694 -20543 -1.0 6.75000000 0.000000e+00 B'_c1- -20543 0.00000000 + B_c2*+ 384 545 1.0 6.76800000 0.000000e+00 B_c2*+ 545 0.00000000 + B_c2*- 385 -545 -1.0 6.76800000 0.000000e+00 B_c2*- -545 0.00000000 + B_c(2S)+ 100541 100541 1.0 6.87210000 0.000000e+00 B_c(2S)+ 100541 0.00000000 + B_c(2S)- 100542 -100541 -1.0 6.87210000 0.000000e+00 B_c(2S)- -100541 0.00000000 + B_c*(2S)+ 100543 100543 1.0 6.90000000 0.000000e+00 B_c*(2S)+ 100543 0.00000000 + B_c*(2S)- 100544 -100543 -1.0 6.90000000 0.000000e+00 B_c*(2S)- -100543 0.00000000 + eta_c(1S) 128 441 0.0 2.98390000 2.216203e-23 eta_c 441 0.00000000 + J/psi(1S) 64 443 0.0 3.09690000 7.085169e-21 J/psi 443 0.00000000 + chi_c0(1P) 129 10441 0.0 3.41471000 6.328963e-23 chi_c0 10441 0.00000000 + chi_c1(1P) 130 20443 0.0 3.51067000 7.835857e-22 chi_c1 20443 0.00000000 h_c(1P) 606 10443 0.0 3.52538000 9.403029e-22 h_c 10443 0.00000000 - chi_c2(1P) 131 445 0.0 3.55620000 3.410425e-22 chi_c2 445 0.00000000 - eta_c(2S) 829 100441 0.0 3.63940000 6.582122e-23 eta_c(2S) 100441 0.00000000 - psi(2S) 126 100443 0.0 3.68610900 2.201378e-21 psi(2S) 100443 0.00000000 - psi(3770) 765 30443 0.0 3.77315000 2.419898e-23 psi(3770) 30443 0.00000000 + chi_c2(1P) 131 445 0.0 3.55617000 3.410425e-22 chi_c2 445 0.00000000 + eta_c(2S) 829 100441 0.0 3.63750000 6.582122e-23 eta_c(2S) 100441 0.00000000 + psi(2S) 126 100443 0.0 3.68609700 2.238816e-21 psi(2S) 100443 0.00000000 + psi(3770) 765 30443 0.0 3.77313000 2.419898e-23 psi(3770) 30443 0.00000000 chi_c2(2P) 1031 100445 0.0 3.92720000 2.742551e-23 chi_c2(2P) 0 0.00000000 psi(4040) 851 9000443 0.0 4.03900000 8.227652e-24 psi(4040) 0 0.00000000 psi(4160) 853 9010443 0.0 4.19100000 9.403029e-24 psi(4160) 0 0.00000000 psi(4415) 856 9020443 0.0 4.42100000 1.061633e-23 psi(4415) 0 0.00000000 X_1(3872) 1016 9920443 0.0 3.87169000 2.076340e-21 X_1(3872) 9920443 0.00000000 X_2(3872) 1017 9910445 0.0 3.87169000 2.076340e-21 X_2(3872) 9910445 0.00000000 - Z(4430)+ 1018 9042413 1.0 4.43300000 2.076340e-21 Z(4430)+ 9042413 0.00000000 - Z(4430)- 1019 -9042413 -1.0 4.43300000 2.076340e-21 Z(4430)- -9042413 0.00000000 - eta_b(1S) 386 551 0.0 9.40300000 0.000000e+00 eta_b 551 0.00000000 + Z(4430)+ 1018 9042413 1.0 4.47800000 3.630504e-24 Z(4430)+ 9042413 0.00000000 + Z(4430)- 1019 -9042413 -1.0 4.47800000 3.630504e-24 Z(4430)- -9042413 0.00000000 + eta_b(1S) 386 551 0.0 9.39870000 6.582120e-23 eta_b 551 0.00000000 eta_b(2S) 830 100551 0.0 9.99700000 0.000000e+00 eta_b(2S) 0 0.00000000 eta_b(3S) 843 200551 0.0 10.33500000 0.000000e+00 eta_b(3S) 0 0.00000000 eta_b2(1D) 613 10555 0.0 10.15700000 0.000000e+00 eta_b2(1D) 10555 0.00000000 @@ -285,13 +289,13 @@ PARTICLE Upsilon_3(1D) 389 557 0.0 10.15990000 0.000000e+00 Upsilon_3(1D) 557 0.00000000 Upsilon_3(2D) 833 100557 0.0 10.44430000 0.000000e+00 Upsilon_3(2D) 100557 0.00000000 Upsilon(4S) 849 300553 0.0 10.57940000 3.210791e-23 Upsilon(4S) 300553 0.00000000 - Upsilon(10860) 852 9000553 0.0 10.87600000 1.196749e-23 Upsilon(5S) 0 0.00000000 - Upsilon(11020) 854 9010553 0.0 11.01900000 8.331800e-24 unknown 0 0.00000000 - chi_b0(1P) 611 10551 0.0 9.85944000 0.000000e+00 chi_b0 10551 0.00000000 + Upsilon(10860) 852 9000553 0.0 10.88990000 1.290612e-23 Upsilon(5S) 0 0.00000000 + Upsilon(11020) 854 9010553 0.0 10.99290000 1.343290e-23 Upsilon(11020) 0 0.00000000 + chi_b0(1P) 611 10551 0.0 9.85940000 0.000000e+00 chi_b0 10551 0.00000000 chi_b0(2P) 834 110551 0.0 10.23250000 0.000000e+00 chi_b0(2P) 110551 0.00000000 chi_b0(3P) 846 210551 0.0 10.50040000 0.000000e+00 chi_b0(3P) 210551 0.00000000 - chi_b1(3P) 848 220553 0.0 10.51570000 0.000000e+00 chi_b1(3P) 220553 0.00000000 - chi_b1(1P) 695 20553 0.0 9.89278000 0.000000e+00 chi_b1 20553 0.00000000 + chi_b1(3P) 848 220553 0.0 10.51210000 0.000000e+00 chi_b1(3P) 220553 0.00000000 + chi_b1(1P) 695 20553 0.0 9.89287800 0.000000e+00 chi_b1 20553 0.00000000 chi_b1(2P) 837 120553 0.0 10.25546000 0.000000e+00 chi_b1(2P) 120553 0.00000000 chi_b2(1P) 388 555 0.0 9.91221000 0.000000e+00 chi_b2 555 0.00000000 chi_b2(2P) 832 100555 0.0 10.26865000 0.000000e+00 chi_b2(2P) 100555 0.00000000 @@ -299,38 +303,38 @@ PARTICLE h_b(1P) 612 10553 0.0 9.89930000 0.000000e+00 h_b 10553 0.00000000 h_b(2P) 835 110553 0.0 10.25500000 0.000000e+00 h_b(2P) 110553 0.00000000 h_b(3P) 847 210553 0.0 10.51600000 0.000000e+00 h_b(3P) 210553 0.00000000 - n0 13 2112 0.0 0.93956538 8.803000e+02 n0 2112 0.00000000 - n~0 25 -2112 0.0 0.93956538 8.803000e+02 anti-n0 -2112 0.00000000 - p+ 14 2212 1.0 0.93827205 1.000000e+16 p+ 2212 0.00000000 - p~- 15 -2212 -1.0 0.93827205 1.000000e+16 anti-p- -2212 0.00000000 - N(1440)0 624 12112 0.0 1.43000000 2.194041e-24 N(1440)0 0 0.00000000 - N(1440)~0 625 -12112 0.0 1.43000000 2.194041e-24 anti-N(1440)0 0 0.00000000 - N(1440)+ 636 12212 1.0 1.43000000 2.194041e-24 N(1440)+ 0 0.00000000 - N(1440)~- 637 -12212 -1.0 1.43000000 2.194041e-24 anti-N(1440)- 0 0.00000000 - N(1520)0 404 1214 0.0 1.51500000 5.723584e-24 N(1520)0 0 0.00000000 - N(1520)~0 405 -1214 0.0 1.51500000 5.723584e-24 anti-N(1520)0 0 0.00000000 - N(1520)+ 420 2124 1.0 1.51500000 5.723584e-24 N(1520)+ 0 0.00000000 - N(1520)~- 421 -2124 -1.0 1.51500000 5.723584e-24 anti-N(1520)- 0 0.00000000 - N(1535)0 705 22112 0.0 1.53500000 4.388081e-24 N(1535)0 0 0.00000000 - N(1535)~0 706 -22112 0.0 1.53500000 4.388081e-24 anti-N(1535)0 0 0.00000000 - N(1535)+ 713 22212 1.0 1.53500000 4.388081e-24 N(1535)+ 0 0.00000000 - N(1535)~- 714 -22212 -1.0 1.53500000 4.388081e-24 anti-N(1535)- 0 0.00000000 - N(1650)0 771 32112 0.0 1.65500000 4.701514e-24 N(1650)0 0 0.00000000 - N(1650)~0 772 -32112 0.0 1.65500000 4.701514e-24 anti-N(1650)0 0 0.00000000 - N(1650)+ 777 32212 1.0 1.65500000 4.701514e-24 N(1650)+ 0 0.00000000 - N(1650)~- 778 -32212 -1.0 1.65500000 4.701514e-24 anti-N(1650)- 0 0.00000000 - N(1675)0 414 2116 0.0 1.67500000 4.388081e-24 N(1675)0 0 0.00000000 - N(1675)~0 415 -2116 0.0 1.67500000 4.388081e-24 anti-N(1675)0 0 0.00000000 - N(1675)+ 428 2216 1.0 1.67500000 4.388081e-24 N(1675)+ 0 0.00000000 - N(1675)~- 429 -2216 -1.0 1.67500000 4.388081e-24 anti-N(1675)- 0 0.00000000 - N(1680)0 628 12116 0.0 1.68500000 5.063171e-24 N(1680)0 0 0.00000000 - N(1680)~0 629 -12116 0.0 1.68500000 5.063171e-24 anti-N(1680)0 0 0.00000000 - N(1680)+ 640 12216 1.0 1.68500000 5.063171e-24 N(1680)+ 0 0.00000000 - N(1680)~- 641 -12216 -1.0 1.68500000 5.063171e-24 anti-N(1680)- 0 0.00000000 - N(1700)+ 711 22124 1.0 1.70000000 4.388081e-24 N(1700)+ 0 0.00000000 - N(1700)~- 712 -22124 -1.0 1.70000000 4.388081e-24 anti-N(1700)- 0 0.00000000 - N(1700)0 703 21214 0.0 1.70000000 4.388081e-24 N(1700)0 0 0.00000000 - N(1700)~0 704 -21214 0.0 1.70000000 4.388081e-24 anti-N(1700)0 0 0.00000000 + n0 13 2112 0.0 0.93956541 8.803000e+02 n0 2112 0.00000000 + n~0 25 -2112 0.0 0.93956541 8.803000e+02 anti-n0 -2112 0.00000000 + p+ 14 2212 1.0 0.93827208 1.000000e+16 p+ 2212 0.00000000 + p~- 15 -2212 -1.0 0.93827208 1.000000e+16 anti-p- -2212 0.00000000 + N(1440)0 624 12112 0.0 1.44000000 2.194041e-24 N(1440)0 0 0.00000000 + N(1440)~0 625 -12112 0.0 1.44000000 2.194041e-24 anti-N(1440)0 0 0.00000000 + N(1440)+ 636 12212 1.0 1.44000000 2.194041e-24 N(1440)+ 0 0.00000000 + N(1440)~- 637 -12212 -1.0 1.44000000 2.194041e-24 anti-N(1440)- 0 0.00000000 + N(1520)0 404 1214 0.0 1.51500000 5.983745e-24 N(1520)0 0 0.00000000 + N(1520)~0 405 -1214 0.0 1.51500000 5.983745e-24 anti-N(1520)0 0 0.00000000 + N(1520)+ 420 2124 1.0 1.51500000 5.983745e-24 N(1520)+ 0 0.00000000 + N(1520)~- 421 -2124 -1.0 1.51500000 5.983745e-24 anti-N(1520)- 0 0.00000000 + N(1535)0 705 22112 0.0 1.53000000 4.388081e-24 N(1535)0 0 0.00000000 + N(1535)~0 706 -22112 0.0 1.53000000 4.388081e-24 anti-N(1535)0 0 0.00000000 + N(1535)+ 713 22212 1.0 1.53000000 4.388081e-24 N(1535)+ 0 0.00000000 + N(1535)~- 714 -22212 -1.0 1.53000000 4.388081e-24 anti-N(1535)- 0 0.00000000 + N(1650)0 771 32112 0.0 1.65000000 5.265696e-24 N(1650)0 0 0.00000000 + N(1650)~0 772 -32112 0.0 1.65000000 5.265696e-24 anti-N(1650)0 0 0.00000000 + N(1650)+ 777 32212 1.0 1.65000000 5.265696e-24 N(1650)+ 0 0.00000000 + N(1650)~- 778 -32212 -1.0 1.65000000 5.265696e-24 anti-N(1650)- 0 0.00000000 + N(1675)0 414 2116 0.0 1.67500000 4.539393e-24 N(1675)0 0 0.00000000 + N(1675)~0 415 -2116 0.0 1.67500000 4.539393e-24 anti-N(1675)0 0 0.00000000 + N(1675)+ 428 2216 1.0 1.67500000 4.539393e-24 N(1675)+ 0 0.00000000 + N(1675)~- 429 -2216 -1.0 1.67500000 4.539393e-24 anti-N(1675)- 0 0.00000000 + N(1680)0 628 12116 0.0 1.68500000 5.485100e-24 N(1680)0 0 0.00000000 + N(1680)~0 629 -12116 0.0 1.68500000 5.485100e-24 anti-N(1680)0 0 0.00000000 + N(1680)+ 640 12216 1.0 1.68500000 5.485100e-24 N(1680)+ 0 0.00000000 + N(1680)~- 641 -12216 -1.0 1.68500000 5.485100e-24 anti-N(1680)- 0 0.00000000 + N(1700)+ 711 22124 1.0 1.72000000 4.388081e-24 N(1700)+ 0 0.00000000 + N(1700)~- 712 -22124 -1.0 1.72000000 4.388081e-24 anti-N(1700)- 0 0.00000000 + N(1700)0 703 21214 0.0 1.72000000 4.388081e-24 N(1700)0 0 0.00000000 + N(1700)~0 704 -21214 0.0 1.72000000 4.388081e-24 anti-N(1700)0 0 0.00000000 N(1710)0 791 42112 0.0 1.71000000 6.582122e-24 N(1710)0 0 0.00000000 N(1710)~0 792 -42112 0.0 1.71000000 6.582122e-24 anti-N(1710)0 0 0.00000000 N(1710)+ 795 42212 1.0 1.71000000 6.582122e-24 N(1710)+ 0 0.00000000 @@ -339,10 +343,10 @@ PARTICLE N(1720)~0 770 -31214 0.0 1.72000000 2.632849e-24 anti-N(1720)0 0 0.00000000 N(1720)+ 775 32124 1.0 1.72000000 2.632849e-24 N(1720)+ 0 0.00000000 N(1720)~- 776 -32124 -1.0 1.72000000 2.632849e-24 anti-N(1720)- 0 0.00000000 - N(1900)0 789 41214 0.0 1.85000000 0.000000e+00 N(1900)0 0 0.00000000 - N(1900)~0 790 -41214 0.0 1.85000000 0.000000e+00 anti-N(1900)0 0 0.00000000 - N(1900)+ 793 42124 1.0 1.85000000 0.000000e+00 N(1900)+ 0 0.00000000 - N(1900)~- 794 -42124 -1.0 1.85000000 0.000000e+00 anti-N(1900)- 0 0.00000000 + N(1900)0 789 41214 0.0 1.89500000 5.476011e-24 N(1900)0 0 0.00000000 + N(1900)~0 790 -41214 0.0 1.89500000 5.476011e-24 anti-N(1900)0 0 0.00000000 + N(1900)+ 793 42124 1.0 1.89500000 5.476011e-24 N(1900)+ 0 0.00000000 + N(1900)~- 794 -42124 -1.0 1.89500000 5.476011e-24 anti-N(1900)- 0 0.00000000 N(1990)0 630 12118 0.0 1.95000000 0.000000e+00 N(1990)0 0 0.00000000 N(1990)~0 631 -12118 0.0 1.95000000 0.000000e+00 anti-N(1990)0 0 0.00000000 N(1990)+ 642 12218 1.0 1.95000000 0.000000e+00 N(1990)+ 0 0.00000000 @@ -351,10 +355,10 @@ PARTICLE N(2090)~0 800 -52114 0.0 2.00000000 0.000000e+00 anti-N(2090)0 0 0.00000000 N(2090)+ 801 52214 1.0 2.00000000 0.000000e+00 N(2090)+ 0 0.00000000 N(2090)~- 802 -52214 -1.0 2.00000000 0.000000e+00 anti-N(2090)- 0 0.00000000 - N(2190)0 408 1218 0.0 2.19000000 1.316424e-24 N(2190)0 0 0.00000000 - N(2190)~0 409 -1218 0.0 2.19000000 1.316424e-24 anti-N(2190)0 0 0.00000000 - N(2190)+ 424 2128 1.0 2.19000000 1.316424e-24 N(2190)+ 0 0.00000000 - N(2190)~- 425 -2128 -1.0 2.19000000 1.316424e-24 anti-N(2190)- 0 0.00000000 + N(2190)0 408 1218 0.0 2.18000000 1.645530e-24 N(2190)0 0 0.00000000 + N(2190)~0 409 -1218 0.0 2.18000000 1.645530e-24 anti-N(2190)0 0 0.00000000 + N(2190)+ 424 2128 1.0 2.18000000 1.645530e-24 N(2190)+ 0 0.00000000 + N(2190)~- 425 -2128 -1.0 2.18000000 1.645530e-24 anti-N(2190)- 0 0.00000000 Delta- 182 1114 -1.0 1.23200000 5.625745e-24 Delta- 1114 0.00000000 Delta~+ 186 -1114 1.0 1.23200000 5.625745e-24 anti-Delta+ -1114 0.00000000 Delta0 181 2114 0.0 1.23200000 5.625745e-24 Delta0 2114 0.00000000 @@ -363,38 +367,38 @@ PARTICLE Delta~- 184 -2214 -1.0 1.23200000 5.625745e-24 anti-Delta- -2214 0.00000000 Delta++ 179 2224 2.0 1.23200000 5.625745e-24 Delta++ 2224 0.00000000 Delta~-- 183 -2224 -2.0 1.23200000 5.625745e-24 anti-Delta-- -2224 0.00000000 - Delta(1600)- 767 31114 -1.0 1.60000000 2.056913e-24 Delta(1600)- 0 0.00000000 - Delta(1600)~+ 768 -31114 1.0 1.60000000 2.056913e-24 anti-Delta(1600)+ 0 0.00000000 - Delta(1600)0 773 32114 0.0 1.60000000 2.056913e-24 Delta(1600)0 0 0.00000000 - Delta(1600)~0 774 -32114 0.0 1.60000000 2.056913e-24 anti-Delta(1600)0 0 0.00000000 - Delta(1600)+ 779 32214 1.0 1.60000000 2.056913e-24 Delta(1600)+ 0 0.00000000 - Delta(1600)~- 780 -32214 -1.0 1.60000000 2.056913e-24 anti-Delta(1600)- 0 0.00000000 - Delta(1600)++ 781 32224 2.0 1.60000000 2.056913e-24 Delta(1600)++ 0 0.00000000 - Delta(1600)~-- 782 -32224 -2.0 1.60000000 2.056913e-24 anti-Delta(1600)-- 0 0.00000000 - Delta(1620)- 396 1112 -1.0 1.63000000 4.701516e-24 Delta(1620)- 0 0.00000000 - Delta(1620)~+ 397 -1112 1.0 1.63000000 4.701516e-24 anti-Delta(1620)+ 0 0.00000000 - Delta(1620)0 402 1212 0.0 1.63000000 4.701516e-24 Delta(1620)0 0 0.00000000 - Delta(1620)~0 403 -1212 0.0 1.63000000 4.701516e-24 anti-Delta(1620)0 0 0.00000000 - Delta(1620)+ 418 2122 1.0 1.63000000 4.701516e-24 Delta(1620)+ 0 0.00000000 - Delta(1620)~- 419 -2122 -1.0 1.63000000 4.701516e-24 anti-Delta(1620)- 0 0.00000000 - Delta(1620)++ 432 2222 2.0 1.63000000 4.701516e-24 Delta(1620)++ 0 0.00000000 - Delta(1620)~-- 433 -2222 -2.0 1.63000000 4.701516e-24 anti-Delta(1620)-- 0 0.00000000 - Delta(1700)- 616 11114 -1.0 1.70000000 2.194041e-24 Delta(1700)- 0 0.00000000 - Delta(1700)~+ 617 -11114 1.0 1.70000000 2.194041e-24 anti-Delta(1700)+ 0 0.00000000 - Delta(1700)0 626 12114 0.0 1.70000000 2.194041e-24 Delta(1700)0 0 0.00000000 - Delta(1700)~0 627 -12114 0.0 1.70000000 2.194041e-24 anti-Delta(1700)0 0 0.00000000 - Delta(1700)+ 638 12214 1.0 1.70000000 2.194041e-24 Delta(1700)+ 0 0.00000000 - Delta(1700)~- 639 -12214 -1.0 1.70000000 2.194041e-24 anti-Delta(1700)- 0 0.00000000 - Delta(1700)++ 646 12224 2.0 1.70000000 2.194041e-24 Delta(1700)++ 0 0.00000000 - Delta(1700)~-- 647 -12224 -2.0 1.70000000 2.194041e-24 anti-Delta(1700)-- 0 0.00000000 - Delta(1900)- 614 11112 -1.0 1.84000000 0.000000e+00 Delta(1900)- 0 0.00000000 - Delta(1900)~+ 615 -11112 1.0 1.84000000 0.000000e+00 anti-Delta(1900)+ 0 0.00000000 - Delta(1900)0 620 11212 0.0 1.93000000 1.880606e-24 Delta(1900)0 0 0.00000000 - Delta(1900)~0 621 -11212 0.0 1.93000000 1.880606e-24 anti-Delta(1900)0 0 0.00000000 - Delta(1900)+ 632 12122 1.0 1.84000000 0.000000e+00 Delta(1900)+ 0 0.00000000 - Delta(1900)~- 633 -12122 -1.0 1.84000000 0.000000e+00 anti-Delta(1900)- 0 0.00000000 - Delta(1900)++ 644 12222 2.0 1.84000000 0.000000e+00 Delta(1900)++ 0 0.00000000 - Delta(1900)~-- 645 -12222 -2.0 1.84000000 0.000000e+00 anti-Delta(1900)-- 0 0.00000000 + Delta(1600)- 767 31114 -1.0 1.57000000 2.632848e-24 Delta(1600)- 0 0.00000000 + Delta(1600)~+ 768 -31114 1.0 1.57000000 2.632848e-24 anti-Delta(1600)+ 0 0.00000000 + Delta(1600)0 773 32114 0.0 1.57000000 2.632848e-24 Delta(1600)0 0 0.00000000 + Delta(1600)~0 774 -32114 0.0 1.57000000 2.632848e-24 anti-Delta(1600)0 0 0.00000000 + Delta(1600)+ 779 32214 1.0 1.57000000 2.632848e-24 Delta(1600)+ 0 0.00000000 + Delta(1600)~- 780 -32214 -1.0 1.57000000 2.632848e-24 anti-Delta(1600)- 0 0.00000000 + Delta(1600)++ 781 32224 2.0 1.57000000 2.632848e-24 Delta(1600)++ 0 0.00000000 + Delta(1600)~-- 782 -32224 -2.0 1.57000000 2.632848e-24 anti-Delta(1600)-- 0 0.00000000 + Delta(1620)- 396 1112 -1.0 1.61000000 5.063169e-24 Delta(1620)- 0 0.00000000 + Delta(1620)~+ 397 -1112 1.0 1.61000000 5.063169e-24 anti-Delta(1620)+ 0 0.00000000 + Delta(1620)0 402 1212 0.0 1.61000000 5.063169e-24 Delta(1620)0 0 0.00000000 + Delta(1620)~0 403 -1212 0.0 1.61000000 5.063169e-24 anti-Delta(1620)0 0 0.00000000 + Delta(1620)+ 418 2122 1.0 1.61000000 5.063169e-24 Delta(1620)+ 0 0.00000000 + Delta(1620)~- 419 -2122 -1.0 1.61000000 5.063169e-24 anti-Delta(1620)- 0 0.00000000 + Delta(1620)++ 432 2222 2.0 1.61000000 5.063169e-24 Delta(1620)++ 0 0.00000000 + Delta(1620)~-- 433 -2222 -2.0 1.61000000 5.063169e-24 anti-Delta(1620)-- 0 0.00000000 + Delta(1700)- 616 11114 -1.0 1.71000000 2.194041e-24 Delta(1700)- 0 0.00000000 + Delta(1700)~+ 617 -11114 1.0 1.71000000 2.194041e-24 anti-Delta(1700)+ 0 0.00000000 + Delta(1700)0 626 12114 0.0 1.71000000 2.194041e-24 Delta(1700)0 0 0.00000000 + Delta(1700)~0 627 -12114 0.0 1.71000000 2.194041e-24 anti-Delta(1700)0 0 0.00000000 + Delta(1700)+ 638 12214 1.0 1.71000000 2.194041e-24 Delta(1700)+ 0 0.00000000 + Delta(1700)~- 639 -12214 -1.0 1.71000000 2.194041e-24 anti-Delta(1700)- 0 0.00000000 + Delta(1700)++ 646 12224 2.0 1.71000000 2.194041e-24 Delta(1700)++ 0 0.00000000 + Delta(1700)~-- 647 -12224 -2.0 1.71000000 2.194041e-24 anti-Delta(1700)-- 0 0.00000000 + Delta(1900)- 614 11112 -1.0 1.86000000 2.632848e-24 Delta(1900)- 0 0.00000000 + Delta(1900)~+ 615 -11112 1.0 1.86000000 2.632848e-24 anti-Delta(1900)+ 0 0.00000000 + Delta(1900)0 620 11212 0.0 1.86000000 2.632848e-24 Delta(1900)0 0 0.00000000 + Delta(1900)~0 621 -11212 0.0 1.86000000 2.632848e-24 anti-Delta(1900)0 0 0.00000000 + Delta(1900)+ 632 12122 1.0 1.86000000 2.632848e-24 Delta(1900)+ 0 0.00000000 + Delta(1900)~- 633 -12122 -1.0 1.86000000 2.632848e-24 anti-Delta(1900)- 0 0.00000000 + Delta(1900)++ 644 12222 2.0 1.86000000 2.632848e-24 Delta(1900)++ 0 0.00000000 + Delta(1900)~-- 645 -12222 -2.0 1.86000000 2.632848e-24 anti-Delta(1900)-- 0 0.00000000 Delta(1905)- 398 1116 -1.0 1.88000000 1.994582e-24 Delta(1905)- 0 0.00000000 Delta(1905)~+ 399 -1116 1.0 1.88000000 1.994582e-24 anti-Delta(1905)+ 0 0.00000000 Delta(1905)0 406 1216 0.0 1.88000000 1.994582e-24 Delta(1905)0 0 0.00000000 @@ -403,14 +407,14 @@ PARTICLE Delta(1905)~- 423 -2126 -1.0 1.88000000 1.994582e-24 anti-Delta(1905)- 0 0.00000000 Delta(1905)++ 434 2226 2.0 1.88000000 1.994582e-24 Delta(1905)++ 0 0.00000000 Delta(1905)~-- 435 -2226 -2.0 1.88000000 1.994582e-24 anti-Delta(1905)-- 0 0.00000000 - Delta(1910)- 697 21112 -1.0 1.89000000 2.350758e-24 Delta(1910)- 0 0.00000000 - Delta(1910)~+ 698 -21112 1.0 1.89000000 2.350758e-24 anti-Delta(1910)+ 0 0.00000000 - Delta(1910)0 701 21212 0.0 1.89000000 2.350758e-24 Delta(1910)0 0 0.00000000 - Delta(1910)~0 702 -21212 0.0 1.89000000 2.350758e-24 anti-Delta(1910)0 0 0.00000000 - Delta(1910)+ 709 22122 1.0 1.89000000 2.350758e-24 Delta(1910)+ 0 0.00000000 - Delta(1910)~- 710 -22122 -1.0 1.89000000 2.350758e-24 anti-Delta(1910)- 0 0.00000000 - Delta(1910)++ 717 22222 2.0 1.89000000 2.350758e-24 Delta(1910)++ 0 0.00000000 - Delta(1910)~-- 718 -22222 -2.0 1.89000000 2.350758e-24 anti-Delta(1910)-- 0 0.00000000 + Delta(1910)- 697 21112 -1.0 1.90000000 2.350758e-24 Delta(1910)- 0 0.00000000 + Delta(1910)~+ 698 -21112 1.0 1.90000000 2.350758e-24 anti-Delta(1910)+ 0 0.00000000 + Delta(1910)0 701 21212 0.0 1.90000000 2.350758e-24 Delta(1910)0 0 0.00000000 + Delta(1910)~0 702 -21212 0.0 1.90000000 2.350758e-24 anti-Delta(1910)0 0 0.00000000 + Delta(1910)+ 709 22122 1.0 1.90000000 2.350758e-24 Delta(1910)+ 0 0.00000000 + Delta(1910)~- 710 -22122 -1.0 1.90000000 2.350758e-24 anti-Delta(1910)- 0 0.00000000 + Delta(1910)++ 717 22222 2.0 1.90000000 2.350758e-24 Delta(1910)++ 0 0.00000000 + Delta(1910)~-- 718 -22222 -2.0 1.90000000 2.350758e-24 anti-Delta(1910)-- 0 0.00000000 Delta(1920)- 699 21114 -1.0 1.92000000 2.531585e-24 Delta(1920)- 0 0.00000000 Delta(1920)~+ 700 -21114 1.0 1.92000000 2.531585e-24 anti-Delta(1920)+ 0 0.00000000 Delta(1920)0 707 22114 0.0 1.92000000 2.531585e-24 Delta(1920)0 0 0.00000000 @@ -419,14 +423,14 @@ PARTICLE Delta(1920)~- 716 -22214 -1.0 1.92000000 2.531585e-24 anti-Delta(1920)- 0 0.00000000 Delta(1920)++ 719 22224 2.0 1.92000000 2.531585e-24 Delta(1920)++ 0 0.00000000 Delta(1920)~-- 720 -22224 -2.0 1.92000000 2.531585e-24 anti-Delta(1920)-- 0 0.00000000 - Delta(1930)- 618 11116 -1.0 1.95000000 1.828367e-24 Delta(1930)- 0 0.00000000 - Delta(1930)~+ 619 -11116 1.0 1.95000000 1.828367e-24 anti-Delta(1930)+ 0 0.00000000 - Delta(1930)0 622 11216 0.0 1.95000000 1.828367e-24 Delta(1930)0 0 0.00000000 - Delta(1930)~0 623 -11216 0.0 1.95000000 1.828367e-24 anti-Delta(1930)0 0 0.00000000 - Delta(1930)+ 634 12126 1.0 1.95000000 1.828367e-24 Delta(1930)+ 0 0.00000000 - Delta(1930)~- 635 -12126 -1.0 1.95000000 1.828367e-24 anti-Delta(1930)- 0 0.00000000 - Delta(1930)++ 648 12226 2.0 1.95000000 1.828367e-24 Delta(1930)++ 0 0.00000000 - Delta(1930)~-- 649 -12226 -2.0 1.95000000 1.828367e-24 anti-Delta(1930)-- 0 0.00000000 + Delta(1930)- 618 11116 -1.0 1.95000000 2.194040e-24 Delta(1930)- 0 0.00000000 + Delta(1930)~+ 619 -11116 1.0 1.95000000 2.194040e-24 anti-Delta(1930)+ 0 0.00000000 + Delta(1930)0 622 11216 0.0 1.95000000 2.194040e-24 Delta(1930)0 0 0.00000000 + Delta(1930)~0 623 -11216 0.0 1.95000000 2.194040e-24 anti-Delta(1930)0 0 0.00000000 + Delta(1930)+ 634 12126 1.0 1.95000000 2.194040e-24 Delta(1930)+ 0 0.00000000 + Delta(1930)~- 635 -12126 -1.0 1.95000000 2.194040e-24 anti-Delta(1930)- 0 0.00000000 + Delta(1930)++ 648 12226 2.0 1.95000000 2.194040e-24 Delta(1930)++ 0 0.00000000 + Delta(1930)~-- 649 -12226 -2.0 1.95000000 2.194040e-24 anti-Delta(1930)-- 0 0.00000000 Delta(1950)- 400 1118 -1.0 1.93000000 2.350758e-24 Delta(1950)- 0 0.00000000 Delta(1950)~+ 401 -1118 1.0 1.93000000 2.350758e-24 anti-Delta(1950)+ 0 0.00000000 Delta(1950)0 416 2118 0.0 1.93000000 2.350758e-24 Delta(1950)0 0 0.00000000 @@ -457,16 +461,16 @@ PARTICLE Lambda(1830)~0 661 -13126 0.0 1.83000000 6.928549e-24 anti-Lambda(1830)0 0 0.00000000 Lambda(1890)0 727 23124 0.0 1.89000000 6.582122e-24 Lambda(1890)0 0 0.00000000 Lambda(1890)~0 728 -23124 0.0 1.89000000 6.582122e-24 anti-Lambda(1890)0 0 0.00000000 - Lambda(2100)0 452 3128 0.0 2.10000000 3.291061e-24 unknown 0 0.00000000 - Lambda(2100)~0 453 -3128 0.0 2.10000000 3.291061e-24 unknown 0 0.00000000 - Lambda(2110)0 729 23126 0.0 2.11000000 3.291061e-24 unknown 0 0.00000000 - Lambda(2110)~0 730 -23126 0.0 2.11000000 3.291061e-24 unknown 0 0.00000000 - Sigma- 21 3112 -1.0 1.19744900 1.479000e-10 Sigma- 3112 0.00000000 - Sigma~+ 29 -3112 1.0 1.19744900 1.479000e-10 anti-Sigma+ -3112 0.00000000 + Lambda(2100)0 452 3128 0.0 2.10000000 3.291061e-24 Lambda(2100)0 0 0.00000000 + Lambda(2100)~0 453 -3128 0.0 2.10000000 3.291061e-24 anti-Lambda(2100)0 0 0.00000000 + Lambda(2110)0 729 23126 0.0 2.11000000 3.291061e-24 Lambda(2110)0 0 0.00000000 + Lambda(2110)~0 730 -23126 0.0 2.11000000 3.291061e-24 anti-Lambda(2110)0 0 0.00000000 + Sigma- 21 3112 -1.0 1.19744900 1.479128e-10 Sigma- 3112 0.00000000 + Sigma~+ 29 -3112 1.0 1.19744900 1.479128e-10 anti-Sigma+ -3112 0.00000000 Sigma0 20 3212 0.0 1.19264200 7.400000e-20 Sigma0 3212 0.00000000 Sigma~0 28 -3212 0.0 1.19264200 7.400000e-20 anti-Sigma0 -3212 0.00000000 - Sigma+ 19 3222 1.0 1.18937000 8.018000e-11 Sigma+ 3222 0.00000000 - Sigma~- 27 -3222 -1.0 1.18937000 8.018000e-11 anti-Sigma- -3222 0.00000000 + Sigma+ 19 3222 1.0 1.18937000 8.018175e-11 Sigma+ 3222 0.00000000 + Sigma~- 27 -3222 -1.0 1.18937000 8.018175e-11 anti-Sigma- -3222 0.00000000 Sigma*- 442 3114 -1.0 1.38720000 1.670589e-23 Sigma*- 3114 0.00000000 Sigma*~+ 443 -3114 1.0 1.38720000 1.670589e-23 anti-Sigma*+ -3114 0.00000000 Sigma*0 458 3214 0.0 1.38370000 1.828367e-23 Sigma*0 3214 0.00000000 @@ -509,12 +513,12 @@ PARTICLE Sigma(1940)~0 734 -23214 0.0 1.94000000 2.991874e-24 anti-Sigma(1940)0 0 0.00000000 Sigma(1940)+ 737 23224 1.0 1.94000000 2.991874e-24 Sigma(1940)+ 0 0.00000000 Sigma(1940)~- 738 -23224 -1.0 1.94000000 2.991874e-24 anti-Sigma(1940)- 0 0.00000000 - Sigma(2030)0 462 3218 0.0 2.03000000 3.656734e-24 unknown 0 0.00000000 - Sigma(2030)~0 463 -3218 0.0 2.03000000 3.656734e-24 unknown 0 0.00000000 - Sigma(2030)+ 468 3228 1.0 2.03000000 3.656734e-24 unknown 0 0.00000000 - Sigma(2030)~- 469 -3228 -1.0 2.03000000 3.656734e-24 unknown 0 0.00000000 - Sigma(2030)- 446 3118 -1.0 2.03000000 3.656734e-24 unknown 0 0.00000000 - Sigma(2030)~+ 447 -3118 1.0 2.03000000 3.656734e-24 unknown 0 0.00000000 + Sigma(2030)0 462 3218 0.0 2.03000000 3.656734e-24 Sigma(2030)0 0 0.00000000 + Sigma(2030)~0 463 -3218 0.0 2.03000000 3.656734e-24 anti-Sigma(2030)0 0 0.00000000 + Sigma(2030)+ 468 3228 1.0 2.03000000 3.656734e-24 Sigma(2030)+ 0 0.00000000 + Sigma(2030)~- 469 -3228 -1.0 2.03000000 3.656734e-24 anti-Sigma(2030)- 0 0.00000000 + Sigma(2030)- 446 3118 -1.0 2.03000000 3.656734e-24 Sigma(2030)- 0 0.00000000 + Sigma(2030)~+ 447 -3118 1.0 2.03000000 3.656734e-24 anti-Sigma(2030)+ 0 0.00000000 Sigma(2250)0 1059 103212 0.0 2.25000000 6.580000e-24 Sigma(2250)0 0 0.00000000 Sigma(2250)~0 1060 -103212 0.0 2.25000000 6.580000e-24 anti-Sigma(2250)0 0 0.00000000 Sigma(2250)+ 1061 103222 1.0 2.25000000 6.580000e-24 Sigma(2250)+ 0 0.00000000 @@ -533,10 +537,10 @@ PARTICLE Xi(1690)~+ 1034 -203312 1.0 1.69000000 0.000000e+00 anti-Xi(1690)+ 0 0.00000000 Xi(1690)0 1035 203322 0.0 1.69000000 0.000000e+00 Xi(1690)0 0 0.00000000 Xi(1690)~0 1036 -203322 0.0 1.69000000 0.000000e+00 anti-Xi(1690)0 0 0.00000000 - Xi(1820)- 674 13314 -1.0 1.82300000 2.742551e-23 unknown 0 0.00000000 - Xi(1820)~+ 675 -13314 1.0 1.82300000 2.742551e-23 unknown 0 0.00000000 - Xi(1820)0 678 13324 0.0 1.82300000 2.742551e-23 unknown 0 0.00000000 - Xi(1820)~0 679 -13324 0.0 1.82300000 2.742551e-23 unknown 0 0.00000000 + Xi(1820)- 674 13314 -1.0 1.82300000 2.742551e-23 Xi(1820)- 0 0.00000000 + Xi(1820)~+ 675 -13314 1.0 1.82300000 2.742551e-23 anti-Xi(1820)+ 0 0.00000000 + Xi(1820)0 678 13324 0.0 1.82300000 2.742551e-23 Xi(1820)0 0 0.00000000 + Xi(1820)~0 679 -13324 0.0 1.82300000 2.742551e-23 anti-Xi(1820)0 0 0.00000000 Xi(1950)- 1037 103316 -1.0 1.95000000 1.097020e-23 Xi(1950)- 0 0.00000000 Xi(1950)~+ 1038 -103316 1.0 1.95000000 1.097020e-23 anti-Xi(1950)+ 0 0.00000000 Xi(1950)0 1039 103326 0.0 1.95000000 1.097020e-23 Xi(1950)0 0 0.00000000 @@ -555,80 +559,80 @@ PARTICLE Lambda_c(2595)~- 683 -14122 -1.0 2.59225000 2.531585e-22 anti-Lambda_c(2593)- 0 0.00000000 Lambda_c(2625)+ 1047 104124 1.0 2.62811000 0.000000e+00 Lambda_c(2625)+ 0 0.00000000 Lambda_c(2625)~- 1048 -104124 -1.0 2.62811000 0.000000e+00 anti-Lambda_c(2625)- 0 0.00000000 - Lambda_c(2880)+ 1049 204126 1.0 2.88153000 1.134849e-22 Lambda_c(2880)+ 0 0.00000000 - Lambda_c(2880)~- 1050 -204126 -1.0 2.88153000 1.134849e-22 anti-Lambda_c(2880)- 0 0.00000000 - Sigma_c0 81 4112 0.0 2.45374000 3.047279e-22 Sigma_c0 4112 0.00000000 - Sigma_c~0 82 -4112 0.0 2.45374000 3.047279e-22 anti-Sigma_c0 -4112 0.00000000 + Lambda_c(2880)+ 1049 204126 1.0 2.88163000 1.175379e-22 Lambda_c(2880)+ 0 0.00000000 + Lambda_c(2880)~- 1050 -204126 -1.0 2.88163000 1.175379e-22 anti-Lambda_c(2880)- 0 0.00000000 + Sigma_c0 81 4112 0.0 2.45375000 3.596787e-22 Sigma_c0 4112 0.00000000 + Sigma_c~0 82 -4112 0.0 2.45375000 3.596787e-22 anti-Sigma_c0 -4112 0.00000000 Sigma_c+ 83 4212 1.0 2.45290000 3.999999e-22 Sigma_c+ 4212 0.00000000 Sigma_c~- 84 -4212 -1.0 2.45290000 3.999999e-22 anti-Sigma_c- -4212 0.00000000 - Sigma_c++ 85 4222 2.0 2.45398000 2.912443e-22 Sigma_c++ 4222 0.00000000 - Sigma_c~-- 86 -4222 -2.0 2.45398000 2.912443e-22 anti-Sigma_c-- -4222 0.00000000 - Sigma_c*0 480 4114 0.0 2.51880000 4.539394e-23 Sigma_c*0 4114 0.00000000 - Sigma_c*~0 481 -4114 0.0 2.51880000 4.539394e-23 anti-Sigma_c*0 -4114 0.00000000 + Sigma_c++ 85 4222 2.0 2.45397000 3.482603e-22 Sigma_c++ 4222 0.00000000 + Sigma_c~-- 86 -4222 -2.0 2.45397000 3.482603e-22 anti-Sigma_c-- -4222 0.00000000 + Sigma_c*0 480 4114 0.0 2.51848000 4.539394e-23 Sigma_c*0 4114 0.00000000 + Sigma_c*~0 481 -4114 0.0 2.51848000 4.539394e-23 anti-Sigma_c*0 -4114 0.00000000 Sigma_c*+ 486 4214 1.0 2.51750000 3.291061e-22 Sigma_c*+ 4214 0.00000000 Sigma_c*~- 487 -4214 -1.0 2.51750000 3.291061e-22 anti-Sigma_c*- -4214 0.00000000 - Sigma_c*++ 488 4224 2.0 2.51790000 4.417531e-23 Sigma_c*++ 4224 0.00000000 - Sigma_c*~-- 489 -4224 -2.0 2.51790000 4.417531e-23 anti-Sigma_c*-- -4224 0.00000000 - Xi_c0 106 4132 0.0 2.47088000 1.120000e-13 Xi_c0 4132 0.00000000 - Xi_c~0 107 -4132 0.0 2.47088000 1.120000e-13 anti-Xi_c0 -4132 0.00000000 - Xi_c+ 108 4232 1.0 2.46780000 4.420000e-13 Xi_c+ 4232 0.00000000 - Xi_c~- 109 -4232 -1.0 2.46780000 4.420000e-13 anti-Xi_c- -4232 0.00000000 - Xi'_c0 100 4312 0.0 2.57790000 0.000000e+00 Xi'_c0 4312 0.00000000 - Xi'_c~0 101 -4312 0.0 2.57790000 0.000000e+00 anti-Xi'_c0 -4312 0.00000000 - Xi'_c+ 102 4322 1.0 2.57560000 0.000000e+00 Xi'_c+ 4322 0.00000000 - Xi'_c~- 103 -4322 -1.0 2.57560000 0.000000e+00 anti-Xi'_c- -4322 0.00000000 - Xi_c*0 494 4314 0.0 2.64590000 0.000000e+00 Xi_c*0 4314 0.00000000 - Xi_c*~0 495 -4314 0.0 2.64590000 0.000000e+00 anti-Xi_c*0 -4314 0.00000000 - Xi_c*+ 496 4324 1.0 2.64590000 0.000000e+00 Xi_c*+ 4324 0.00000000 - Xi_c*~- 497 -4324 -1.0 2.64590000 0.000000e+00 anti-Xi_c*- -4324 0.00000000 - Xi_c(2790)+ 1051 104324 1.0 2.78910000 0.000000e+00 Xi_c(2790)+ 0 0.00000000 - Xi_c(2790)~- 1052 -104324 -1.0 2.78910000 0.000000e+00 anti-Xi_c(2790)- 0 0.00000000 - Xi_c(2790)0 1053 104314 0.0 2.79180000 0.000000e+00 Xi_c(2790)0 0 0.00000000 - Xi_c(2790)~0 1054 -104314 0.0 2.79180000 0.000000e+00 anti-Xi_c(2790)0 0 0.00000000 - Xi_c(2815)+ 1055 104322 1.0 2.81660000 0.000000e+00 Xi_c(2815)+ 0 0.00000000 - Xi_c(2815)~- 1056 -104322 -1.0 2.81660000 0.000000e+00 anti-Xi_c(2815)- 0 0.00000000 - Xi_c(2815)0 1057 104312 0.0 2.81960000 0.000000e+00 Xi_c(2815)0 0 0.00000000 - Xi_c(2815)~0 1058 -104312 0.0 2.81960000 0.000000e+00 anti-Xi_c(2815)0 0 0.00000000 - Omega_c0 104 4332 0.0 2.69520000 6.900000e-14 Omega_c0 4332 0.00000000 - Omega_c~0 105 -4332 0.0 2.69520000 6.900000e-14 anti-Omega_c0 -4332 0.00000000 + Sigma_c*++ 488 4224 2.0 2.51841000 4.453396e-23 Sigma_c*++ 4224 0.00000000 + Sigma_c*~-- 489 -4224 -2.0 2.51841000 4.453396e-23 anti-Sigma_c*-- -4224 0.00000000 + Xi_c0 106 4132 0.0 2.47091000 1.530726e-13 Xi_c0 4132 0.00000000 + Xi_c~0 107 -4132 0.0 2.47091000 1.530726e-13 anti-Xi_c0 -4132 0.00000000 + Xi_c+ 108 4232 1.0 2.46793000 4.420000e-13 Xi_c+ 4232 0.00000000 + Xi_c~- 109 -4232 -1.0 2.46793000 4.420000e-13 anti-Xi_c- -4232 0.00000000 + Xi'_c0 100 4312 0.0 2.57920000 0.000000e+00 Xi'_c0 4312 0.00000000 + Xi'_c~0 101 -4312 0.0 2.57920000 0.000000e+00 anti-Xi'_c0 -4312 0.00000000 + Xi'_c+ 102 4322 1.0 2.57840000 0.000000e+00 Xi'_c+ 4322 0.00000000 + Xi'_c~- 103 -4322 -1.0 2.57840000 0.000000e+00 anti-Xi'_c- -4322 0.00000000 + Xi_c*0 494 4314 0.0 2.64638000 2.800902e-22 Xi_c*0 4314 0.00000000 + Xi_c*~0 495 -4314 0.0 2.64638000 2.800902e-22 anti-Xi_c*0 -4314 0.00000000 + Xi_c*+ 496 4324 1.0 2.64557000 3.075757e-22 Xi_c*+ 4324 0.00000000 + Xi_c*~- 497 -4324 -1.0 2.64557000 3.075757e-22 anti-Xi_c*- -4324 0.00000000 + Xi_c(2790)+ 1051 104324 1.0 2.79240000 7.395640e-23 Xi_c(2790)+ 0 0.00000000 + Xi_c(2790)~- 1052 -104324 -1.0 2.79240000 7.395640e-23 anti-Xi_c(2790)- 0 0.00000000 + Xi_c(2790)0 1053 104314 0.0 2.79410000 6.582120e-23 Xi_c(2790)0 0 0.00000000 + Xi_c(2790)~0 1054 -104314 0.0 2.79410000 6.582120e-23 anti-Xi_c(2790)0 0 0.00000000 + Xi_c(2815)+ 1055 104322 1.0 2.81673000 2.708691e-22 Xi_c(2815)+ 0 0.00000000 + Xi_c(2815)~- 1056 -104322 -1.0 2.81673000 2.708691e-22 anti-Xi_c(2815)- 0 0.00000000 + Xi_c(2815)0 1057 104312 0.0 2.82026000 2.591386e-22 Xi_c(2815)0 0 0.00000000 + Xi_c(2815)~0 1058 -104312 0.0 2.82026000 2.591386e-22 anti-Xi_c(2815)0 0 0.00000000 + Omega_c0 104 4332 0.0 2.69520000 2.680000e-13 Omega_c0 4332 0.00000000 + Omega_c~0 105 -4332 0.0 2.69520000 2.680000e-13 anti-Omega_c0 -4332 0.00000000 Omega_c*0 498 4334 0.0 2.76590000 0.000000e+00 Omega_c*0 4334 0.00000000 Omega_c*~0 499 -4334 0.0 2.76590000 0.000000e+00 anti-Omega_c*0 -4334 0.00000000 - Xi_cc+ 502 4412 1.0 3.62140000 3.335641e-13 Xi_cc+ 4412 0.00000000 - Xi_cc~- 503 -4412 -1.0 3.62140000 3.335641e-13 anti-Xi_cc- -4412 0.00000000 + Xi_cc+ 502 4412 1.0 3.62140000 0.800000e-13 Xi_cc+ 4412 0.00000000 + Xi_cc~- 503 -4412 -1.0 3.62140000 0.800000e-13 anti-Xi_cc- -4412 0.00000000 Xi*_cc+ 504 4414 1.0 3.65648000 0.000000e+00 Xi_cc*+ 4414 0.00000000 Xi*_cc~- 505 -4414 -1.0 3.65648000 0.000000e+00 anti-Xi_cc*- -4414 0.00000000 - Xi_cc++ 506 4422 2.0 3.62140000 3.335641e-13 Xi_cc++ 4422 0.00000000 - Xi_cc~-- 507 -4422 -2.0 3.62140000 3.335641e-13 anti-Xi_cc-- -4422 0.00000000 + Xi_cc++ 506 4422 2.0 3.62140000 2.560000e-13 Xi_cc++ 4422 0.00000000 + Xi_cc~-- 507 -4422 -2.0 3.62140000 2.560000e-13 anti-Xi_cc-- -4422 0.00000000 Xi*_cc++ 508 4424 2.0 3.65648000 0.000000e+00 Xi_cc*++ 4424 0.00000000 Xi*_cc~-- 509 -4424 -2.0 3.65648000 0.000000e+00 anti-Xi_cc*-- -4424 0.00000000 - Omega_cc+ 510 4432 1.0 3.78663000 3.335641e-13 Omega_cc+ 4432 0.00000000 - Omega_cc~- 511 -4432 -1.0 3.78663000 3.335641e-13 anti-Omega_cc- -4432 0.00000000 + Omega_cc+ 510 4432 1.0 3.73800000 1.600000e-13 Omega_cc+ 4432 0.00000000 + Omega_cc~- 511 -4432 -1.0 3.73800000 1.600000e-13 anti-Omega_cc- -4432 0.00000000 Omega*_cc+ 512 4434 1.0 3.82466000 0.000000e+00 Omega_cc*+ 4434 0.00000000 Omega*_cc~- 513 -4434 -1.0 3.82466000 0.000000e+00 anti-Omega_cc*- -4434 0.00000000 - Omega*_ccc++ 514 4444 2.0 4.91594000 0.000000e+00 unknown 4444 0.00000000 - Omega*_ccc~-- 515 -4444 -2.0 4.91594000 0.000000e+00 unknown -4444 0.00000000 - Lambda_b0 79 5122 0.0 5.61950000 1.451000e-12 Lambda_b0 5122 0.00000000 - Lambda_b~0 80 -5122 0.0 5.61950000 1.451000e-12 anti-Lambda_b0 -5122 0.00000000 - Lambda_b(5912)0 1065 15122 0.0 5.91197000 1.316000e-21 Lambda_b(5912)0 15122 0.00000000 - Lambda_b(5912)~0 1066 -15122 0.0 5.91197000 1.316000e-21 anti-Lambda_b(5912)0 -15122 0.00000000 - Lambda_b(5920)0 1067 5124 0.0 5.91977000 1.316000e-21 Lambda_b(5920)0 5124 0.00000000 - Lambda_b(5920)~0 1068 -5124 0.0 5.91977000 1.316000e-21 anti-Lambda_b(5920)0 -5124 0.00000000 - Sigma_b- 114 5112 -1.0 5.81550000 1.343290e-22 Sigma_b- 5112 0.00000000 - Sigma_b~+ 115 -5112 1.0 5.81550000 1.343290e-22 anti-Sigma_b+ -5112 0.00000000 + Omega*_ccc++ 514 4444 2.0 4.91594000 0.000000e+00 Omega*_ccc++ 4444 0.00000000 + Omega*_ccc~-- 515 -4444 -2.0 4.91594000 0.000000e+00 anti-Omega*_ccc-- -4444 0.00000000 + Lambda_b0 79 5122 0.0 5.61960000 1.470865e-12 Lambda_b0 5122 0.00000000 + Lambda_b~0 80 -5122 0.0 5.61960000 1.470865e-12 anti-Lambda_b0 -5122 0.00000000 + Lambda_b(5912)0 1065 15122 0.0 5.91220000 1.316000e-21 Lambda_b(5912)0 15122 0.00000000 + Lambda_b(5912)~0 1066 -15122 0.0 5.91220000 1.316000e-21 anti-Lambda_b(5912)0 -15122 0.00000000 + Lambda_b(5920)0 1067 5124 0.0 5.91992000 1.316000e-21 Lambda_b(5920)0 5124 0.00000000 + Lambda_b(5920)~0 1068 -5124 0.0 5.91992000 1.316000e-21 anti-Lambda_b(5920)0 -5124 0.00000000 + Sigma_b- 114 5112 -1.0 5.81564000 1.343290e-22 Sigma_b- 5112 0.00000000 + Sigma_b~+ 115 -5112 1.0 5.81564000 1.343290e-22 anti-Sigma_b+ -5112 0.00000000 Sigma_b0 112 5212 0.0 5.80780000 1.000000e-19 Sigma_b0 5212 0.00000000 Sigma_b~0 113 -5212 0.0 5.80780000 1.000000e-19 anti-Sigma_b0 -5212 0.00000000 - Sigma_b+ 110 5222 1.0 5.81130000 6.785693e-23 Sigma_b+ 5222 0.00000000 - Sigma_b~- 111 -5222 -1.0 5.81130000 6.785693e-23 anti-Sigma_b- -5222 0.00000000 - Sigma_b*- 520 5114 -1.0 5.83510000 8.776160e-23 Sigma_b*- 5114 0.00000000 - Sigma_b*~+ 521 -5114 1.0 5.83510000 8.776160e-23 anti-Sigma_b*+ -5114 0.00000000 + Sigma_b+ 110 5222 1.0 5.81056000 1.316424e-22 Sigma_b+ 5222 0.00000000 + Sigma_b~- 111 -5222 -1.0 5.81056000 1.316424e-22 anti-Sigma_b- -5222 0.00000000 + Sigma_b*- 520 5114 -1.0 5.83474000 8.776160e-23 Sigma_b*- 5114 0.00000000 + Sigma_b*~+ 521 -5114 1.0 5.83474000 8.776160e-23 anti-Sigma_b*+ -5114 0.00000000 Sigma_b*0 528 5214 0.0 5.82900000 0.000000e+00 Sigma_b*0 5214 0.00000000 Sigma_b*~0 529 -5214 0.0 5.82900000 0.000000e+00 anti-Sigma_b*0 -5214 0.00000000 - Sigma_b*+ 530 5224 1.0 5.83210000 5.723583e-23 Sigma_b*+ 5224 0.00000000 - Sigma_b*~- 531 -5224 -1.0 5.83210000 5.723583e-23 anti-Sigma_b*- -5224 0.00000000 - Xi_b- 122 5132 -1.0 5.79490000 1.560000e-12 Xi_b- 5132 0.00000000 - Xi_b~+ 123 -5132 1.0 5.79490000 1.560000e-12 anti-Xi_b+ -5132 0.00000000 - Xi_b0 124 5232 0.0 5.79310000 1.490000e-12 Xi_b0 5232 0.00000000 - Xi_b~0 125 -5232 0.0 5.79310000 1.490000e-12 anti-Xi_b0 -5232 0.00000000 + Sigma_b*+ 530 5224 1.0 5.83032000 7.002255e-23 Sigma_b*+ 5224 0.00000000 + Sigma_b*~- 531 -5224 -1.0 5.83032000 7.002255e-23 anti-Sigma_b*- -5224 0.00000000 + Xi_b- 122 5132 -1.0 5.79700000 1.570912e-12 Xi_b- 5132 0.00000000 + Xi_b~+ 123 -5132 1.0 5.79700000 1.570912e-12 anti-Xi_b+ -5132 0.00000000 + Xi_b0 124 5232 0.0 5.79190000 1.490000e-12 Xi_b0 5232 0.00000000 + Xi_b~0 125 -5232 0.0 5.79190000 1.490000e-12 anti-Xi_b0 -5232 0.00000000 Xi'_b- 116 5312 -1.0 5.96000000 1.000000e-19 Xi'_b- 5312 0.00000000 Xi'_b~+ 117 -5312 1.0 5.96000000 1.000000e-19 anti-Xi'_b+ -5312 0.00000000 Xi'_b0 118 5322 0.0 5.96000000 1.000000e-19 Xi'_b0 5322 0.00000000 @@ -639,54 +643,54 @@ PARTICLE Xi_b*~0 541 -5324 0.0 5.97000000 0.000000e+00 anti-Xi_b*0 -5324 0.00000000 Omega_b*- 542 5334 -1.0 6.13000000 0.000000e+00 Omega_b*- 5334 0.00000000 Omega_b*~+ 543 -5334 1.0 6.13000000 0.000000e+00 anti-Omega_b*+ -5334 0.00000000 - Omega_b- 120 5332 -1.0 6.04880000 1.100000e-12 Omega_b- 5332 0.00000000 - Omega_b~+ 121 -5332 1.0 6.04880000 1.100000e-12 anti-Omega_b+ -5332 0.00000000 + Omega_b- 120 5332 -1.0 6.04610000 1.645530e-12 Omega_b- 5332 0.00000000 + Omega_b~+ 121 -5332 1.0 6.04610000 1.645530e-12 anti-Omega_b+ -5332 0.00000000 Xi_bc0 522 5142 0.0 6.90000000 0.500000e-12 Xi_bc0 5142 0.00000000 Xi_bc~0 523 -5142 0.0 6.90000000 0.500000e-12 anti-Xi_bc0 -5142 0.00000000 Xi_bc+ 532 5242 1.0 6.90000000 0.500000e-12 Xi_bc+ 5242 0.00000000 Xi_bc~- 533 -5242 -1.0 6.90000000 0.500000e-12 anti-Xi_bc- -5242 0.00000000 - Omega_bc0 544 5342 0.0 7.19099000 0.500000e-12 unknown 5342 0.00000000 - Omega_bc~0 545 -5342 0.0 7.19099000 0.500000e-12 unknown -5342 0.00000000 - Xi'_bc0 550 5412 0.0 7.03724000 0.000000e+00 unknown 5412 0.00000000 - Xi'_bc~0 551 -5412 0.0 7.03724000 0.000000e+00 unknown -5412 0.00000000 - Xi*_bc0 552 5414 0.0 7.04850000 0.000000e+00 unknown 5414 0.00000000 - Xi*_bc~0 553 -5414 0.0 7.04850000 0.000000e+00 unknown -5414 0.00000000 - Xi'_bc+ 554 5422 1.0 7.03724000 0.000000e+00 unknown 5422 0.00000000 - Xi'_bc~- 555 -5422 -1.0 7.03724000 0.000000e+00 unknown -5422 0.00000000 - Xi*_bc+ 556 5424 1.0 7.04850000 0.000000e+00 unknown 5424 0.00000000 - Xi*_bc~- 557 -5424 -1.0 7.04850000 0.000000e+00 unknown -5424 0.00000000 - Omega'_bc0 558 5432 0.0 7.21101000 0.000000e+00 unknown 5432 0.00000000 - Omega'_bc~0 559 -5432 0.0 7.21101000 0.000000e+00 unknown -5432 0.00000000 - Omega*_bc0 560 5434 0.0 7.21900000 0.000000e+00 unknown 5434 0.00000000 - Omega*_bc~0 561 -5434 0.0 7.21900000 0.000000e+00 unknown -5434 0.00000000 - Omega_bcc+ 562 5442 1.0 8.30945000 1.290893e-12 unknown 5442 0.00000000 - Omega_bcc~- 563 -5442 -1.0 8.30945000 1.290893e-12 unknown -5442 0.00000000 - Omega*_bcc+ 564 5444 1.0 8.31325000 0.000000e+00 unknown 5444 0.00000000 - Omega*_bcc~- 565 -5444 -1.0 8.31325000 0.000000e+00 unknown -5444 0.00000000 - Xi_bb- 568 5512 -1.0 10.42272000 1.290893e-12 unknown 5512 0.00000000 - Xi_bb~+ 569 -5512 1.0 10.42272000 1.290893e-12 unknown -5512 0.00000000 - Xi*_bb- 570 5514 -1.0 10.44144000 0.000000e+00 unknown 5514 0.00000000 - Xi*_bb~+ 571 -5514 1.0 10.44144000 0.000000e+00 unknown -5514 0.00000000 - Xi_bb0 572 5522 0.0 10.42272000 1.290893e-12 unknown 5522 0.00000000 - Xi_bb~0 573 -5522 0.0 10.42272000 1.290893e-12 unknown -5522 0.00000000 - Xi*_bb0 574 5524 0.0 10.44144000 0.000000e+00 unknown 5524 0.00000000 - Xi*_bb~0 575 -5524 0.0 10.44144000 0.000000e+00 unknown -5524 0.00000000 - Omega_bb- 576 5532 -1.0 10.60209000 1.290893e-12 unknown 5532 0.00000000 - Omega_bb~+ 577 -5532 1.0 10.60209000 1.290893e-12 unknown -5532 0.00000000 - Omega*_bb- 578 5534 -1.0 10.61426000 0.000000e+00 unknown 5534 0.00000000 - Omega*_bb~+ 579 -5534 1.0 10.61426000 0.000000e+00 unknown -5534 0.00000000 - Omega_bbc0 580 5542 0.0 11.70767000 1.290893e-12 unknown 5542 0.00000000 - Omega_bbc~0 581 -5542 0.0 11.70767000 1.290893e-12 unknown -5542 0.00000000 - Omega*_bbc0 582 5544 0.0 11.71147000 0.000000e+00 unknown 5544 0.00000000 - Omega*_bbc~0 583 -5544 0.0 11.71147000 0.000000e+00 unknown -5544 0.00000000 - Omega*_bbb- 584 5554 -1.0 15.11061000 0.000000e+00 unknown 5554 0.00000000 - Omega*_bbb~+ 585 -5554 1.0 15.11061000 0.000000e+00 unknown -5554 0.00000000 + Omega_bc0 544 5342 0.0 7.19099000 0.500000e-12 Omega_bc0 5342 0.00000000 + Omega_bc~0 545 -5342 0.0 7.19099000 0.500000e-12 anti-Omega_bc0 -5342 0.00000000 + Xi'_bc0 550 5412 0.0 7.03724000 0.000000e+00 Xi'_bc0 5412 0.00000000 + Xi'_bc~0 551 -5412 0.0 7.03724000 0.000000e+00 anti-Xi'_bc0 -5412 0.00000000 + Xi*_bc0 552 5414 0.0 7.04850000 0.000000e+00 Xi*_bc0 5414 0.00000000 + Xi*_bc~0 553 -5414 0.0 7.04850000 0.000000e+00 anti-Xi*_bc0 -5414 0.00000000 + Xi'_bc+ 554 5422 1.0 7.03724000 0.000000e+00 Xi'_bc+ 5422 0.00000000 + Xi'_bc~- 555 -5422 -1.0 7.03724000 0.000000e+00 anti-Xi'_bc- -5422 0.00000000 + Xi*_bc+ 556 5424 1.0 7.04850000 0.000000e+00 Xi*_bc+ 5424 0.00000000 + Xi*_bc~- 557 -5424 -1.0 7.04850000 0.000000e+00 anti-Xi*_bc+ -5424 0.00000000 + Omega'_bc0 558 5432 0.0 7.21101000 0.000000e+00 Omega'_bc0 5432 0.00000000 + Omega'_bc~0 559 -5432 0.0 7.21101000 0.000000e+00 anti-Omega'_bc0 -5432 0.00000000 + Omega*_bc0 560 5434 0.0 7.21900000 0.000000e+00 Omega*_bc0 5434 0.00000000 + Omega*_bc~0 561 -5434 0.0 7.21900000 0.000000e+00 anti-Omega*_bc0 -5434 0.00000000 + Omega_bcc+ 562 5442 1.0 8.30945000 1.290893e-12 Omega_bcc+ 5442 0.00000000 + Omega_bcc~- 563 -5442 -1.0 8.30945000 1.290893e-12 anti-Omega_bcc- -5442 0.00000000 + Omega*_bcc+ 564 5444 1.0 8.31325000 0.000000e+00 Omega*_bcc+ 5444 0.00000000 + Omega*_bcc~- 565 -5444 -1.0 8.31325000 0.000000e+00 anti-Omega*_bcc- -5444 0.00000000 + Xi_bb- 568 5512 -1.0 10.42272000 1.290893e-12 Xi_bb- 5512 0.00000000 + Xi_bb~+ 569 -5512 1.0 10.42272000 1.290893e-12 anti-Xi_bb+ -5512 0.00000000 + Xi*_bb- 570 5514 -1.0 10.44144000 0.000000e+00 Xi*_bb- 5514 0.00000000 + Xi*_bb~+ 571 -5514 1.0 10.44144000 0.000000e+00 anti-Xi*_bb+ -5514 0.00000000 + Xi_bb0 572 5522 0.0 10.42272000 1.290893e-12 Xi_bb0 5522 0.00000000 + Xi_bb~0 573 -5522 0.0 10.42272000 1.290893e-12 anti-Xi_bb0 -5522 0.00000000 + Xi*_bb0 574 5524 0.0 10.44144000 0.000000e+00 Xi*_bb0 5524 0.00000000 + Xi*_bb~0 575 -5524 0.0 10.44144000 0.000000e+00 anti-Xi*_bb0 -5524 0.00000000 + Omega_bb- 576 5532 -1.0 10.60209000 1.290893e-12 Omega_bb- 5532 0.00000000 + Omega_bb~+ 577 -5532 1.0 10.60209000 1.290893e-12 anti-Omega_bb+ -5532 0.00000000 + Omega*_bb- 578 5534 -1.0 10.61426000 0.000000e+00 Omega*_bb- 5534 0.00000000 + Omega*_bb~+ 579 -5534 1.0 10.61426000 0.000000e+00 anti-Omega*_bb+ -5534 0.00000000 + Omega_bbc0 580 5542 0.0 11.70767000 1.290893e-12 Omega_bbc0 5542 0.00000000 + Omega_bbc~0 581 -5542 0.0 11.70767000 1.290893e-12 anti-Omega_bbc0 -5542 0.00000000 + Omega*_bbc0 582 5544 0.0 11.71147000 0.000000e+00 Omega*_bbc0 5544 0.00000000 + Omega*_bbc~0 583 -5544 0.0 11.71147000 0.000000e+00 anti-Omega*_bbc0 -5544 0.00000000 + Omega*_bbb- 584 5554 -1.0 15.11061000 0.000000e+00 Omega*_bbb- 5554 0.00000000 + Omega*_bbb~+ 585 -5554 1.0 15.11061000 0.000000e+00 anti-Omega*_bbb+ -5554 0.00000000 deuteron 45 1000010020 1.0 1.87561300 1.000000e+15 deuteron 0 0.00000000 triton 46 1000010030 1.0 2.80925000 1.000000e+15 tritium 0 0.00000000 alpha 47 1000020040 2.0 3.72741700 1.000000e+15 alpha 0 0.00000000 geantino 48 480000000 0.0 0.00000000 1.000000e+15 geantino 0 0.00000000 opticalphoton 50 20022 0.0 0.00000000 1.000000e+16 Cerenkov 0 0.00000000 - H_10 87 25 0.0 125.70000000 9.400000e-26 Higgs0 25 0.00000000 + H_10 87 25 0.0 125.10000000 9.400000e-26 Higgs0 25 0.00000000 H_20 88 35 0.0 310.00000000 9.400000e-26 Higgs'0 35 0.00000000 H_30 89 36 0.0 310.00000000 9.400000e-26 A0 36 0.00000000 H+ 90 37 1.0 310.00000000 9.400000e-26 Higgs+ 37 0.00000000 @@ -749,9 +753,9 @@ PARTICLE CLUSjet 358 97 0.0 0.00000000 0.000000e+00 CLUSjet 97 0.00000000 CELLjet 359 98 0.0 0.00000000 0.000000e+00 CELLjet 98 0.00000000 table 360 99 0.0 0.00000000 0.000000e+00 table 99 0.00000000 - deutron~ 390 -1000010020 -1.0 1.87561300 0.000000e+00 anti-deuteron 0 0.00000000 - triton~ 392 -1000010030 -1.0 2.80925000 0.000000e+00 anti-tritium 0 0.00000000 - alpha~ 393 -1000020040 -2.0 3.72741700 0.000000e+00 anti-alpha 0 0.00000000 + deuteron~ 390 -1000010020 -1.0 1.87561300 1.000000e+15 anti-deuteron 0 0.00000000 + triton~ 392 -1000010030 -1.0 2.80925000 1.000000e+15 anti-tritium 0 0.00000000 + alpha~ 393 -1000020040 -2.0 3.72741700 1.000000e+15 anti-alpha 0 0.00000000 dd_1 394 1103 -0.7 0.00000000 0.000000e+00 dd_1 1103 0.00000000 anti-dd_1 395 -1103 0.7 0.00000000 0.000000e+00 anti-dd_1 -1103 0.00000000 ud_0 410 2101 0.3 0.00000000 0.000000e+00 ud_0 2101 0.00000000 @@ -891,6 +895,16 @@ PARTICLE e*bar+ 938 -4000011 1.0 400.00000000 0.000000e+00 unknown -4000011 0.00000000 nu*_e0 939 4000012 0.0 400.00000000 0.000000e+00 unknown 4000012 0.00000000 nu*_ebar0 940 -4000012 0.0 400.00000000 0.000000e+00 unknown -4000012 0.00000000 + gv 4900021 4900021 0.0 0.00000000 0.0000e+00 gv 4900021 0.00000000 + Zv 4900023 4900023 0.0 125.00000000 6.5800e-23 Zv 4900023 0.01000000 + qv 4900101 4900101 0.0 1.00000000 0.0000e+00 qv 4900101 0.00000000 + qvbar -4900101 -4900101 0.0 1.00000000 0.0000e+00 qvbar -4900101 0.00000000 + pivDiag 4900111 4900111 0.0 1.20000000 5.0000e-12 pivDiag 4900111 2.0000e-11 + pivUp 4900211 4900211 0.0 1.20000000 0.0000e+00 pivUp 4900211 0.00000000 + pivDn -4900211 -4900211 0.0 1.20000000 0.0000e+00 pivDn -4900211 0.00000000 + rhovDiag 4900113 4900113 0.0 1.20000000 0.0000e+00 rhovDiag 4900113 0.00000000 + rhovUp 4900213 4900213 0.0 1.20000000 0.0000e+00 rhovUp 4900213 0.00000000 + rhovDn -4900213 -4900213 0.0 1.20000000 0.0000e+00 rhovDn -4900213 0.00000000 Graviton* 941 5000039 0.0 1000.00000000 0.000000e+00 unknown 5000039 0.00000000 nu_Re 942 9900012 0.0 500.00000000 0.000000e+00 unknown 9900012 0.00000000 nu_Rmu 943 9900014 0.0 500.00000000 0.000000e+00 unknown 9900014 0.00000000 @@ -903,7 +917,7 @@ PARTICLE H_R++ 950 9900042 2.0 200.00000000 0.000000e+00 unknown 9900042 0.00000000 H_R-- 951 -9900042 -2.0 200.00000000 0.000000e+00 unknown -9900042 0.00000000 He3[0.0] 49 1000020030 2.0 2.80923000 1.000000e+15 He3 0 0.00000000 - He3~[0.0] 391 -1000020030 -2.0 2.80923000 0.000000e+00 anti-He3 0 0.00000000 + He3~[0.0] 391 -1000020030 -2.0 2.80923000 1.000000e+15 anti-He3 0 0.00000000 Li7[0.0] 988 1000030070 3.0 6.53536500 0.000000e+00 unknown 0 0.00000000 Be8[0.0] 992 1000040080 4.0 7.45689300 0.000000e+00 unknown 0 0.00000000 Be9[0.0] 959 1000040090 4.0 8.39479200 0.000000e+00 unknown 0 0.00000000 @@ -971,5 +985,3 @@ PARTICLE Intermediate 971 -99000000 0.0 0.00000000 0.000000e+00 unknown 0 0.00000000 # END PARTICLE -# # ParticleTable.txt file containing particle # properties for ParticlePropertySvc, EvtGen and Pythia. # Uses PDG 2014 when available. # PARTICLE # # GEANTID PDGID CHARGE MASS(GeV) TLIFE(s) EVTGENNAME PYTHIAID MAXWIDTH # gamma 1 22 0.0 0.00000000 1.000000e+16 gamma 22 0.00000000 W+ 53 24 1.0 80.38500000 3.156893e-25 W+ 24 0.00000000 W- 54 -24 -1.0 80.38500000 3.156893e-25 W- -24 0.00000000 Z0 55 23 0.0 91.18760000 2.637914e-25 Z0 23 0.00000000 e+ 2 -11 1.0 0.00051100 1.000000e+16 e+ -11 0.00000000 e- 3 11 -1.0 0.00051100 1.000000e+16 e- 11 0.00000000 nu_e 4 12 0.0 0.00000000 1.000000e+16 nu_e 12 0.00000000 nu_e~ 302 -12 0.0 0.00000000 1.000000e+16 anti-nu_e -12 0.00000000 mu+ 5 -13 1.0 0.10565837 2.196981e-06 mu+ -13 0.00000000 mu- 6 13 -1.0 0.10565837 2.196981e-06 mu- 13 0.00000000 nu_mu 300 14 0.0 0.00000000 1.000000e+16 nu_mu 14 0.00000000 nu_mu~ 301 -14 0.0 0.00000000 1.000000e+16 anti-nu_mu -14 0.00000000 tau+ 51 -15 1.0 1.77682000 2.903000e-13 tau+ -15 0.00000000 tau- 52 15 -1.0 1.77682000 2.903000e-13 tau- 15 0.00000000 pi0 7 111 0.0 0.13497660 8.520000e-17 pi0 111 0.00000000 pi+ 8 211 1.0 0.13957018 2.603300e-08 pi+ 211 0.00000000 pi- 9 -211 -1.0 0.13957018 2.603300e-08 pi- -211 0.00000000 eta 17 221 0.0 0.54786200 5.063171e-19 eta 221 0.00000000 rho(770)0 33 113 0.0 0.77526000 4.414569e-24 rho0 113 0.00000000 rho(770)+ 34 213 1.0 0.77526000 4.414569e-24 rho+ 213 0.00000000 rho(770)- 35 -213 -1.0 0.77526000 4.414569e-24 rho- -213 0.00000000 omega(782) 36 223 0.0 0.78265000 7.752794e-23 omega 223 0.00000000 eta_prime 127 331 0.0 0.95778000 3.324303e-21 eta' 331 0.00000000 sigma_0 850 9000221 0.0 0.47500000 1.196749e-24 sigma_0 0 0.00000000 f_0(980) 596 9010221 0.0 0.99000000 9.403031e-24 f_0 10221 0.00000000 a_0(980)0 132 9000111 0.0 0.98000000 8.776163e-24 a_00 10111 0.00000000 a_0(980)+ 133 9000211 1.0 0.98000000 8.776163e-24 a_0+ 10211 0.00000000 a_0(980)- 134 -9000211 -1.0 0.98000000 8.776163e-24 a_0- -10211 0.00000000 phi(1020) 37 333 0.0 1.01946100 1.545099e-22 phi 333 0.00000000 h_1(1170) 597 10223 0.0 1.17000000 1.828367e-24 h_1 10223 0.00000000 b_1(1235)0 588 10113 0.0 1.22950000 4.635297e-24 b_10 10113 0.00000000 b_1(1235)+ 592 10213 1.0 1.22950000 4.635297e-24 b_1+ 10213 0.00000000 b_1(1235)- 593 -10213 -1.0 1.22950000 4.635297e-24 b_1- -10213 0.00000000 a_1(1260)0 135 20113 0.0 1.23000000 1.567172e-24 a_10 20113 0.00000000 a_1(1260)+ 42 20213 1.0 1.23000000 1.567172e-24 a_1+ 20213 0.00000000 a_1(1260)- 43 -20213 -1.0 1.23000000 1.567172e-24 a_1- -20213 0.00000000 f_2(1270) 367 225 0.0 1.27510000 3.555982e-24 f_2 225 0.00000000 f_1(1285) 687 20223 0.0 1.28190000 2.719885e-23 f_1 20223 0.00000000 eta(1295) 811 100221 0.0 1.29400000 1.196749e-23 eta(2S) 0 0.00000000 pi(1300)0 805 100111 0.0 1.30000000 1.645530e-24 pi(2S)0 0 0.00000000 pi(1300)+ 807 100211 1.0 1.30000000 1.645530e-24 pi(2S)+ 0 0.00000000 pi(1300)- 808 -100211 -1.0 1.30000000 1.645530e-24 pi(2S)- 0 0.00000000 a_2(1320)0 136 115 0.0 1.31830000 6.151516e-24 a_20 115 0.00000000 a_2(1320)+ 137 215 1.0 1.31830000 6.151516e-24 a_2+ 215 0.00000000 a_2(1320)- 138 -215 -1.0 1.31830000 6.151516e-24 a_2- -215 0.00000000 f_0(1370) 686 10221 0.0 1.35000000 1.880606e-24 f'_0 10331 0.00000000 h_1(1380) 604 10333 0.0 1.40000000 0.000000e+00 h'_1 10333 0.00000000 pi_1(1400)0 1021 9000113 0.0 1.35400000 1.994582e-24 pi_1(1400)0 0 0.00000000 pi_1(1400)+ 1023 9000213 1.0 1.35400000 1.994582e-24 pi_1(1400)+ 0 0.00000000 pi_1(1400)- 1024 -9000213 -1.0 1.35400000 1.994582e-24 pi_1(1400)- 0 0.00000000 eta(1405)0 1025 9020221 0.0 1.40880000 1.290612e-23 eta(1405)0 0 0.00000000 omega(1420) 812 100223 0.0 1.42500000 3.061452e-24 omega(2S) 0 0.00000000 f_1(1420) 692 20333 0.0 1.42640000 1.198929e-23 f'_1 20333 0.00000000 rho(1450)0 806 100113 0.0 1.46500000 1.645530e-24 rho(2S)0 0 0.00000000 rho(1450)+ 809 100213 1.0 1.46500000 1.645530e-24 rho(2S)+ 0 0.00000000 rho(1450)- 810 -100213 -1.0 1.46500000 1.645530e-24 rho(2S)- 0 0.00000000 a_0(1450)0 587 10111 0.0 1.47400000 2.483820e-24 unknown 0 0.00000000 a_0(1450)+ 590 10211 1.0 1.47400000 2.483820e-24 unknown 0 0.00000000 a_0(1450)- 591 -10211 -1.0 1.47400000 2.483820e-24 unknown 0 0.00000000 eta(1475) 826 100331 0.0 1.47600000 7.743673e-24 unknown 0 0.00000000 f_0(1500) 855 9030221 0.0 1.50500000 6.038644e-24 f_0(1500) 0 0.00000000 f'_2(1525) 380 335 0.0 1.52500000 9.016605e-24 f'_2 335 0.00000000 pi_1(1600)0 1027 9010113 0.0 1.66200000 2.742551e-24 pi_1(1600)0 0 0.00000000 pi_1(1600)+ 1029 9010213 1.0 1.66200000 2.742551e-24 pi_1(1600)+ 0 0.00000000 pi_1(1600)- 1030 -9010213 -1.0 1.66200000 2.742551e-24 pi_1(1600)- 0 0.00000000 eta_2(1645) 598 10225 0.0 1.61700000 3.636531e-24 unknown 0 0.00000000 omega(1650) 746 30223 0.0 1.67000000 2.089563e-24 omega(1650) 0 0.00000000 pi_2(1670)0 589 10115 0.0 1.67220000 2.531585e-24 unknown 0 0.00000000 pi_2(1670)+ 594 10215 1.0 1.67220000 2.531585e-24 unknown 0 0.00000000 pi_2(1670)- 595 -10215 -1.0 1.67220000 2.531585e-24 unknown 0 0.00000000 omega_3(1670) 368 227 0.0 1.66700000 3.917930e-24 unknown 0 0.00000000 phi(1680) 827 100333 0.0 1.68000000 4.388081e-24 phi(1680) 0 0.00000000 rho_3(1690)0 361 117 0.0 1.68880000 4.088274e-24 unknown 0 0.00000000 rho_3(1690)+ 363 217 1.0 1.68880000 4.088274e-24 unknown 0 0.00000000 rho_3(1690)- 364 -217 -1.0 1.68880000 4.088274e-24 unknown 0 0.00000000 rho(1700)0 743 30113 0.0 1.72000000 2.632849e-24 rho(3S)0 0 0.00000000 rho(1700)+ 744 30213 1.0 1.72000000 2.632849e-24 rho(3S)+ 0 0.00000000 rho(1700)- 745 -30213 -1.0 1.72000000 2.632849e-24 rho(3S)- 0 0.00000000 f_0(1710) 603 10331 0.0 1.72200000 4.875646e-24 unknown 0 0.00000000 pi(1800)0 840 9010111 0.0 1.81200000 3.164482e-24 unknown 0 0.00000000 pi(1800)+ 841 9010211 1.0 1.81200000 3.164482e-24 unknown 0 0.00000000 pi(1800)- 842 -9010211 -1.0 1.81200000 3.164482e-24 unknown 0 0.00000000 phi_3(1850) 381 337 0.0 1.85400000 7.565657e-24 unknown 0 0.00000000 eta_2(1870) 605 10335 0.0 1.85400000 0.000000e+00 unknown 0 0.00000000 f_2(1950) 813 9050225 0.0 1.94400000 1.394517e-24 unknown 0 0.00000000 f_2(2010) 828 9060225 0.0 2.01100000 3.291061e-24 unknown 0 0.00000000 a_4(2040)0 362 119 0.0 1.99600000 2.581224e-24 unknown 0 0.00000000 a_4(2040)+ 365 219 1.0 1.99600000 2.581224e-24 unknown 0 0.00000000 a_4(2040)- 366 -219 -1.0 1.99600000 2.581224e-24 unknown 0 0.00000000 f_4(2050) 369 229 0.0 2.01800000 2.777267e-24 unknown 0 0.00000000 f_2(2300) 857 9080225 0.0 2.29700000 4.417530e-24 unknown 0 0.00000000 f_2(2340) 858 9090225 0.0 2.33900000 2.063361e-24 unknown 0 0.00000000 K0 370 311 0.0 0.49761400 0.000000e+00 K0 311 0.00000000 K~0 371 -311 0.0 0.49761400 0.000000e+00 anti-K0 -311 0.00000000 KS0 16 310 0.0 0.49761400 8.956400e-11 K_S0 310 0.00000000 KL0 10 130 0.0 0.49761400 5.116000e-08 K_L0 130 0.00000000 K+ 11 321 1.0 0.49367700 1.238000e-08 K+ 321 0.00000000 K- 12 -321 -1.0 0.49367700 1.238000e-08 K- -321 0.00000000 K*(892)0 40 313 0.0 0.89581000 1.388633e-23 K*0 313 0.00000000 K*(892)~0 41 -313 0.0 0.89581000 1.388633e-23 anti-K*0 -313 0.00000000 K*(892)+ 38 323 1.0 0.89166000 1.295693e-23 K*+ 323 0.00000000 K*(892)- 39 -323 -1.0 0.89166000 1.295693e-23 K*- -323 0.00000000 K_1(1270)0 141 10313 0.0 1.27200000 7.313469e-24 K_10 10313 0.00000000 K_1(1270)~0 142 -10313 0.0 1.27200000 7.313469e-24 anti-K_10 -10313 0.00000000 K_1(1270)+ 139 10323 1.0 1.27200000 7.313469e-24 K_1+ 10323 0.00000000 K_1(1270)- 140 -10323 -1.0 1.27200000 7.313469e-24 K_1- -10323 0.00000000 K_1(1400)0 145 20313 0.0 1.40300000 3.782829e-24 K'_10 20313 0.00000000 K_1(1400)~0 146 -20313 0.0 1.40300000 3.782829e-24 anti-K'_10 -20313 0.00000000 K_1(1400)+ 143 20323 1.0 1.40300000 3.782829e-24 K'_1+ 20323 0.00000000 K_1(1400)- 144 -20323 -1.0 1.40300000 3.782829e-24 K'_1- -20323 0.00000000 K*(1410)0 816 100313 0.0 1.41400000 2.837122e-24 K'*0 0 0.00000000 K*(1410)~0 817 -100313 0.0 1.41400000 2.837122e-24 anti-K'*0 0 0.00000000 K*(1410)+ 822 100323 1.0 1.41400000 2.837122e-24 K'*+ 0 0.00000000 K*(1410)- 823 -100323 -1.0 1.41400000 2.837122e-24 K'*- 0 0.00000000 K*_0(1430)0 149 10311 0.0 1.42500000 2.437823e-24 K_0*0 10311 0.00000000 K*_0(1430)~0 150 -10311 0.0 1.42500000 2.437823e-24 anti-K_0*0 -10311 0.00000000 K*_0(1430)+ 147 10321 1.0 1.42500000 2.437823e-24 K_0*+ 10321 0.00000000 K*_0(1430)- 148 -10321 -1.0 1.42500000 2.437823e-24 K_0*- -10321 0.00000000 K*_2(1430)0 153 315 0.0 1.43240000 6.038644e-24 K_2*0 315 0.00000000 K*_2(1430)~0 154 -315 0.0 1.43240000 6.038644e-24 anti-K_2*0 -315 0.00000000 K*_2(1430)+ 151 325 1.0 1.42560000 6.682357e-24 K_2*+ 325 0.00000000 K*_2(1430)- 152 -325 -1.0 1.42560000 6.682357e-24 K_2*- -325 0.00000000 K(1460)0 814 100311 0.0 1.43240000 0.000000e+00 unknown 0 0.00000000 K(1460)~0 815 -100311 0.0 1.43240000 0.000000e+00 unknown 0 0.00000000 K(1460)+ 820 100321 1.0 1.43240000 0.000000e+00 unknown 0 0.00000000 K(1460)- 821 -100321 -1.0 1.43240000 0.000000e+00 unknown 0 0.00000000 K*(1680)0 747 30313 0.0 1.71700000 2.056913e-24 K''*0 0 0.00000000 K*(1680)~0 748 -30313 0.0 1.71700000 2.056913e-24 anti-K''*0 0 0.00000000 K*(1680)+ 749 30323 1.0 1.71700000 2.056913e-24 K''*+ 0 0.00000000 K*(1680)- 750 -30323 -1.0 1.71700000 2.056913e-24 K''*- 0 0.00000000 K_2(1770)0 599 10315 0.0 1.77300000 3.538775e-24 unknown 0 0.00000000 K_2(1770)~0 600 -10315 0.0 1.77300000 3.538775e-24 unknown 0 0.00000000 K_2(1770)+ 601 10325 1.0 1.77300000 3.538775e-24 unknown 0 0.00000000 K_2(1770)- 602 -10325 -1.0 1.77300000 3.538775e-24 unknown 0 0.00000000 K*_3(1780)0 372 317 0.0 1.77600000 4.139699e-24 K_3*0 0 0.00000000 K*_3(1780)~0 373 -317 0.0 1.77600000 4.139699e-24 anti-K_3*0 0 0.00000000 K*_3(1780)+ 376 327 1.0 1.77600000 4.139699e-24 K_3*+ 0 0.00000000 K*_3(1780)- 377 -327 -1.0 1.77600000 4.139699e-24 K_3*- 0 0.00000000 K_2(1820)0 688 20315 0.0 1.81600000 2.384827e-24 unknown 0 0.00000000 K_2(1820)~0 689 -20315 0.0 1.81600000 2.384827e-24 unknown 0 0.00000000 K_2(1820)+ 690 20325 1.0 1.81600000 2.384827e-24 unknown 0 0.00000000 K_2(1820)- 691 -20325 -1.0 1.81600000 2.384827e-24 unknown 0 0.00000000 K*_2(1980)0 818 100315 0.0 1.97300000 0.000000e+00 unknown 0 0.00000000 K*_2(1980)~0 819 -100315 0.0 1.97300000 0.000000e+00 unknown 0 0.00000000 K*_2(1980)+ 824 100325 1.0 1.97300000 0.000000e+00 unknown 0 0.00000000 K*_2(1980)- 825 -100325 -1.0 1.97300000 0.000000e+00 unknown 0 0.00000000 K*_4(2045)0 374 319 0.0 2.04500000 3.324304e-24 K_4*0 0 0.00000000 K*_4(2045)~0 375 -319 0.0 2.04500000 3.324304e-24 anti-K_4*0 0 0.00000000 K*_4(2045)+ 378 329 1.0 2.04500000 3.324304e-24 K_4*+ 0 0.00000000 K*_4(2045)- 379 -329 -1.0 2.04500000 3.324304e-24 K_4*- 0 0.00000000 D0 58 421 0.0 1.86484000 4.101000e-13 D0 421 0.00000000 D~0 59 -421 0.0 1.86484000 4.101000e-13 anti-D0 -421 0.00000000 D+ 56 411 1.0 1.86961000 1.040000e-12 D+ 411 0.00000000 D- 57 -411 -1.0 1.86961000 1.040000e-12 D- -411 0.00000000 D*(2007)0 67 423 0.0 2.00696000 1.000003e-19 D*0 423 0.00000000 D*(2007)~0 68 -423 0.0 2.00696000 1.000003e-19 anti-D*0 -423 0.00000000 D*(2010)+ 65 413 1.0 2.01026000 7.892230e-21 D*+ 413 0.00000000 D*(2010)- 66 -413 -1.0 2.01026000 7.892230e-21 D*- -413 0.00000000 D*_0+ 155 10411 1.0 2.31800000 2.465213e-24 D_0*+ 10411 0.00000000 D*_0- 159 -10411 -1.0 2.31800000 2.465213e-24 D_0*- -10411 0.00000000 D*_00 163 10421 0.0 2.31800000 2.465213e-24 D_0*0 10421 0.00000000 D*_0~0 167 -10421 0.0 2.31800000 2.465213e-24 anti-D_0*0 -10421 0.00000000 D_1(H)0 164 20423 0.0 2.44500000 2.630000e-24 D'_10 20423 0.00000000 D_1(H)~0 168 -20423 0.0 2.44500000 2.630000e-24 anti-D'_10 -20423 0.00000000 D_1(H)+ 156 20413 1.0 2.44500000 2.630000e-24 D'_1+ 20413 0.00000000 D_1(H)- 160 -20413 -1.0 2.44500000 2.630000e-24 D'_1- -20413 0.00000000 D_1(2420)0 165 10423 0.0 2.42140000 2.428827e-23 D_10 10423 0.00000000 D_1(2420)~0 169 -10423 0.0 2.42140000 2.428827e-23 anti-D_10 -10423 0.00000000 D_1(2420)+ 157 10413 1.0 2.42300000 3.290000e-23 D_1+ 10413 0.00000000 D_1(2420)- 161 -10413 -1.0 2.42300000 3.290000e-23 D_1- -10413 0.00000000 D*_2(2460)0 170 425 0.0 2.46260000 1.343290e-23 D_2*0 425 0.00000000 D*_2(2460)~0 166 -425 0.0 2.46260000 1.343290e-23 anti-D_2*0 -425 0.00000000 D*_2(2460)+ 162 415 1.0 2.46430000 1.778952e-23 D_2*+ 415 0.00000000 D*_2(2460)- 158 -415 -1.0 2.46430000 1.778952e-23 D_2*- -415 0.00000000 D(2S)0 761 100421 0.0 2.58000000 0.000000e+00 D(2S)0 0 0.00000000 D(2S)~0 762 -100421 0.0 2.58000000 0.000000e+00 anti-D(2S)0 0 0.00000000 D(2S)+ 757 100411 1.0 2.58000000 0.000000e+00 D(2S)+ 0 0.00000000 D(2S)- 758 -100411 -1.0 2.58000000 0.000000e+00 D(2S)- 0 0.00000000 D*(2640)0 763 100423 0.0 2.64000000 0.000000e+00 D*(2S)0 0 0.00000000 D*(2640)~0 764 -100423 0.0 2.64000000 0.000000e+00 anti-D*(2S)0 0 0.00000000 D*(2640)+ 759 100413 1.0 2.64000000 0.000000e+00 D*(2S)+ 0 0.00000000 D*(2640)- 760 -100413 -1.0 2.64000000 0.000000e+00 D*(2S)- 0 0.00000000 D_s+ 60 431 1.0 1.96830000 5.000000e-13 D_s+ 431 0.00000000 D_s- 61 -431 -1.0 1.96830000 5.000000e-13 D_s- -431 0.00000000 D*_s+ 69 433 1.0 2.11210000 1.000003e-19 D_s*+ 433 0.00000000 D*_s- 70 -433 -1.0 2.11210000 1.000003e-19 D_s*- -433 0.00000000 D*_s0+ 171 10431 1.0 2.31770000 6.582100e-22 D_s0*+ 10431 0.00000000 D*_s0- 175 -10431 -1.0 2.31770000 6.582100e-22 D_s0*- -10431 0.00000000 D_s1(2460)+ 172 20433 1.0 2.45950000 6.582100e-22 D_s1+ 20433 0.00000000 D_s1(2460)- 176 -20433 -1.0 2.45950000 6.582100e-22 D_s1- -20433 0.00000000 D_s1(2536)+ 173 10433 1.0 2.53510000 7.154480e-22 D'_s1+ 10433 0.00000000 D_s1(2536)- 177 -10433 -1.0 2.53510000 7.154480e-22 D'_s1- -10433 0.00000000 D*_s2+ 174 435 1.0 2.57190000 3.871836e-23 D_s2*+ 435 0.00000000 D*_s2- 178 -435 -1.0 2.57190000 3.871836e-23 D_s2*- -435 0.00000000 B0 73 511 0.0 5.27958000 1.519000e-12 B0 511 0.00000000 B~0 74 -511 0.0 5.27958000 1.519000e-12 anti-B0 -511 0.00000000 B0H 99998 510 0.0 5.27958000 1.519000e-12 B0H 0 0.00000000 B0L 99999 150 0.0 5.27958000 1.519000e-12 B0L 0 0.00000000 B+ 71 521 1.0 5.27926000 1.638000e-12 B+ 521 0.00000000 B- 72 -521 -1.0 5.27926000 1.638000e-12 B- -521 0.00000000 B*0 189 513 0.0 5.32520000 1.000019e-19 B*0 513 0.00000000 B*~0 190 -513 0.0 5.32520000 1.000019e-19 anti-B*0 -513 0.00000000 B*- 187 -523 -1.0 5.32520000 1.000019e-19 B*- -523 0.00000000 B*+ 188 523 1.0 5.32520000 1.000019e-19 B*+ 523 0.00000000 B*_00 201 10511 0.0 5.73800000 4.390000e-24 B_0*0 10511 0.00000000 B*_0~0 205 -10511 0.0 5.73800000 4.390000e-24 anti-B_0*0 -10511 0.00000000 B*_0+ 193 10521 1.0 5.73800000 4.390000e-24 B_0*+ 10521 0.00000000 B*_0- 197 -10521 -1.0 5.73800000 4.390000e-24 B_0*- -10521 0.00000000 B_1(H)0 202 20513 0.0 5.75700000 2.630000e-24 B'_10 20513 0.00000000 B_1(H)~0 206 -20513 0.0 5.75700000 2.630000e-24 anti-B'_10 -20513 0.00000000 B_1(H)+ 194 20523 1.0 5.75700000 2.630000e-24 B'_1+ 20523 0.00000000 B_1(H)- 198 -20523 -1.0 5.75700000 2.630000e-24 B'_1- -20523 0.00000000 B_1(L)0 203 10513 0.0 5.72340000 3.134000e-23 B_10 10513 0.00000000 B_1(L)~0 207 -10513 0.0 5.72340000 3.134000e-23 anti-B_10 -10513 0.00000000 B_1(L)+ 195 10523 1.0 5.72340000 3.134000e-23 B_1+ 10523 0.00000000 B_1(L)- 199 -10523 -1.0 5.72340000 3.134000e-23 B_1- -10523 0.00000000 B*_20 204 515 0.0 5.74300000 2.861792e-23 B_2*0 515 0.00000000 B*_2~0 208 -515 0.0 5.74300000 2.861792e-23 anti-B_2*0 -515 0.00000000 B*_2+ 196 525 1.0 5.74300000 2.861792e-23 B_2*+ 525 0.00000000 B*_2- 200 -525 -1.0 5.74300000 2.861792e-23 B_2*- -525 0.00000000 B_s0 75 531 0.0 5.36677000 1.512000e-12 B_s0 531 0.00000000 B_s~0 76 -531 0.0 5.36677000 1.512000e-12 anti-B_s0 -531 0.00000000 B_s0H 99996 530 0.0 5.36677000 1.661000e-12 B_s0H 0 0.00000000 B_s0L 99997 350 0.0 5.36677000 1.405000e-12 B_s0L 0 0.00000000 B*_s0 191 533 0.0 5.41540000 1.000000e-19 B_s*0 533 0.00000000 B*_s~0 192 -533 0.0 5.41540000 1.000000e-19 anti-B_s*0 -533 0.00000000 B*_s00 209 10531 0.0 5.84100000 4.390000e-24 B_s0*0 10531 0.00000000 B*_s0~0 213 -10531 0.0 5.84100000 4.390000e-24 anti-B_s0*0 -10531 0.00000000 B_s1(H)0 210 20533 0.0 5.85900000 2.630000e-24 B'_s10 20533 0.00000000 B_s1(H)~0 214 -20533 0.0 5.85900000 2.630000e-24 anti-B'_s10 -20533 0.00000000 B_s1(L)0 211 10533 0.0 5.82870000 1.316424e-21 B_s10 10533 0.00000000 B_s1(L)~0 215 -10533 0.0 5.82870000 1.316424e-22 anti-B_s10 -10533 0.00000000 B*_s20 212 535 0.0 5.83996000 4.113825e-22 B_s2*0 535 0.00000000 B*_s2~0 216 -535 0.0 5.83996000 4.113825e-22 anti-B_s2*0 -535 0.00000000 B_c+ 77 541 1.0 6.27370000 5.070000e-13 B_c+ 541 0.00000000 B_c- 78 -541 -1.0 6.27370000 5.070000e-13 B_c- -541 0.00000000 B_c*+ 382 543 1.0 6.60200000 0.000000e+00 B_c*+ 543 0.00000000 B_c*- 383 -543 -1.0 6.60200000 0.000000e+00 B_c*- -543 0.00000000 B_c0*+ 607 10541 1.0 7.25000000 0.000000e+00 B_c0*+ 10541 0.00000000 B_c0*- 608 -10541 -1.0 7.25000000 0.000000e+00 B_c0*- -10541 0.00000000 B_c1(L)+ 609 10543 1.0 7.30000000 0.000000e+00 B_c1+ 10543 0.00000000 B_c1(L)- 610 -10543 -1.0 7.30000000 0.000000e+00 B_c1- -10543 0.00000000 B_c1(H)+ 693 20543 1.0 7.40000000 0.000000e+00 B'_c1+ 20543 0.00000000 B_c1(H)- 694 -20543 -1.0 7.40000000 0.000000e+00 B'_c1- -20543 0.00000000 B_c2*+ 384 545 1.0 7.35000000 0.000000e+00 B_c2*+ 545 0.00000000 B_c2*- 385 -545 -1.0 7.35000000 0.000000e+00 B_c2*- -545 0.00000000 eta_c(1S) 128 441 0.0 2.98360000 2.216203e-23 eta_c 441 0.00000000 J/psi(1S) 64 443 0.0 3.09691600 7.085169e-21 J/psi 443 0.00000000 chi_c0(1P) 129 10441 0.0 3.41475000 6.328963e-23 chi_c0 10441 0.00000000 chi_c1(1P) 130 20443 0.0 3.51066000 7.835857e-22 chi_c1 20443 0.00000000 h_c(1P) 606 10443 0.0 3.52538000 9.403029e-22 h_c 10443 0.00000000 chi_c2(1P) 131 445 0.0 3.55620000 3.410425e-22 chi_c2 445 0.00000000 eta_c(2S) 829 100441 0.0 3.63940000 6.582122e-23 eta_c(2S) 100441 0.00000000 psi(2S) 126 100443 0.0 3.68610900 2.201378e-21 psi(2S) 100443 0.00000000 psi(3770) 765 30443 0.0 3.77315000 2.419898e-23 psi(3770) 30443 0.00000000 chi_c2(2P) 1031 100445 0.0 3.92720000 2.742551e-23 chi_c2(2P) 0 0.00000000 psi(4040) 851 9000443 0.0 4.03900000 8.227652e-24 psi(4040) 0 0.00000000 psi(4160) 853 9010443 0.0 4.19100000 9.403029e-24 psi(4160) 0 0.00000000 psi(4415) 856 9020443 0.0 4.42100000 1.061633e-23 psi(4415) 0 0.00000000 X_1(3872) 1016 9920443 0.0 3.87169000 2.076340e-21 X_1(3872) 9920443 0.00000000 X_2(3872) 1017 9910445 0.0 3.87169000 2.076340e-21 X_2(3872) 9910445 0.00000000 Z(4430)+ 1018 9042413 1.0 4.43300000 2.076340e-21 Z(4430)+ 9042413 0.00000000 Z(4430)- 1019 -9042413 -1.0 4.43300000 2.076340e-21 Z(4430)- -9042413 0.00000000 eta_b(1S) 386 551 0.0 9.40300000 0.000000e+00 eta_b 551 0.00000000 eta_b(2S) 830 100551 0.0 9.99700000 0.000000e+00 eta_b(2S) 0 0.00000000 eta_b(3S) 843 200551 0.0 10.33500000 0.000000e+00 eta_b(3S) 0 0.00000000 eta_b2(1D) 613 10555 0.0 10.15700000 0.000000e+00 eta_b2(1D) 10555 0.00000000 eta_b2(2D) 836 110555 0.0 10.44100000 0.000000e+00 eta_b2(2D) 110555 0.00000000 Upsilon(1S) 387 553 0.0 9.46030000 1.218911e-20 Upsilon 553 0.00000000 Upsilon(2S) 831 100553 0.0 10.02326000 2.058199e-20 Upsilon(2S) 100553 0.00000000 Upsilon(3S) 844 200553 0.0 10.35520000 3.242425e-20 Upsilon(3S) 200553 0.00000000 Upsilon_1(1D) 766 30553 0.0 10.16370000 0.000000e+00 Upsilon_1(1D) 30553 0.00000000 Upsilon_1(2D) 839 130553 0.0 10.43490000 0.000000e+00 Upsilon_1(2D) 130553 0.00000000 Upsilon_2(1D) 696 20555 0.0 10.15620000 0.000000e+00 Upsilon_2(1D) 20555 0.00000000 Upsilon_2(2D) 838 120555 0.0 10.44060000 0.000000e+00 Upsilon_2(2D) 120555 0.00000000 Upsilon_3(1D) 389 557 0.0 10.15990000 0.000000e+00 Upsilon_3(1D) 557 0.00000000 Upsilon_3(2D) 833 100557 0.0 10.44430000 0.000000e+00 Upsilon_3(2D) 100557 0.00000000 Upsilon(4S) 849 300553 0.0 10.57940000 3.210791e-23 Upsilon(4S) 300553 0.00000000 Upsilon(10860) 852 9000553 0.0 10.87600000 1.196749e-23 Upsilon(5S) 0 0.00000000 Upsilon(11020) 854 9010553 0.0 11.01900000 8.331800e-24 unknown 0 0.00000000 chi_b0(1P) 611 10551 0.0 9.85944000 0.000000e+00 chi_b0 10551 0.00000000 chi_b0(2P) 834 110551 0.0 10.23250000 0.000000e+00 chi_b0(2P) 110551 0.00000000 chi_b0(3P) 846 210551 0.0 10.50040000 0.000000e+00 chi_b0(3P) 210551 0.00000000 chi_b1(3P) 848 220553 0.0 10.51570000 0.000000e+00 chi_b1(3P) 220553 0.00000000 chi_b1(1P) 695 20553 0.0 9.89278000 0.000000e+00 chi_b1 20553 0.00000000 chi_b1(2P) 837 120553 0.0 10.25546000 0.000000e+00 chi_b1(2P) 120553 0.00000000 chi_b2(1P) 388 555 0.0 9.91221000 0.000000e+00 chi_b2 555 0.00000000 chi_b2(2P) 832 100555 0.0 10.26865000 0.000000e+00 chi_b2(2P) 100555 0.00000000 chi_b2(3P) 845 200555 0.0 10.52620000 0.000000e+00 chi_b2(3P) 200555 0.00000000 h_b(1P) 612 10553 0.0 9.89930000 0.000000e+00 h_b 10553 0.00000000 h_b(2P) 835 110553 0.0 10.25500000 0.000000e+00 h_b(2P) 110553 0.00000000 h_b(3P) 847 210553 0.0 10.51600000 0.000000e+00 h_b(3P) 210553 0.00000000 n0 13 2112 0.0 0.93956538 8.803000e+02 n0 2112 0.00000000 n~0 25 -2112 0.0 0.93956538 8.803000e+02 anti-n0 -2112 0.00000000 p+ 14 2212 1.0 0.93827205 1.000000e+16 p+ 2212 0.00000000 p~- 15 -2212 -1.0 0.93827205 1.000000e+16 anti-p- -2212 0.00000000 N(1440)0 624 12112 0.0 1.43000000 2.194041e-24 N(1440)0 0 0.00000000 N(1440)~0 625 -12112 0.0 1.43000000 2.194041e-24 anti-N(1440)0 0 0.00000000 N(1440)+ 636 12212 1.0 1.43000000 2.194041e-24 N(1440)+ 0 0.00000000 N(1440)~- 637 -12212 -1.0 1.43000000 2.194041e-24 anti-N(1440)- 0 0.00000000 N(1520)0 404 1214 0.0 1.51500000 5.723584e-24 N(1520)0 0 0.00000000 N(1520)~0 405 -1214 0.0 1.51500000 5.723584e-24 anti-N(1520)0 0 0.00000000 N(1520)+ 420 2124 1.0 1.51500000 5.723584e-24 N(1520)+ 0 0.00000000 N(1520)~- 421 -2124 -1.0 1.51500000 5.723584e-24 anti-N(1520)- 0 0.00000000 N(1535)0 705 22112 0.0 1.53500000 4.388081e-24 N(1535)0 0 0.00000000 N(1535)~0 706 -22112 0.0 1.53500000 4.388081e-24 anti-N(1535)0 0 0.00000000 N(1535)+ 713 22212 1.0 1.53500000 4.388081e-24 N(1535)+ 0 0.00000000 N(1535)~- 714 -22212 -1.0 1.53500000 4.388081e-24 anti-N(1535)- 0 0.00000000 N(1650)0 771 32112 0.0 1.65500000 4.701514e-24 N(1650)0 0 0.00000000 N(1650)~0 772 -32112 0.0 1.65500000 4.701514e-24 anti-N(1650)0 0 0.00000000 N(1650)+ 777 32212 1.0 1.65500000 4.701514e-24 N(1650)+ 0 0.00000000 N(1650)~- 778 -32212 -1.0 1.65500000 4.701514e-24 anti-N(1650)- 0 0.00000000 N(1675)0 414 2116 0.0 1.67500000 4.388081e-24 N(1675)0 0 0.00000000 N(1675)~0 415 -2116 0.0 1.67500000 4.388081e-24 anti-N(1675)0 0 0.00000000 N(1675)+ 428 2216 1.0 1.67500000 4.388081e-24 N(1675)+ 0 0.00000000 N(1675)~- 429 -2216 -1.0 1.67500000 4.388081e-24 anti-N(1675)- 0 0.00000000 N(1680)0 628 12116 0.0 1.68500000 5.063171e-24 N(1680)0 0 0.00000000 N(1680)~0 629 -12116 0.0 1.68500000 5.063171e-24 anti-N(1680)0 0 0.00000000 N(1680)+ 640 12216 1.0 1.68500000 5.063171e-24 N(1680)+ 0 0.00000000 N(1680)~- 641 -12216 -1.0 1.68500000 5.063171e-24 anti-N(1680)- 0 0.00000000 N(1700)+ 711 22124 1.0 1.70000000 4.388081e-24 N(1700)+ 0 0.00000000 N(1700)~- 712 -22124 -1.0 1.70000000 4.388081e-24 anti-N(1700)- 0 0.00000000 N(1700)0 703 21214 0.0 1.70000000 4.388081e-24 N(1700)0 0 0.00000000 N(1700)~0 704 -21214 0.0 1.70000000 4.388081e-24 anti-N(1700)0 0 0.00000000 N(1710)0 791 42112 0.0 1.71000000 6.582122e-24 N(1710)0 0 0.00000000 N(1710)~0 792 -42112 0.0 1.71000000 6.582122e-24 anti-N(1710)0 0 0.00000000 N(1710)+ 795 42212 1.0 1.71000000 6.582122e-24 N(1710)+ 0 0.00000000 N(1710)~- 796 -42212 -1.0 1.71000000 6.582122e-24 anti-N(1710)- 0 0.00000000 N(1720)0 769 31214 0.0 1.72000000 2.632849e-24 N(1720)0 0 0.00000000 N(1720)~0 770 -31214 0.0 1.72000000 2.632849e-24 anti-N(1720)0 0 0.00000000 N(1720)+ 775 32124 1.0 1.72000000 2.632849e-24 N(1720)+ 0 0.00000000 N(1720)~- 776 -32124 -1.0 1.72000000 2.632849e-24 anti-N(1720)- 0 0.00000000 N(1900)0 789 41214 0.0 1.85000000 0.000000e+00 N(1900)0 0 0.00000000 N(1900)~0 790 -41214 0.0 1.85000000 0.000000e+00 anti-N(1900)0 0 0.00000000 N(1900)+ 793 42124 1.0 1.85000000 0.000000e+00 N(1900)+ 0 0.00000000 N(1900)~- 794 -42124 -1.0 1.85000000 0.000000e+00 anti-N(1900)- 0 0.00000000 N(1990)0 630 12118 0.0 1.95000000 0.000000e+00 N(1990)0 0 0.00000000 N(1990)~0 631 -12118 0.0 1.95000000 0.000000e+00 anti-N(1990)0 0 0.00000000 N(1990)+ 642 12218 1.0 1.95000000 0.000000e+00 N(1990)+ 0 0.00000000 N(1990)~- 643 -12218 -1.0 1.95000000 0.000000e+00 anti-N(1990)- 0 0.00000000 N(2090)0 799 52114 0.0 2.00000000 0.000000e+00 N(2090)0 0 0.00000000 N(2090)~0 800 -52114 0.0 2.00000000 0.000000e+00 anti-N(2090)0 0 0.00000000 N(2090)+ 801 52214 1.0 2.00000000 0.000000e+00 N(2090)+ 0 0.00000000 N(2090)~- 802 -52214 -1.0 2.00000000 0.000000e+00 anti-N(2090)- 0 0.00000000 N(2190)0 408 1218 0.0 2.19000000 1.316424e-24 N(2190)0 0 0.00000000 N(2190)~0 409 -1218 0.0 2.19000000 1.316424e-24 anti-N(2190)0 0 0.00000000 N(2190)+ 424 2128 1.0 2.19000000 1.316424e-24 N(2190)+ 0 0.00000000 N(2190)~- 425 -2128 -1.0 2.19000000 1.316424e-24 anti-N(2190)- 0 0.00000000 Delta- 182 1114 -1.0 1.23200000 5.625745e-24 Delta- 1114 0.00000000 Delta~+ 186 -1114 1.0 1.23200000 5.625745e-24 anti-Delta+ -1114 0.00000000 Delta0 181 2114 0.0 1.23200000 5.625745e-24 Delta0 2114 0.00000000 Delta~0 185 -2114 0.0 1.23200000 5.625745e-24 anti-Delta0 -2114 0.00000000 Delta+ 180 2214 1.0 1.23200000 5.625745e-24 Delta+ 2214 0.00000000 Delta~- 184 -2214 -1.0 1.23200000 5.625745e-24 anti-Delta- -2214 0.00000000 Delta++ 179 2224 2.0 1.23200000 5.625745e-24 Delta++ 2224 0.00000000 Delta~-- 183 -2224 -2.0 1.23200000 5.625745e-24 anti-Delta-- -2224 0.00000000 Delta(1600)- 767 31114 -1.0 1.60000000 2.056913e-24 Delta(1600)- 0 0.00000000 Delta(1600)~+ 768 -31114 1.0 1.60000000 2.056913e-24 anti-Delta(1600)+ 0 0.00000000 Delta(1600)0 773 32114 0.0 1.60000000 2.056913e-24 Delta(1600)0 0 0.00000000 Delta(1600)~0 774 -32114 0.0 1.60000000 2.056913e-24 anti-Delta(1600)0 0 0.00000000 Delta(1600)+ 779 32214 1.0 1.60000000 2.056913e-24 Delta(1600)+ 0 0.00000000 Delta(1600)~- 780 -32214 -1.0 1.60000000 2.056913e-24 anti-Delta(1600)- 0 0.00000000 Delta(1600)++ 781 32224 2.0 1.60000000 2.056913e-24 Delta(1600)++ 0 0.00000000 Delta(1600)~-- 782 -32224 -2.0 1.60000000 2.056913e-24 anti-Delta(1600)-- 0 0.00000000 Delta(1620)- 396 1112 -1.0 1.63000000 4.701516e-24 Delta(1620)- 0 0.00000000 Delta(1620)~+ 397 -1112 1.0 1.63000000 4.701516e-24 anti-Delta(1620)+ 0 0.00000000 Delta(1620)0 402 1212 0.0 1.63000000 4.701516e-24 Delta(1620)0 0 0.00000000 Delta(1620)~0 403 -1212 0.0 1.63000000 4.701516e-24 anti-Delta(1620)0 0 0.00000000 Delta(1620)+ 418 2122 1.0 1.63000000 4.701516e-24 Delta(1620)+ 0 0.00000000 Delta(1620)~- 419 -2122 -1.0 1.63000000 4.701516e-24 anti-Delta(1620)- 0 0.00000000 Delta(1620)++ 432 2222 2.0 1.63000000 4.701516e-24 Delta(1620)++ 0 0.00000000 Delta(1620)~-- 433 -2222 -2.0 1.63000000 4.701516e-24 anti-Delta(1620)-- 0 0.00000000 Delta(1700)- 616 11114 -1.0 1.70000000 2.194041e-24 Delta(1700)- 0 0.00000000 Delta(1700)~+ 617 -11114 1.0 1.70000000 2.194041e-24 anti-Delta(1700)+ 0 0.00000000 Delta(1700)0 626 12114 0.0 1.70000000 2.194041e-24 Delta(1700)0 0 0.00000000 Delta(1700)~0 627 -12114 0.0 1.70000000 2.194041e-24 anti-Delta(1700)0 0 0.00000000 Delta(1700)+ 638 12214 1.0 1.70000000 2.194041e-24 Delta(1700)+ 0 0.00000000 Delta(1700)~- 639 -12214 -1.0 1.70000000 2.194041e-24 anti-Delta(1700)- 0 0.00000000 Delta(1700)++ 646 12224 2.0 1.70000000 2.194041e-24 Delta(1700)++ 0 0.00000000 Delta(1700)~-- 647 -12224 -2.0 1.70000000 2.194041e-24 anti-Delta(1700)-- 0 0.00000000 Delta(1900)- 614 11112 -1.0 1.84000000 0.000000e+00 Delta(1900)- 0 0.00000000 Delta(1900)~+ 615 -11112 1.0 1.84000000 0.000000e+00 anti-Delta(1900)+ 0 0.00000000 Delta(1900)0 620 11212 0.0 1.93000000 1.880606e-24 Delta(1900)0 0 0.00000000 Delta(1900)~0 621 -11212 0.0 1.93000000 1.880606e-24 anti-Delta(1900)0 0 0.00000000 Delta(1900)+ 632 12122 1.0 1.84000000 0.000000e+00 Delta(1900)+ 0 0.00000000 Delta(1900)~- 633 -12122 -1.0 1.84000000 0.000000e+00 anti-Delta(1900)- 0 0.00000000 Delta(1900)++ 644 12222 2.0 1.84000000 0.000000e+00 Delta(1900)++ 0 0.00000000 Delta(1900)~-- 645 -12222 -2.0 1.84000000 0.000000e+00 anti-Delta(1900)-- 0 0.00000000 Delta(1905)- 398 1116 -1.0 1.88000000 1.994582e-24 Delta(1905)- 0 0.00000000 Delta(1905)~+ 399 -1116 1.0 1.88000000 1.994582e-24 anti-Delta(1905)+ 0 0.00000000 Delta(1905)0 406 1216 0.0 1.88000000 1.994582e-24 Delta(1905)0 0 0.00000000 Delta(1905)~0 407 -1216 0.0 1.88000000 1.994582e-24 anti-Delta(1905)0 0 0.00000000 Delta(1905)+ 422 2126 1.0 1.88000000 1.994582e-24 Delta(1905)+ 0 0.00000000 Delta(1905)~- 423 -2126 -1.0 1.88000000 1.994582e-24 anti-Delta(1905)- 0 0.00000000 Delta(1905)++ 434 2226 2.0 1.88000000 1.994582e-24 Delta(1905)++ 0 0.00000000 Delta(1905)~-- 435 -2226 -2.0 1.88000000 1.994582e-24 anti-Delta(1905)-- 0 0.00000000 Delta(1910)- 697 21112 -1.0 1.89000000 2.350758e-24 Delta(1910)- 0 0.00000000 Delta(1910)~+ 698 -21112 1.0 1.89000000 2.350758e-24 anti-Delta(1910)+ 0 0.00000000 Delta(1910)0 701 21212 0.0 1.89000000 2.350758e-24 Delta(1910)0 0 0.00000000 Delta(1910)~0 702 -21212 0.0 1.89000000 2.350758e-24 anti-Delta(1910)0 0 0.00000000 Delta(1910)+ 709 22122 1.0 1.89000000 2.350758e-24 Delta(1910)+ 0 0.00000000 Delta(1910)~- 710 -22122 -1.0 1.89000000 2.350758e-24 anti-Delta(1910)- 0 0.00000000 Delta(1910)++ 717 22222 2.0 1.89000000 2.350758e-24 Delta(1910)++ 0 0.00000000 Delta(1910)~-- 718 -22222 -2.0 1.89000000 2.350758e-24 anti-Delta(1910)-- 0 0.00000000 Delta(1920)- 699 21114 -1.0 1.92000000 2.531585e-24 Delta(1920)- 0 0.00000000 Delta(1920)~+ 700 -21114 1.0 1.92000000 2.531585e-24 anti-Delta(1920)+ 0 0.00000000 Delta(1920)0 707 22114 0.0 1.92000000 2.531585e-24 Delta(1920)0 0 0.00000000 Delta(1920)~0 708 -22114 0.0 1.92000000 2.531585e-24 anti-Delta(1920)0 0 0.00000000 Delta(1920)+ 715 22214 1.0 1.92000000 2.531585e-24 Delta(1920)+ 0 0.00000000 Delta(1920)~- 716 -22214 -1.0 1.92000000 2.531585e-24 anti-Delta(1920)- 0 0.00000000 Delta(1920)++ 719 22224 2.0 1.92000000 2.531585e-24 Delta(1920)++ 0 0.00000000 Delta(1920)~-- 720 -22224 -2.0 1.92000000 2.531585e-24 anti-Delta(1920)-- 0 0.00000000 Delta(1930)- 618 11116 -1.0 1.95000000 1.828367e-24 Delta(1930)- 0 0.00000000 Delta(1930)~+ 619 -11116 1.0 1.95000000 1.828367e-24 anti-Delta(1930)+ 0 0.00000000 Delta(1930)0 622 11216 0.0 1.95000000 1.828367e-24 Delta(1930)0 0 0.00000000 Delta(1930)~0 623 -11216 0.0 1.95000000 1.828367e-24 anti-Delta(1930)0 0 0.00000000 Delta(1930)+ 634 12126 1.0 1.95000000 1.828367e-24 Delta(1930)+ 0 0.00000000 Delta(1930)~- 635 -12126 -1.0 1.95000000 1.828367e-24 anti-Delta(1930)- 0 0.00000000 Delta(1930)++ 648 12226 2.0 1.95000000 1.828367e-24 Delta(1930)++ 0 0.00000000 Delta(1930)~-- 649 -12226 -2.0 1.95000000 1.828367e-24 anti-Delta(1930)-- 0 0.00000000 Delta(1950)- 400 1118 -1.0 1.93000000 2.350758e-24 Delta(1950)- 0 0.00000000 Delta(1950)~+ 401 -1118 1.0 1.93000000 2.350758e-24 anti-Delta(1950)+ 0 0.00000000 Delta(1950)0 416 2118 0.0 1.93000000 2.350758e-24 Delta(1950)0 0 0.00000000 Delta(1950)~0 417 -2118 0.0 1.93000000 2.350758e-24 anti-Delta(1950)0 0 0.00000000 Delta(1950)+ 430 2218 1.0 1.93000000 2.350758e-24 Delta(1950)+ 0 0.00000000 Delta(1950)~- 431 -2218 -1.0 1.93000000 2.350758e-24 anti-Delta(1950)- 0 0.00000000 Delta(1950)++ 436 2228 2.0 1.93000000 2.350758e-24 Delta(1950)++ 0 0.00000000 Delta(1950)~-- 437 -2228 -2.0 1.93000000 2.350758e-24 anti-Delta(1950)-- 0 0.00000000 Lambda0 18 3122 0.0 1.11568300 2.632000e-10 Lambda0 3122 0.00000000 Lambda~0 26 -3122 0.0 1.11568300 2.632000e-10 anti-Lambda0 -3122 0.00000000 Lambda(1405)0 656 13122 0.0 1.40510000 1.316424e-23 Lambda(1405)0 0 0.00000000 Lambda(1405)~0 657 -13122 0.0 1.40510000 1.316424e-23 anti-Lambda(1405)0 0 0.00000000 Lambda(1520)0 448 3124 0.0 1.51950000 4.219309e-23 Lambda(1520)0 0 0.00000000 Lambda(1520)~0 449 -3124 0.0 1.51950000 4.219309e-23 anti-Lambda(1520)0 0 0.00000000 Lambda(1600)0 725 23122 0.0 1.60000000 4.388081e-24 Lambda(1600)0 0 0.00000000 Lambda(1600)~0 726 -23122 0.0 1.60000000 4.388081e-24 anti-Lambda(1600)0 0 0.00000000 Lambda(1670)0 783 33122 0.0 1.67000000 1.880606e-23 Lambda(1670)0 0 0.00000000 Lambda(1670)~0 784 -33122 0.0 1.67000000 1.880606e-23 anti-Lambda(1670)0 0 0.00000000 Lambda(1690)0 658 13124 0.0 1.69000000 1.097020e-23 Lambda(1690)0 0 0.00000000 Lambda(1690)~0 659 -13124 0.0 1.69000000 1.097020e-23 anti-Lambda(1690)0 0 0.00000000 Lambda(1800)0 797 43122 0.0 1.80000000 2.194041e-24 Lambda(1800)0 0 0.00000000 Lambda(1800)~0 798 -43122 0.0 1.80000000 2.194041e-24 anti-Lambda(1800)0 0 0.00000000 Lambda(1810)0 803 53122 0.0 1.81000000 4.388081e-24 Lambda(1810)0 0 0.00000000 Lambda(1810)~0 804 -53122 0.0 1.81000000 4.388081e-24 anti-Lambda(1810)0 0 0.00000000 Lambda(1820)0 450 3126 0.0 1.82000000 8.227652e-24 Lambda(1820)0 0 0.00000000 Lambda(1820)~0 451 -3126 0.0 1.82000000 8.227652e-24 anti-Lambda(1820)0 0 0.00000000 Lambda(1830)0 660 13126 0.0 1.83000000 6.928549e-24 Lambda(1830)0 0 0.00000000 Lambda(1830)~0 661 -13126 0.0 1.83000000 6.928549e-24 anti-Lambda(1830)0 0 0.00000000 Lambda(1890)0 727 23124 0.0 1.89000000 6.582122e-24 Lambda(1890)0 0 0.00000000 Lambda(1890)~0 728 -23124 0.0 1.89000000 6.582122e-24 anti-Lambda(1890)0 0 0.00000000 Lambda(2100)0 452 3128 0.0 2.10000000 3.291061e-24 unknown 0 0.00000000 Lambda(2100)~0 453 -3128 0.0 2.10000000 3.291061e-24 unknown 0 0.00000000 Lambda(2110)0 729 23126 0.0 2.11000000 3.291061e-24 unknown 0 0.00000000 Lambda(2110)~0 730 -23126 0.0 2.11000000 3.291061e-24 unknown 0 0.00000000 Sigma- 21 3112 -1.0 1.19744900 1.479000e-10 Sigma- 3112 0.00000000 Sigma~+ 29 -3112 1.0 1.19744900 1.479000e-10 anti-Sigma+ -3112 0.00000000 Sigma0 20 3212 0.0 1.19264200 7.400000e-20 Sigma0 3212 0.00000000 Sigma~0 28 -3212 0.0 1.19264200 7.400000e-20 anti-Sigma0 -3212 0.00000000 Sigma+ 19 3222 1.0 1.18937000 8.018000e-11 Sigma+ 3222 0.00000000 Sigma~- 27 -3222 -1.0 1.18937000 8.018000e-11 anti-Sigma- -3222 0.00000000 Sigma*- 442 3114 -1.0 1.38720000 1.670589e-23 Sigma*- 3114 0.00000000 Sigma*~+ 443 -3114 1.0 1.38720000 1.670589e-23 anti-Sigma*+ -3114 0.00000000 Sigma*0 458 3214 0.0 1.38370000 1.828367e-23 Sigma*0 3214 0.00000000 Sigma*~0 459 -3214 0.0 1.38370000 1.828367e-23 anti-Sigma*0 -3214 0.00000000 Sigma*+ 464 3224 1.0 1.38280000 1.828367e-23 Sigma*+ 3224 0.00000000 Sigma*~- 465 -3224 -1.0 1.38280000 1.828367e-23 anti-Sigma*- -3224 0.00000000 Sigma(1660)- 650 13112 -1.0 1.66000000 6.582122e-24 Sigma(1660)- 0 0.00000000 Sigma(1660)~+ 651 -13112 1.0 1.66000000 6.582122e-24 anti-Sigma(1660)+ 0 0.00000000 Sigma(1660)0 662 13212 0.0 1.66000000 6.582122e-24 Sigma(1660)0 0 0.00000000 Sigma(1660)~0 663 -13212 0.0 1.66000000 6.582122e-24 anti-Sigma(1660)0 0 0.00000000 Sigma(1660)+ 668 13222 1.0 1.66000000 6.582122e-24 Sigma(1660)+ 0 0.00000000 Sigma(1660)~- 669 -13222 -1.0 1.66000000 6.582122e-24 anti-Sigma(1660)- 0 0.00000000 Sigma(1670)- 652 13114 -1.0 1.67000000 1.097020e-23 Sigma(1670)- 0 0.00000000 Sigma(1670)~+ 653 -13114 1.0 1.67000000 1.097020e-23 anti-Sigma(1670)+ 0 0.00000000 Sigma(1670)0 664 13214 0.0 1.67000000 1.097020e-23 Sigma(1670)0 0 0.00000000 Sigma(1670)~0 665 -13214 0.0 1.67000000 1.097020e-23 anti-Sigma(1670)0 0 0.00000000 Sigma(1670)+ 670 13224 1.0 1.67000000 1.097020e-23 Sigma(1670)+ 0 0.00000000 Sigma(1670)~- 671 -13224 -1.0 1.67000000 1.097020e-23 anti-Sigma(1670)- 0 0.00000000 Sigma(1750)- 721 23112 -1.0 1.75000000 7.313469e-24 Sigma(1750)- 0 0.00000000 Sigma(1750)~+ 722 -23112 1.0 1.75000000 7.313469e-24 anti-Sigma(1750)+ 0 0.00000000 Sigma(1750)0 731 23212 0.0 1.75000000 7.313469e-24 Sigma(1750)0 0 0.00000000 Sigma(1750)~0 732 -23212 0.0 1.75000000 7.313469e-24 anti-Sigma(1750)0 0 0.00000000 Sigma(1750)+ 735 23222 1.0 1.75000000 7.313469e-24 Sigma(1750)+ 0 0.00000000 Sigma(1750)~- 736 -23222 -1.0 1.75000000 7.313469e-24 anti-Sigma(1750)- 0 0.00000000 Sigma(1775)- 444 3116 -1.0 1.77500000 5.485102e-24 Sigma(1775)- 0 0.00000000 Sigma(1775)~+ 445 -3116 1.0 1.77500000 5.485102e-24 anti-Sigma(1775)+ 0 0.00000000 Sigma(1775)0 460 3216 0.0 1.77500000 5.485102e-24 Sigma(1775)0 0 0.00000000 Sigma(1775)~0 461 -3216 0.0 1.77500000 5.485102e-24 anti-Sigma(1775)0 0 0.00000000 Sigma(1775)+ 466 3226 1.0 1.77500000 5.485102e-24 Sigma(1775)+ 0 0.00000000 Sigma(1775)~- 467 -3226 -1.0 1.77500000 5.485102e-24 anti-Sigma(1775)- 0 0.00000000 Sigma(1915)- 654 13116 -1.0 1.91500000 5.485102e-24 Sigma(1915)- 0 0.00000000 Sigma(1915)~+ 655 -13116 1.0 1.91500000 5.485102e-24 anti-Sigma(1915)+ 0 0.00000000 Sigma(1915)0 666 13216 0.0 1.91500000 5.485102e-24 Sigma(1915)0 0 0.00000000 Sigma(1915)~0 667 -13216 0.0 1.91500000 5.485102e-24 anti-Sigma(1915)0 0 0.00000000 Sigma(1915)+ 672 13226 1.0 1.91500000 5.485102e-24 Sigma(1915)+ 0 0.00000000 Sigma(1915)~- 673 -13226 -1.0 1.91500000 5.485102e-24 anti-Sigma(1915)- 0 0.00000000 Sigma(1940)- 723 23114 -1.0 1.94000000 2.991874e-24 Sigma(1940)- 0 0.00000000 Sigma(1940)~+ 724 -23114 1.0 1.94000000 2.991874e-24 anti-Sigma(1940)+ 0 0.00000000 Sigma(1940)0 733 23214 0.0 1.94000000 2.991874e-24 Sigma(1940)0 0 0.00000000 Sigma(1940)~0 734 -23214 0.0 1.94000000 2.991874e-24 anti-Sigma(1940)0 0 0.00000000 Sigma(1940)+ 737 23224 1.0 1.94000000 2.991874e-24 Sigma(1940)+ 0 0.00000000 Sigma(1940)~- 738 -23224 -1.0 1.94000000 2.991874e-24 anti-Sigma(1940)- 0 0.00000000 Sigma(2030)0 462 3218 0.0 2.03000000 3.656734e-24 unknown 0 0.00000000 Sigma(2030)~0 463 -3218 0.0 2.03000000 3.656734e-24 unknown 0 0.00000000 Sigma(2030)+ 468 3228 1.0 2.03000000 3.656734e-24 unknown 0 0.00000000 Sigma(2030)~- 469 -3228 -1.0 2.03000000 3.656734e-24 unknown 0 0.00000000 Sigma(2030)- 446 3118 -1.0 2.03000000 3.656734e-24 unknown 0 0.00000000 Sigma(2030)~+ 447 -3118 1.0 2.03000000 3.656734e-24 unknown 0 0.00000000 Sigma(2250)0 1059 103212 0.0 2.25000000 6.580000e-24 Sigma(2250)0 0 0.00000000 Sigma(2250)~0 1060 -103212 0.0 2.25000000 6.580000e-24 anti-Sigma(2250)0 0 0.00000000 Sigma(2250)+ 1061 103222 1.0 2.25000000 6.580000e-24 Sigma(2250)+ 0 0.00000000 Sigma(2250)~- 1062 -103222 -1.0 2.25000000 6.580000e-24 anti-Sigma(2250)- 0 0.00000000 Sigma(2250)- 1063 103112 -1.0 2.25000000 6.580000e-24 Sigma(2250)- 0 0.00000000 Sigma(2250)~+ 1064 -103112 1.0 2.25000000 6.580000e-24 anti-Sigma(2250)+ 0 0.00000000 Xi- 23 3312 -1.0 1.32171000 1.639000e-10 Xi- 3312 0.00000000 Xi~+ 31 -3312 1.0 1.32171000 1.639000e-10 anti-Xi+ -3312 0.00000000 Xi0 22 3322 0.0 1.31486000 2.900000e-10 Xi0 3322 0.00000000 Xi~0 30 -3322 0.0 1.31486000 2.900000e-10 anti-Xi0 -3322 0.00000000 Xi*- 472 3314 -1.0 1.53500000 6.648608e-23 Xi*- 3314 0.00000000 Xi*~+ 473 -3314 1.0 1.53500000 6.648608e-23 anti-Xi*+ -3314 0.00000000 Xi*0 474 3324 0.0 1.53180000 7.233101e-23 Xi*0 3324 0.00000000 Xi*~0 475 -3324 0.0 1.53180000 7.233101e-23 anti-Xi*0 -3324 0.00000000 Xi(1690)- 1033 203312 -1.0 1.69000000 0.000000e+00 Xi(1690)- 0 0.00000000 Xi(1690)~+ 1034 -203312 1.0 1.69000000 0.000000e+00 anti-Xi(1690)+ 0 0.00000000 Xi(1690)0 1035 203322 0.0 1.69000000 0.000000e+00 Xi(1690)0 0 0.00000000 Xi(1690)~0 1036 -203322 0.0 1.69000000 0.000000e+00 anti-Xi(1690)0 0 0.00000000 Xi(1820)- 674 13314 -1.0 1.82300000 2.742551e-23 unknown 0 0.00000000 Xi(1820)~+ 675 -13314 1.0 1.82300000 2.742551e-23 unknown 0 0.00000000 Xi(1820)0 678 13324 0.0 1.82300000 2.742551e-23 unknown 0 0.00000000 Xi(1820)~0 679 -13324 0.0 1.82300000 2.742551e-23 unknown 0 0.00000000 Xi(1950)- 1037 103316 -1.0 1.95000000 1.097020e-23 Xi(1950)- 0 0.00000000 Xi(1950)~+ 1038 -103316 1.0 1.95000000 1.097020e-23 anti-Xi(1950)+ 0 0.00000000 Xi(1950)0 1039 103326 0.0 1.95000000 1.097020e-23 Xi(1950)0 0 0.00000000 Xi(1950)~0 1040 -103326 0.0 1.95000000 1.097020e-23 anti-Xi(1950)0 0 0.00000000 Xi(2030)- 1041 203316 -1.0 2.02500000 3.291061e-23 Xi(2030)- 0 0.00000000 Xi(2030)~+ 1042 -203316 1.0 2.02500000 3.291061e-23 anti-Xi(2030)+ 0 0.00000000 Xi(2030)0 1043 203326 0.0 2.02500000 3.291061e-23 Xi(2030)0 0 0.00000000 Xi(2030)~0 1044 -203326 0.0 2.02500000 3.291061e-23 anti-Xi(2030)0 0 0.00000000 Omega- 24 3334 -1.0 1.67245000 8.210000e-11 Omega- 3334 0.00000000 Omega~+ 32 -3334 1.0 1.67245000 8.210000e-11 anti-Omega+ -3334 0.00000000 Omega(2250)- 1045 203338 -1.0 2.25200000 1.196749e-23 Omega(2250)- 0 0.00000000 Omega(2250)~+ 1046 -203338 1.0 2.25200000 1.196749e-23 anti-Omega(2250)+ 0 0.00000000 Lambda_c+ 62 4122 1.0 2.28646000 2.000000e-13 Lambda_c+ 4122 0.00000000 Lambda_c~- 63 -4122 -1.0 2.28646000 2.000000e-13 anti-Lambda_c- -4122 0.00000000 Lambda_c(2595)+ 682 14122 1.0 2.59225000 2.531585e-22 Lambda_c(2593)+ 0 0.00000000 Lambda_c(2595)~- 683 -14122 -1.0 2.59225000 2.531585e-22 anti-Lambda_c(2593)- 0 0.00000000 Lambda_c(2625)+ 1047 104124 1.0 2.62811000 0.000000e+00 Lambda_c(2625)+ 0 0.00000000 Lambda_c(2625)~- 1048 -104124 -1.0 2.62811000 0.000000e+00 anti-Lambda_c(2625)- 0 0.00000000 Lambda_c(2880)+ 1049 204126 1.0 2.88153000 1.134849e-22 Lambda_c(2880)+ 0 0.00000000 Lambda_c(2880)~- 1050 -204126 -1.0 2.88153000 1.134849e-22 anti-Lambda_c(2880)- 0 0.00000000 Sigma_c0 81 4112 0.0 2.45374000 3.047279e-22 Sigma_c0 4112 0.00000000 Sigma_c~0 82 -4112 0.0 2.45374000 3.047279e-22 anti-Sigma_c0 -4112 0.00000000 Sigma_c+ 83 4212 1.0 2.45290000 3.999999e-22 Sigma_c+ 4212 0.00000000 Sigma_c~- 84 -4212 -1.0 2.45290000 3.999999e-22 anti-Sigma_c- -4212 0.00000000 Sigma_c++ 85 4222 2.0 2.45398000 2.912443e-22 Sigma_c++ 4222 0.00000000 Sigma_c~-- 86 -4222 -2.0 2.45398000 2.912443e-22 anti-Sigma_c-- -4222 0.00000000 Sigma_c*0 480 4114 0.0 2.51880000 4.539394e-23 Sigma_c*0 4114 0.00000000 Sigma_c*~0 481 -4114 0.0 2.51880000 4.539394e-23 anti-Sigma_c*0 -4114 0.00000000 Sigma_c*+ 486 4214 1.0 2.51750000 3.291061e-22 Sigma_c*+ 4214 0.00000000 Sigma_c*~- 487 -4214 -1.0 2.51750000 3.291061e-22 anti-Sigma_c*- -4214 0.00000000 Sigma_c*++ 488 4224 2.0 2.51790000 4.417531e-23 Sigma_c*++ 4224 0.00000000 Sigma_c*~-- 489 -4224 -2.0 2.51790000 4.417531e-23 anti-Sigma_c*-- -4224 0.00000000 Xi_c0 106 4132 0.0 2.47088000 1.120000e-13 Xi_c0 4132 0.00000000 Xi_c~0 107 -4132 0.0 2.47088000 1.120000e-13 anti-Xi_c0 -4132 0.00000000 Xi_c+ 108 4232 1.0 2.46780000 4.420000e-13 Xi_c+ 4232 0.00000000 Xi_c~- 109 -4232 -1.0 2.46780000 4.420000e-13 anti-Xi_c- -4232 0.00000000 Xi'_c0 100 4312 0.0 2.57790000 0.000000e+00 Xi'_c0 4312 0.00000000 Xi'_c~0 101 -4312 0.0 2.57790000 0.000000e+00 anti-Xi'_c0 -4312 0.00000000 Xi'_c+ 102 4322 1.0 2.57560000 0.000000e+00 Xi'_c+ 4322 0.00000000 Xi'_c~- 103 -4322 -1.0 2.57560000 0.000000e+00 anti-Xi'_c- -4322 0.00000000 Xi_c*0 494 4314 0.0 2.64590000 0.000000e+00 Xi_c*0 4314 0.00000000 Xi_c*~0 495 -4314 0.0 2.64590000 0.000000e+00 anti-Xi_c*0 -4314 0.00000000 Xi_c*+ 496 4324 1.0 2.64590000 0.000000e+00 Xi_c*+ 4324 0.00000000 Xi_c*~- 497 -4324 -1.0 2.64590000 0.000000e+00 anti-Xi_c*- -4324 0.00000000 Xi_c(2790)+ 1051 104324 1.0 2.78910000 0.000000e+00 Xi_c(2790)+ 0 0.00000000 Xi_c(2790)~- 1052 -104324 -1.0 2.78910000 0.000000e+00 anti-Xi_c(2790)- 0 0.00000000 Xi_c(2790)0 1053 104314 0.0 2.79180000 0.000000e+00 Xi_c(2790)0 0 0.00000000 Xi_c(2790)~0 1054 -104314 0.0 2.79180000 0.000000e+00 anti-Xi_c(2790)0 0 0.00000000 Xi_c(2815)+ 1055 104322 1.0 2.81660000 0.000000e+00 Xi_c(2815)+ 0 0.00000000 Xi_c(2815)~- 1056 -104322 -1.0 2.81660000 0.000000e+00 anti-Xi_c(2815)- 0 0.00000000 Xi_c(2815)0 1057 104312 0.0 2.81960000 0.000000e+00 Xi_c(2815)0 0 0.00000000 Xi_c(2815)~0 1058 -104312 0.0 2.81960000 0.000000e+00 anti-Xi_c(2815)0 0 0.00000000 Omega_c0 104 4332 0.0 2.69520000 6.900000e-14 Omega_c0 4332 0.00000000 Omega_c~0 105 -4332 0.0 2.69520000 6.900000e-14 anti-Omega_c0 -4332 0.00000000 Omega_c*0 498 4334 0.0 2.76590000 0.000000e+00 Omega_c*0 4334 0.00000000 Omega_c*~0 499 -4334 0.0 2.76590000 0.000000e+00 anti-Omega_c*0 -4334 0.00000000 Xi_cc+ 502 4412 1.0 3.62140000 3.335641e-13 Xi_cc+ 4412 0.00000000 Xi_cc~- 503 -4412 -1.0 3.62140000 3.335641e-13 anti-Xi_cc- -4412 0.00000000 Xi*_cc+ 504 4414 1.0 3.65648000 0.000000e+00 Xi_cc*+ 4414 0.00000000 Xi*_cc~- 505 -4414 -1.0 3.65648000 0.000000e+00 anti-Xi_cc*- -4414 0.00000000 Xi_cc++ 506 4422 2.0 3.62140000 3.335641e-13 Xi_cc++ 4422 0.00000000 Xi_cc~-- 507 -4422 -2.0 3.62140000 3.335641e-13 anti-Xi_cc-- -4422 0.00000000 Xi*_cc++ 508 4424 2.0 3.65648000 0.000000e+00 Xi_cc*++ 4424 0.00000000 Xi*_cc~-- 509 -4424 -2.0 3.65648000 0.000000e+00 anti-Xi_cc*-- -4424 0.00000000 Omega_cc+ 510 4432 1.0 3.78663000 3.335641e-13 Omega_cc+ 4432 0.00000000 Omega_cc~- 511 -4432 -1.0 3.78663000 3.335641e-13 anti-Omega_cc- -4432 0.00000000 Omega*_cc+ 512 4434 1.0 3.82466000 0.000000e+00 Omega_cc*+ 4434 0.00000000 Omega*_cc~- 513 -4434 -1.0 3.82466000 0.000000e+00 anti-Omega_cc*- -4434 0.00000000 Omega*_ccc++ 514 4444 2.0 4.91594000 0.000000e+00 unknown 4444 0.00000000 Omega*_ccc~-- 515 -4444 -2.0 4.91594000 0.000000e+00 unknown -4444 0.00000000 Lambda_b0 79 5122 0.0 5.61950000 1.451000e-12 Lambda_b0 5122 0.00000000 Lambda_b~0 80 -5122 0.0 5.61950000 1.451000e-12 anti-Lambda_b0 -5122 0.00000000 Lambda_b(5912)0 1065 15122 0.0 5.91197000 1.316000e-21 Lambda_b(5912)0 15122 0.00000000 Lambda_b(5912)~0 1066 -15122 0.0 5.91197000 1.316000e-21 anti-Lambda_b(5912)0 -15122 0.00000000 Lambda_b(5920)0 1067 5124 0.0 5.91977000 1.316000e-21 Lambda_b(5920)0 5124 0.00000000 Lambda_b(5920)~0 1068 -5124 0.0 5.91977000 1.316000e-21 anti-Lambda_b(5920)0 -5124 0.00000000 Sigma_b- 114 5112 -1.0 5.81550000 1.343290e-22 Sigma_b- 5112 0.00000000 Sigma_b~+ 115 -5112 1.0 5.81550000 1.343290e-22 anti-Sigma_b+ -5112 0.00000000 Sigma_b0 112 5212 0.0 5.80780000 1.000000e-19 Sigma_b0 5212 0.00000000 Sigma_b~0 113 -5212 0.0 5.80780000 1.000000e-19 anti-Sigma_b0 -5212 0.00000000 Sigma_b+ 110 5222 1.0 5.81130000 6.785693e-23 Sigma_b+ 5222 0.00000000 Sigma_b~- 111 -5222 -1.0 5.81130000 6.785693e-23 anti-Sigma_b- -5222 0.00000000 Sigma_b*- 520 5114 -1.0 5.83510000 8.776160e-23 Sigma_b*- 5114 0.00000000 Sigma_b*~+ 521 -5114 1.0 5.83510000 8.776160e-23 anti-Sigma_b*+ -5114 0.00000000 Sigma_b*0 528 5214 0.0 5.82900000 0.000000e+00 Sigma_b*0 5214 0.00000000 Sigma_b*~0 529 -5214 0.0 5.82900000 0.000000e+00 anti-Sigma_b*0 -5214 0.00000000 Sigma_b*+ 530 5224 1.0 5.83210000 5.723583e-23 Sigma_b*+ 5224 0.00000000 Sigma_b*~- 531 -5224 -1.0 5.83210000 5.723583e-23 anti-Sigma_b*- -5224 0.00000000 Xi_b- 122 5132 -1.0 5.79490000 1.560000e-12 Xi_b- 5132 0.00000000 Xi_b~+ 123 -5132 1.0 5.79490000 1.560000e-12 anti-Xi_b+ -5132 0.00000000 Xi_b0 124 5232 0.0 5.79310000 1.490000e-12 Xi_b0 5232 0.00000000 Xi_b~0 125 -5232 0.0 5.79310000 1.490000e-12 anti-Xi_b0 -5232 0.00000000 Xi'_b- 116 5312 -1.0 5.96000000 1.000000e-19 Xi'_b- 5312 0.00000000 Xi'_b~+ 117 -5312 1.0 5.96000000 1.000000e-19 anti-Xi'_b+ -5312 0.00000000 Xi'_b0 118 5322 0.0 5.96000000 1.000000e-19 Xi'_b0 5322 0.00000000 Xi'_b~0 119 -5322 0.0 5.96000000 1.000000e-19 anti-Xi'_b0 -5322 0.00000000 Xi_b*- 538 5314 -1.0 5.97000000 0.000000e+00 Xi_b*- 5314 0.00000000 Xi_b*~+ 539 -5314 1.0 5.97000000 0.000000e+00 anti-Xi_b*+ -5314 0.00000000 Xi_b*0 540 5324 0.0 5.97000000 0.000000e+00 Xi_b*0 5324 0.00000000 Xi_b*~0 541 -5324 0.0 5.97000000 0.000000e+00 anti-Xi_b*0 -5324 0.00000000 Omega_b*- 542 5334 -1.0 6.13000000 0.000000e+00 Omega_b*- 5334 0.00000000 Omega_b*~+ 543 -5334 1.0 6.13000000 0.000000e+00 anti-Omega_b*+ -5334 0.00000000 Omega_b- 120 5332 -1.0 6.04880000 1.100000e-12 Omega_b- 5332 0.00000000 Omega_b~+ 121 -5332 1.0 6.04880000 1.100000e-12 anti-Omega_b+ -5332 0.00000000 Xi_bc0 522 5142 0.0 6.90000000 0.500000e-12 Xi_bc0 5142 0.00000000 Xi_bc~0 523 -5142 0.0 6.90000000 0.500000e-12 anti-Xi_bc0 -5142 0.00000000 Xi_bc+ 532 5242 1.0 6.90000000 0.500000e-12 Xi_bc+ 5242 0.00000000 Xi_bc~- 533 -5242 -1.0 6.90000000 0.500000e-12 anti-Xi_bc- -5242 0.00000000 Omega_bc0 544 5342 0.0 7.19099000 0.500000e-12 unknown 5342 0.00000000 Omega_bc~0 545 -5342 0.0 7.19099000 0.500000e-12 unknown -5342 0.00000000 Xi'_bc0 550 5412 0.0 7.03724000 0.000000e+00 unknown 5412 0.00000000 Xi'_bc~0 551 -5412 0.0 7.03724000 0.000000e+00 unknown -5412 0.00000000 Xi*_bc0 552 5414 0.0 7.04850000 0.000000e+00 unknown 5414 0.00000000 Xi*_bc~0 553 -5414 0.0 7.04850000 0.000000e+00 unknown -5414 0.00000000 Xi'_bc+ 554 5422 1.0 7.03724000 0.000000e+00 unknown 5422 0.00000000 Xi'_bc~- 555 -5422 -1.0 7.03724000 0.000000e+00 unknown -5422 0.00000000 Xi*_bc+ 556 5424 1.0 7.04850000 0.000000e+00 unknown 5424 0.00000000 Xi*_bc~- 557 -5424 -1.0 7.04850000 0.000000e+00 unknown -5424 0.00000000 Omega'_bc0 558 5432 0.0 7.21101000 0.000000e+00 unknown 5432 0.00000000 Omega'_bc~0 559 -5432 0.0 7.21101000 0.000000e+00 unknown -5432 0.00000000 Omega*_bc0 560 5434 0.0 7.21900000 0.000000e+00 unknown 5434 0.00000000 Omega*_bc~0 561 -5434 0.0 7.21900000 0.000000e+00 unknown -5434 0.00000000 Omega_bcc+ 562 5442 1.0 8.30945000 1.290893e-12 unknown 5442 0.00000000 Omega_bcc~- 563 -5442 -1.0 8.30945000 1.290893e-12 unknown -5442 0.00000000 Omega*_bcc+ 564 5444 1.0 8.31325000 0.000000e+00 unknown 5444 0.00000000 Omega*_bcc~- 565 -5444 -1.0 8.31325000 0.000000e+00 unknown -5444 0.00000000 Xi_bb- 568 5512 -1.0 10.42272000 1.290893e-12 unknown 5512 0.00000000 Xi_bb~+ 569 -5512 1.0 10.42272000 1.290893e-12 unknown -5512 0.00000000 Xi*_bb- 570 5514 -1.0 10.44144000 0.000000e+00 unknown 5514 0.00000000 Xi*_bb~+ 571 -5514 1.0 10.44144000 0.000000e+00 unknown -5514 0.00000000 Xi_bb0 572 5522 0.0 10.42272000 1.290893e-12 unknown 5522 0.00000000 Xi_bb~0 573 -5522 0.0 10.42272000 1.290893e-12 unknown -5522 0.00000000 Xi*_bb0 574 5524 0.0 10.44144000 0.000000e+00 unknown 5524 0.00000000 Xi*_bb~0 575 -5524 0.0 10.44144000 0.000000e+00 unknown -5524 0.00000000 Omega_bb- 576 5532 -1.0 10.60209000 1.290893e-12 unknown 5532 0.00000000 Omega_bb~+ 577 -5532 1.0 10.60209000 1.290893e-12 unknown -5532 0.00000000 Omega*_bb- 578 5534 -1.0 10.61426000 0.000000e+00 unknown 5534 0.00000000 Omega*_bb~+ 579 -5534 1.0 10.61426000 0.000000e+00 unknown -5534 0.00000000 Omega_bbc0 580 5542 0.0 11.70767000 1.290893e-12 unknown 5542 0.00000000 Omega_bbc~0 581 -5542 0.0 11.70767000 1.290893e-12 unknown -5542 0.00000000 Omega*_bbc0 582 5544 0.0 11.71147000 0.000000e+00 unknown 5544 0.00000000 Omega*_bbc~0 583 -5544 0.0 11.71147000 0.000000e+00 unknown -5544 0.00000000 Omega*_bbb- 584 5554 -1.0 15.11061000 0.000000e+00 unknown 5554 0.00000000 Omega*_bbb~+ 585 -5554 1.0 15.11061000 0.000000e+00 unknown -5554 0.00000000 deuteron 45 1000010020 1.0 1.87561300 1.000000e+15 deuteron 0 0.00000000 triton 46 1000010030 1.0 2.80925000 1.000000e+15 tritium 0 0.00000000 alpha 47 1000020040 2.0 3.72741700 1.000000e+15 alpha 0 0.00000000 geantino 48 480000000 0.0 0.00000000 1.000000e+15 geantino 0 0.00000000 opticalphoton 50 20022 0.0 0.00000000 1.000000e+16 Cerenkov 0 0.00000000 H_10 87 25 0.0 125.70000000 9.400000e-26 Higgs0 25 0.00000000 H_20 88 35 0.0 310.00000000 9.400000e-26 Higgs'0 35 0.00000000 H_30 89 36 0.0 310.00000000 9.400000e-26 A0 36 0.00000000 H+ 90 37 1.0 310.00000000 9.400000e-26 Higgs+ 37 0.00000000 H- 91 -37 -1.0 310.00000000 9.400000e-26 Higgs- -37 0.00000000 d 303 1 -0.3 0.00990000 0.000000e+00 d 1 0.00000000 anti-d 304 -1 0.3 0.00990000 0.000000e+00 anti-d -1 0.00000000 u 305 2 0.7 0.00560000 0.000000e+00 u 2 0.00000000 anti-u 306 -2 -0.7 0.00560000 0.000000e+00 anti-u -2 0.00000000 s 307 3 -0.3 0.19900000 0.000000e+00 s 3 0.00000000 anti-s 308 -3 0.3 0.19900000 0.000000e+00 anti-s -3 0.00000000 c 309 4 0.7 1.35000000 0.000000e+00 c 4 0.00000000 anti-c 310 -4 -0.7 1.35000000 0.000000e+00 anti-c -4 0.00000000 b 311 5 -0.3 5.00000000 0.000000e+00 b 5 0.00000000 anti-b 312 -5 0.3 5.00000000 0.000000e+00 anti-b -5 0.00000000 t 313 6 0.7 173.50000000 3.291061e-25 t 6 0.00000000 anti-t 314 -6 -0.7 173.50000000 3.291061e-25 anti-t -6 0.00000000 b' 315 7 -0.3 400.00000000 0.000000e+00 b' 7 0.00000000 anti-b' 316 -7 0.3 400.00000000 0.000000e+00 anti-b' -7 0.00000000 t' 317 8 0.7 500.00000000 0.000000e+00 t' 8 0.00000000 anti-t' 318 -8 -0.7 500.00000000 0.000000e+00 anti-t' -8 0.00000000 nu_tau 319 16 0.0 0.00000000 1.000000e+16 nu_tau 16 0.00000000 nu_tau~ 320 -16 0.0 0.00000000 1.000000e+16 anti-nu_tau -16 0.00000000 L- 321 17 -1.0 400.00000000 0.000000e+00 L- 17 0.00000000 L+ 322 -17 1.0 400.00000000 0.000000e+00 L+ -17 0.00000000 nu_L 323 18 0.0 0.00000000 0.000000e+00 nu_L 18 0.00000000 anti-nu_L 324 -18 0.0 0.00000000 0.000000e+00 anti-nu_L -18 0.00000000 g 325 21 0.0 0.00000000 1.000000e+16 g 21 0.00000000 Z'0 326 32 0.0 500.00000000 0.000000e+00 Z'0 32 0.00000000 Z''0 327 33 0.0 900.00000000 0.000000e+00 Z''0 33 0.00000000 W'+ 328 34 1.0 500.00000000 0.000000e+00 W'+ 34 0.00000000 W'- 329 -34 -1.0 500.00000000 0.000000e+00 W'- -34 0.00000000 Graviton 330 39 0.0 0.00000000 0.000000e+00 unknown 39 0.00000000 R0 331 41 0.0 5000.00000000 0.000000e+00 R0 41 0.00000000 anti-R0 332 -41 0.0 5000.00000000 0.000000e+00 anti-R0 -41 0.00000000 LQ_ue 333 42 -0.3 200.00000000 0.000000e+00 unknown 42 0.00000000 LQ_uebar 334 -42 0.3 200.00000000 0.000000e+00 unknown -42 0.00000000 Xu0 335 43 0.0 1.00000000 0.000000e+00 Xu0 43 0.00000000 Xu+ 336 44 1.0 1.00000000 0.000000e+00 Xu+ 44 0.00000000 Xu- 337 -44 -1.0 1.00000000 0.000000e+00 Xu- -44 0.00000000 specflav 338 81 0.0 0.00000000 0.000000e+00 specflav 81 0.00000000 rndmflav 339 82 0.0 0.00000000 0.000000e+00 rndmflav 82 0.00000000 anti-rndmflav 340 -82 0.0 0.00000000 0.000000e+00 anti-rndmflav -82 0.00000000 phasespa 341 83 0.0 1.00000000 0.000000e+00 phasespa 83 0.00000000 c-hadron 342 84 0.7 2.00000000 3.335641e-13 c-hadron 84 0.00000000 anti-c-hadron 343 -84 -0.7 2.00000000 3.335641e-13 anti-c-hadron -84 0.00000000 b-hadron 344 85 -0.3 5.00000000 1.290893e-12 b-hadron 85 0.00000000 anti-b-hadron 345 -85 0.3 5.00000000 1.290893e-12 anti-b-hadron -85 0.00000000 t-hadron 346 86 0.7 175.00000000 0.000000e+00 t-hadron 0 0.00000000 anti-t-hadron 347 -86 -0.7 175.00000000 0.000000e+00 anti-t-hadron 0 0.00000000 b'-hadron 348 87 -0.3 400.00000000 0.000000e+00 b'-hadron 0 0.00000000 anti-b'-hadron 349 -87 0.3 400.00000000 0.000000e+00 anti-b'-hadron 0 0.00000000 junction 350 88 0.0 0.00000000 0.000000e+00 junction 88 0.00000000 system 351 90 0.0 0.00000000 0.000000e+00 system 90 0.00000000 cluster 352 91 0.0 0.00000000 0.000000e+00 cluster 91 0.00000000 string 353 92 0.0 0.00000000 0.000000e+00 string 92 0.00000000 indep 354 93 0.0 0.00000000 0.000000e+00 indep 93 0.00000000 CMshower 355 94 0.0 0.00000000 0.000000e+00 CMshower 94 0.00000000 SPHEaxis 356 95 0.0 0.00000000 0.000000e+00 SPHEaxis 95 0.00000000 THRUaxis 357 96 0.0 0.00000000 0.000000e+00 THRUaxis 96 0.00000000 CLUSjet 358 97 0.0 0.00000000 0.000000e+00 CLUSjet 97 0.00000000 CELLjet 359 98 0.0 0.00000000 0.000000e+00 CELLjet 98 0.00000000 table 360 99 0.0 0.00000000 0.000000e+00 table 99 0.00000000 deutron~ 390 -1000010020 -1.0 1.87561300 0.000000e+00 anti-deuteron 0 0.00000000 triton~ 392 -1000010030 -1.0 2.80925000 0.000000e+00 anti-tritium 0 0.00000000 alpha~ 393 -1000020040 -2.0 3.72741700 0.000000e+00 anti-alpha 0 0.00000000 dd_1 394 1103 -0.7 0.00000000 0.000000e+00 dd_1 1103 0.00000000 anti-dd_1 395 -1103 0.7 0.00000000 0.000000e+00 anti-dd_1 -1103 0.00000000 ud_0 410 2101 0.3 0.00000000 0.000000e+00 ud_0 2101 0.00000000 anti-ud_0 411 -2101 -0.3 0.00000000 0.000000e+00 anti-ud_0 -2101 0.00000000 ud_1 412 2103 0.3 0.00000000 0.000000e+00 ud_1 2103 0.00000000 anti-ud_1 413 -2103 -0.3 0.00000000 0.000000e+00 anti-ud_1 -2103 0.00000000 uu_1 426 2203 1.3 0.00000000 0.000000e+00 uu_1 2203 0.00000000 anti-uu_1 427 -2203 -1.3 0.00000000 0.000000e+00 anti-uu_1 -2203 0.00000000 sd_0 438 3101 -0.7 0.00000000 0.000000e+00 sd_0 3101 0.00000000 anti-sd_0 439 -3101 0.7 0.00000000 0.000000e+00 anti-sd_0 -3101 0.00000000 sd_1 440 3103 -0.7 0.00000000 0.000000e+00 sd_1 3103 0.00000000 anti-sd_1 441 -3103 0.7 0.00000000 0.000000e+00 anti-sd_1 -3103 0.00000000 su_0 454 3201 0.3 0.00000000 0.000000e+00 su_0 3201 0.00000000 anti-su_0 455 -3201 -0.3 0.00000000 0.000000e+00 anti-su_0 -3201 0.00000000 su_1 456 3203 0.3 0.00000000 0.000000e+00 su_1 3203 0.00000000 anti-su_1 457 -3203 -0.3 0.00000000 0.000000e+00 anti-su_1 -3203 0.00000000 ss_1 470 3303 -0.7 0.00000000 0.000000e+00 ss_1 3303 0.00000000 anti-ss_1 471 -3303 0.7 0.00000000 0.000000e+00 anti-ss_1 -3303 0.00000000 cd_0 476 4101 0.3 0.00000000 0.000000e+00 cd_0 4101 0.00000000 anti-cd_0 477 -4101 -0.3 0.00000000 0.000000e+00 anti-cd_0 -4101 0.00000000 cd_1 478 4103 0.3 0.00000000 0.000000e+00 cd_1 4103 0.00000000 anti-cd_1 479 -4103 -0.3 0.00000000 0.000000e+00 anti-cd_1 -4103 0.00000000 cu_0 482 4201 1.3 0.00000000 0.000000e+00 cu_0 4201 0.00000000 anti-cu_0 483 -4201 -1.3 0.00000000 0.000000e+00 anti-cu_0 -4201 0.00000000 cu_1 484 4203 1.3 0.00000000 0.000000e+00 cu_1 4203 0.00000000 anti-cu_1 485 -4203 -1.3 0.00000000 0.000000e+00 anti-cu_1 -4203 0.00000000 cs_0 490 4301 0.3 0.00000000 0.000000e+00 cs_0 4301 0.00000000 anti-cs_0 491 -4301 -0.3 0.00000000 0.000000e+00 anti-cs_0 -4301 0.00000000 cs_1 492 4303 0.3 0.00000000 0.000000e+00 cs_1 4303 0.00000000 anti-cs_1 493 -4303 -0.3 0.00000000 0.000000e+00 anti-cs_1 -4303 0.00000000 cc_1 500 4403 1.3 0.00000000 0.000000e+00 cc_1 4403 0.00000000 anti-cc_1 501 -4403 -1.3 0.00000000 0.000000e+00 anti-cc_1 -4403 0.00000000 bd_0 516 5101 -0.7 0.00000000 0.000000e+00 bd_0 5101 0.00000000 anti-bd_0 517 -5101 0.7 0.00000000 0.000000e+00 anti-bd_0 -5101 0.00000000 bd_1 518 5103 -0.7 0.00000000 0.000000e+00 bd_1 5103 0.00000000 anti-bd_1 519 -5103 0.7 0.00000000 0.000000e+00 anti-bd_1 -5103 0.00000000 bu_0 524 5201 0.3 0.00000000 0.000000e+00 bu_0 5201 0.00000000 anti-bu_0 525 -5201 -0.3 0.00000000 0.000000e+00 anti-bu_0 -5201 0.00000000 bu_1 526 5203 0.3 0.00000000 0.000000e+00 bu_1 5203 0.00000000 anti-bu_1 527 -5203 -0.3 0.00000000 0.000000e+00 anti-bu_1 -5203 0.00000000 bs_0 534 5301 -0.7 0.00000000 0.000000e+00 bs_0 5301 0.00000000 anti-bs_0 535 -5301 0.7 0.00000000 0.000000e+00 anti-bs_0 -5301 0.00000000 bs_1 536 5303 -0.7 0.00000000 0.000000e+00 bs_1 5303 0.00000000 anti-bs_1 537 -5303 0.7 0.00000000 0.000000e+00 anti-bs_1 -5303 0.00000000 bc_0 546 5401 0.3 0.00000000 0.000000e+00 bc_0 5401 0.00000000 anti-bc_0 547 -5401 -0.3 0.00000000 0.000000e+00 anti-bc_0 -5401 0.00000000 bc_1 548 5403 0.3 0.00000000 0.000000e+00 bc_1 5403 0.00000000 anti-bc_1 549 -5403 -0.3 0.00000000 0.000000e+00 anti-bc_1 -5403 0.00000000 bb_1 566 5503 -0.7 0.00000000 0.000000e+00 bb_1 5503 0.00000000 anti-bb_1 567 -5503 0.7 0.00000000 0.000000e+00 anti-bb_1 -5503 0.00000000 vpho 586 10022 0.0 0.00000000 0.000000e+00 vpho 0 0.00000000 Xsd 751 30343 0.0 1.60000000 0.000000e+00 Xsd 30343 0.00000000 anti-Xsd 752 -30343 0.0 1.60000000 0.000000e+00 anti-Xsd -30343 0.00000000 Xsu 753 30353 1.0 1.60000000 0.000000e+00 Xsu 30353 0.00000000 anti-Xsu 754 -30353 -1.0 1.60000000 0.000000e+00 anti-Xsu -30353 0.00000000 Xss 755 30363 0.0 1.80000000 0.000000e+00 Xss 30363 0.00000000 anti-Xss 756 -30363 0.0 1.80000000 0.000000e+00 anti-Xss -30363 0.00000000 ~d_L 859 1000001 -0.3 500.00000000 0.000000e+00 unknown 1000001 0.00000000 ~d_Lbar 860 -1000001 0.3 500.00000000 0.000000e+00 unknown -1000001 0.00000000 ~u_L 861 1000002 0.7 500.00000000 0.000000e+00 unknown 1000002 0.00000000 ~u_Lbar 862 -1000002 -0.7 500.00000000 0.000000e+00 unknown -1000002 0.00000000 ~s_L 863 1000003 -0.3 500.00000000 0.000000e+00 unknown 1000003 0.00000000 ~s_Lbar 864 -1000003 0.3 500.00000000 0.000000e+00 unknown -1000003 0.00000000 ~c_L 865 1000004 0.7 500.00000000 0.000000e+00 unknown 1000004 0.00000000 ~c_Lbar 866 -1000004 -0.7 500.00000000 0.000000e+00 unknown -1000004 0.00000000 ~b_1 867 1000005 -0.3 500.00000000 0.000000e+00 unknown 1000005 0.00000000 ~b_1bar 868 -1000005 0.3 500.00000000 0.000000e+00 unknown -1000005 0.00000000 ~t_1 869 1000006 0.7 500.00000000 0.000000e+00 unknown 1000006 0.00000000 ~t_1bar 870 -1000006 -0.7 500.00000000 0.000000e+00 unknown -1000006 0.00000000 ~e_L- 871 1000011 -1.0 500.00000000 0.000000e+00 unknown 1000011 0.00000000 ~e_L+ 872 -1000011 1.0 500.00000000 0.000000e+00 unknown -1000011 0.00000000 ~nu_eL 873 1000012 0.0 500.00000000 0.000000e+00 unknown 1000012 0.00000000 ~nu_eLbar 874 -1000012 0.0 500.00000000 0.000000e+00 unknown -1000012 0.00000000 ~mu_L- 875 1000013 -1.0 500.00000000 0.000000e+00 unknown 1000013 0.00000000 ~mu_L+ 876 -1000013 1.0 500.00000000 0.000000e+00 unknown -1000013 0.00000000 ~nu_muL 877 1000014 0.0 500.00000000 0.000000e+00 unknown 1000014 0.00000000 ~nu_muLbar 878 -1000014 0.0 500.00000000 0.000000e+00 unknown -1000014 0.00000000 ~tau_1- 879 1000015 -1.0 500.00000000 0.000000e+00 unknown 1000015 0.00000000 ~tau_1+ 880 -1000015 1.0 500.00000000 0.000000e+00 unknown -1000015 0.00000000 ~nu_tauL 881 1000016 0.0 500.00000000 0.000000e+00 unknown 1000016 0.00000000 ~nu_tauLbar 882 -1000016 0.0 500.00000000 0.000000e+00 unknown -1000016 0.00000000 ~g 883 1000021 0.0 500.00000000 0.000000e+00 unknown 1000021 0.00000000 ~chi_10 884 1000022 0.0 500.00000000 0.000000e+00 unknown 1000022 0.00000000 ~chi_20 885 1000023 0.0 500.00000000 0.000000e+00 unknown 1000023 0.00000000 ~chi_1+ 886 1000024 1.0 500.00000000 0.000000e+00 unknown 1000024 0.00000000 ~chi_1- 887 -1000024 -1.0 500.00000000 0.000000e+00 unknown -1000024 0.00000000 ~chi_30 888 1000025 0.0 500.00000000 0.000000e+00 unknown 1000025 0.00000000 ~chi_40 889 1000035 0.0 500.00000000 0.000000e+00 unknown 1000035 0.00000000 ~chi_2+ 890 1000037 1.0 500.00000000 0.000000e+00 unknown 1000037 0.00000000 ~chi_2- 891 -1000037 -1.0 500.00000000 0.000000e+00 unknown -1000037 0.00000000 ~Gravitino 892 1000039 0.0 500.00000000 0.000000e+00 unknown 1000039 0.00000000 ~d_R 893 2000001 -0.3 500.00000000 0.000000e+00 unknown 2000001 0.00000000 ~d_Rbar 894 -2000001 0.3 500.00000000 0.000000e+00 unknown -2000001 0.00000000 ~u_R 895 2000002 0.7 500.00000000 0.000000e+00 unknown 2000002 0.00000000 ~u_Rbar 896 -2000002 -0.7 500.00000000 0.000000e+00 unknown -2000002 0.00000000 ~s_R 897 2000003 -0.3 500.00000000 0.000000e+00 unknown 2000003 0.00000000 ~s_Rbar 898 -2000003 0.3 500.00000000 0.000000e+00 unknown -2000003 0.00000000 ~c_R 899 2000004 0.7 500.00000000 0.000000e+00 unknown 2000004 0.00000000 ~c_Rbar 900 -2000004 -0.7 500.00000000 0.000000e+00 unknown -2000004 0.00000000 ~b_2 901 2000005 -0.3 500.00000000 0.000000e+00 unknown 2000005 0.00000000 ~b_2bar 902 -2000005 0.3 500.00000000 0.000000e+00 unknown -2000005 0.00000000 ~t_2 903 2000006 0.7 500.00000000 0.000000e+00 unknown 2000006 0.00000000 ~t_2bar 904 -2000006 -0.7 500.00000000 0.000000e+00 unknown -2000006 0.00000000 ~e_R- 905 2000011 -1.0 500.00000000 0.000000e+00 unknown 2000011 0.00000000 ~e_R+ 906 -2000011 1.0 500.00000000 0.000000e+00 unknown -2000011 0.00000000 ~nu_eR 907 2000012 0.0 500.00000000 0.000000e+00 unknown 2000012 0.00000000 ~nu_eRbar 908 -2000012 0.0 500.00000000 0.000000e+00 unknown -2000012 0.00000000 ~mu_R- 909 2000013 -1.0 500.00000000 0.000000e+00 unknown 2000013 0.00000000 ~mu_R+ 910 -2000013 1.0 500.00000000 0.000000e+00 unknown -2000013 0.00000000 ~nu_muR 911 2000014 0.0 500.00000000 0.000000e+00 unknown 2000014 0.00000000 ~nu_muRbar 912 -2000014 0.0 500.00000000 0.000000e+00 unknown -2000014 0.00000000 ~tau_2- 913 2000015 -1.0 500.00000000 0.000000e+00 unknown 2000015 0.00000000 ~tau_2+ 914 -2000015 1.0 500.00000000 0.000000e+00 unknown -2000015 0.00000000 ~nu_tauR 915 2000016 0.0 500.00000000 0.000000e+00 unknown 2000016 0.00000000 ~nu_tauRbar 916 -2000016 0.0 500.00000000 0.000000e+00 unknown -2000016 0.00000000 pi_tc0 917 3000111 0.0 110.00000000 0.000000e+00 unknown 3000111 0.00000000 rho_tc0 918 3000113 0.0 210.00000000 0.000000e+00 unknown 3000113 0.00000000 pi_tc+ 919 3000211 1.0 110.00000000 0.000000e+00 unknown 3000211 0.00000000 pi_tc- 920 -3000211 -1.0 110.00000000 0.000000e+00 unknown -3000211 0.00000000 rho_tc+ 921 3000213 1.0 210.00000000 0.000000e+00 unknown 3000213 0.00000000 rho_tc- 922 -3000213 -1.0 210.00000000 0.000000e+00 unknown -3000213 0.00000000 pi'_tc0 923 3000221 0.0 110.00000000 0.000000e+00 unknown 3000221 0.00000000 omega_tc 924 3000223 0.0 210.00000000 0.000000e+00 unknown 3000223 0.00000000 eta_tc0 925 3000331 0.0 350.00000000 0.000000e+00 unknown 3000331 0.00000000 V8_tc 926 3100021 0.0 500.00000000 0.000000e+00 unknown 3100021 0.00000000 pi_22_1_tc 927 3100111 0.0 125.00000000 0.000000e+00 unknown 3100111 0.00000000 rho_11_tc 928 3100113 0.0 400.00000000 0.000000e+00 unknown 3100113 0.00000000 pi_22_8_tc 929 3200111 0.0 250.00000000 0.000000e+00 unknown 3200111 0.00000000 rho_12_tc 930 3200113 0.0 350.00000000 0.000000e+00 unknown 3200113 0.00000000 rho_21_tc 931 3300113 0.0 350.00000000 0.000000e+00 unknown 3300113 0.00000000 rho_22_tc 932 3400113 0.0 300.00000000 0.000000e+00 unknown 3400113 0.00000000 d* 933 4000001 -0.3 400.00000000 0.000000e+00 unknown 4000001 0.00000000 d*bar 934 -4000001 0.3 400.00000000 0.000000e+00 unknown -4000001 0.00000000 u* 935 4000002 0.7 400.00000000 0.000000e+00 unknown 4000002 0.00000000 u*bar 936 -4000002 -0.7 400.00000000 0.000000e+00 unknown -4000002 0.00000000 e*- 937 4000011 -1.0 400.00000000 0.000000e+00 unknown 4000011 0.00000000 e*bar+ 938 -4000011 1.0 400.00000000 0.000000e+00 unknown -4000011 0.00000000 nu*_e0 939 4000012 0.0 400.00000000 0.000000e+00 unknown 4000012 0.00000000 nu*_ebar0 940 -4000012 0.0 400.00000000 0.000000e+00 unknown -4000012 0.00000000 Graviton* 941 5000039 0.0 1000.00000000 0.000000e+00 unknown 5000039 0.00000000 nu_Re 942 9900012 0.0 500.00000000 0.000000e+00 unknown 9900012 0.00000000 nu_Rmu 943 9900014 0.0 500.00000000 0.000000e+00 unknown 9900014 0.00000000 nu_Rtau 944 9900016 0.0 500.00000000 0.000000e+00 unknown 9900016 0.00000000 Z_R0 945 9900023 0.0 1200.00000000 0.000000e+00 unknown 9900023 0.00000000 W_R+ 946 9900024 1.0 750.00000000 0.000000e+00 unknown 9900024 0.00000000 W_R- 947 -9900024 -1.0 750.00000000 0.000000e+00 unknown -9900024 0.00000000 H_L++ 948 9900041 2.0 200.00000000 0.000000e+00 unknown 9900041 0.00000000 H_L-- 949 -9900041 -2.0 200.00000000 0.000000e+00 unknown -9900041 0.00000000 H_R++ 950 9900042 2.0 200.00000000 0.000000e+00 unknown 9900042 0.00000000 H_R-- 951 -9900042 -2.0 200.00000000 0.000000e+00 unknown -9900042 0.00000000 He3[0.0] 49 1000020030 2.0 2.80923000 1.000000e+15 He3 0 0.00000000 He3~[0.0] 391 -1000020030 -2.0 2.80923000 0.000000e+00 anti-He3 0 0.00000000 Li7[0.0] 988 1000030070 3.0 6.53536500 0.000000e+00 unknown 0 0.00000000 Be8[0.0] 992 1000040080 4.0 7.45689300 0.000000e+00 unknown 0 0.00000000 Be9[0.0] 959 1000040090 4.0 8.39479200 0.000000e+00 unknown 0 0.00000000 Be10[0.0] 993 1000040100 4.0 9.32754500 0.000000e+00 unknown 0 0.00000000 B10[0.0] 994 1000050100 5.0 9.32698900 0.000000e+00 unknown 0 0.00000000 B11[0.0] 974 1000050110 5.0 10.25510100 0.000000e+00 unknown 0 0.00000000 B12[0.0] 975 1000050120 5.0 11.19129500 0.000000e+00 unknown 0 0.00000000 C12[0.0] 953 1000060120 6.0 11.17490000 0.000000e+00 unknown 0 0.00000000 C13[0.0] 976 1000060130 6.0 12.11254500 0.000000e+00 unknown 0 0.00000000 C14[0.0] 977 1000060140 6.0 13.04393400 0.000000e+00 unknown 0 0.00000000 N14[0.0] 955 1000070140 7.0 13.04378000 0.000000e+00 unknown 0 0.00000000 N15[0.0] 982 1000070150 7.0 13.04377800 0.000000e+00 unknown 0 0.00000000 N16[0.0] 995 1000070160 7.0 14.90958500 0.000000e+00 unknown 0 0.00000000 O16[0.0] 956 1000080160 8.0 14.89510000 0.000000e+00 unknown 0 0.00000000 O17[0.0] 996 1000080170 8.0 15.83458700 0.000000e+00 unknown 0 0.00000000 O18[0.0] 967 1000080180 8.0 16.76610800 0.000000e+00 unknown 0 0.00000000 O19[0.0] 997 1000080190 8.0 17.70171700 0.000000e+00 unknown 0 0.00000000 F19[0.0] 960 1000090190 9.0 17.69689600 0.000000e+00 unknown 0 0.00000000 Ne22[0.0] 983 1000100220 10.0 20.48484100 0.000000e+00 unknown 0 0.00000000 Ne23[0.0] 998 1000100230 10.0 21.41920500 0.000000e+00 unknown 0 0.00000000 Na24[0.0] 999 1000110240 11.0 22.34743500 0.000000e+00 unknown 0 0.00000000 Mg24[0.0] 979 1000120240 12.0 22.34192000 0.000000e+00 unknown 0 0.00000000 Mg25[0.0] 989 1000120250 12.0 23.27415400 0.000000e+00 unknown 0 0.00000000 Mg26[0.0] 980 1000120260 12.0 24.20262600 0.000000e+00 unknown 0 0.00000000 Mg27[0.0] 981 1000120270 12.0 25.13574800 0.000000e+00 unknown 0 0.00000000 Al27[0.0] 952 1000130270 13.0 25.12650000 0.000000e+00 unknown 0 0.00000000 Al28[0.0] 972 1000130280 13.0 26.06497800 0.000000e+00 unknown 0 0.00000000 Si28[0.0] 957 1000140280 14.0 26.05320000 0.000000e+00 unknown 0 0.00000000 Si29[0.0] 964 1000140290 14.0 26.99142700 0.000000e+00 unknown 0 0.00000000 Si30[0.0] 968 1000140300 14.0 27.92038300 0.000000e+00 unknown 0 0.00000000 P31[0.0] 1000 1000150310 15.0 28.85186900 0.000000e+00 unknown 0 0.00000000 Cl39[0.0] 1001 1000170390 17.0 36.29846000 0.000000e+00 unknown 0 0.00000000 Cl40[0.0] 1002 1000170400 17.0 37.23220100 0.000000e+00 unknown 0 0.00000000 Ar36[0.0] 1003 1000180360 18.0 33.50354900 0.000000e+00 unknown 0 0.00000000 Ar40[0.0] 973 1000180400 18.0 37.22471500 0.000000e+00 unknown 0 0.00000000 Cr50[0.0] 1004 1000240500 24.0 46.52443900 0.000000e+00 unknown 0 0.00000000 Cr52[0.0] 978 1000240520 24.0 48.37010000 0.000000e+00 unknown 0 0.00000000 Cr53[0.0] 990 1000240530 24.0 49.31389400 0.000000e+00 unknown 0 0.00000000 Cr54[0.0] 1005 1000240540 24.0 50.24374100 0.000000e+00 unknown 0 0.00000000 Mn55[0.0] 991 1000250550 25.0 51.17445700 0.000000e+00 unknown 0 0.00000000 Fe54[0.0] 966 1000260540 26.0 50.24442100 0.000000e+00 unknown 0 0.00000000 Fe56[0.0] 961 1000260560 26.0 52.10305600 0.000000e+00 unknown 0 0.00000000 Fe57[0.0] 969 1000260570 26.0 53.03497500 0.000000e+00 unknown 0 0.00000000 Fe59[0.0] 1006 1000260590 26.0 54.89748000 0.000000e+00 unknown 0 0.00000000 Ni58[0.0] 984 1000280580 28.0 53.96642200 0.000000e+00 unknown 0 0.00000000 Ni60[0.0] 985 1000280600 28.0 55.82516400 0.000000e+00 unknown 0 0.00000000 Ni61[0.0] 1007 1000280610 28.0 56.75690900 0.000000e+00 unknown 0 0.00000000 Ni62[0.0] 986 1000280620 28.0 57.68587700 0.000000e+00 unknown 0 0.00000000 Ni63[0.0] 1008 1000280630 28.0 58.61860500 0.000000e+00 unknown 0 0.00000000 Ni64[0.0] 987 1000280640 28.0 59.54851200 0.000000e+00 unknown 0 0.00000000 Cu63[0.0] 954 1000290630 29.0 58.61860000 0.000000e+00 unknown 0 0.00000000 Cu65[0.0] 958 1000290650 29.0 60.47984200 0.000000e+00 unknown 0 0.00000000 Mo92[0.0] 1009 1000420920 42.0 85.61063000 0.000000e+00 unknown 0 0.00000000 Mo95[0.0] 1010 1000420950 42.0 88.40421000 0.000000e+00 unknown 0 0.00000000 Mo96[0.0] 1011 1000420960 42.0 89.33462100 0.000000e+00 unknown 0 0.00000000 Mo97[0.0] 1012 1000420970 42.0 90.26736500 0.000000e+00 unknown 0 0.00000000 Mo98[0.0] 1013 1000420980 42.0 91.19828700 0.000000e+00 unknown 0 0.00000000 Mo100[0.0] 1014 1000421000 42.0 93.06320300 0.000000e+00 unknown 0 0.00000000 Pd108[0.0] 1015 1000461080 46.0 100.51181600 0.000000e+00 unknown 0 0.00000000 Au197[0.0] 1020 1000791970 79.0 183.43336000 0.000000e+00 unknown 0 0.00000000 Pb207[0.0] 962 1000822070 82.0 192.79676500 0.000000e+00 unknown 0 0.00000000 Pb208[0.0] 963 1000822080 82.0 193.72896200 0.000000e+00 unknown 0 0.00000000 Pb206[0.0] 965 1000822060 82.0 191.86393700 0.000000e+00 unknown 0 0.00000000 Pb204[0.0] 970 1000822040 82.0 189.99962700 0.000000e+00 unknown 0 0.00000000 Intermediate 971 -99000000 0.0 0.00000000 0.000000e+00 unknown 0 0.00000000 # END PARTICLE - diff --git a/Sim/Gaussino/python/Gaussino/Configuration.py b/Sim/Gaussino/python/Gaussino/Configuration.py index f24d865fe1027da6d940ee58761c6851b98abdfe..f3be354756a7a9d8f6c15f3738f359177fcc5bd4 100644 --- a/Sim/Gaussino/python/Gaussino/Configuration.py +++ b/Sim/Gaussino/python/Gaussino/Configuration.py @@ -79,16 +79,16 @@ class Gaussino(ConfigurableUser): :var EvtMax: default: ``-1`` :vartype EvtMax: int, optional - :var EnableHive: default: ``False`` + :var EnableHive: default: ``True`` :vartype EnableHive: bool, optional :var ReDecay: default: ``False`` :vartype ReDecay: bool, optional - :var ThreadPoolSize: default: ``2`` + :var ThreadPoolSize: default: ``1`` :vartype ThreadPoolSize: int, optional - :var EventSlots: default: ``2`` + :var EventSlots: default: ``1`` :vartype EventSlots: int, optional :var ConvertEDM: default: ``False`` @@ -154,16 +154,16 @@ class Gaussino(ConfigurableUser): -1 # NOQA , "EnableHive": - False # NOQA + True # NOQA , "ReDecay": False # NOQA , "ThreadPoolSize": - 2 # NOQA + 1 # NOQA , "EventSlots": - 2 # NOQA + 1 # NOQA , "ConvertEDM": False # NOQA @@ -196,7 +196,17 @@ class Gaussino(ConfigurableUser): self.propagateProperties(names, other) def setupHive(self): - '''Enable Hive event loop manager''' + '''Enable Hive event loop manager + this is a very similar method as in LHCbApp + ''' + if not self.getProp("EnableHive"): + # FIXME: Running without GaudiHive has not been tested + # and may lead to unexpected behaviour + # this is disabled for now + log.error("EnableHive must be set. Running without " + "GaudiHive has not been tested and may lead to" + "unexpected behaviour") + raise ValueError("EnableHive must be set.") from Configurables import HiveWhiteBoard whiteboard = HiveWhiteBoard("EventDataSvc") whiteboard.EventSlots = self.getProp('EventSlots') @@ -213,8 +223,7 @@ class Gaussino(ConfigurableUser): # appendPostConfigAction(self.co) def __apply_configuration__(self): - if self.getProp("EnableHive"): - self.setupHive() + self.setupHive() ppService(self.getProp('ParticleTable')) dataService() auditorService() diff --git a/Sim/Gaussino/python/Gaussino/Generation.py b/Sim/Gaussino/python/Gaussino/Generation.py index 6b69039b5294d4ec2197fc8eda6bb25c48b9f2c9..0b23b4102284ea431debe44959700c4198576305 100644 --- a/Sim/Gaussino/python/Gaussino/Generation.py +++ b/Sim/Gaussino/python/Gaussino/Generation.py @@ -100,6 +100,9 @@ class GenPhase(ConfigurableUser): :var ProductionTool: default: ``'Pythia8Production'`` :vartype ProductionTool: str, optional + :var ProductionToolOpts: default: ``{}`` + :vartype ProductionToolOpts: dict, optional + :var DecayTool: default: ``''`` :vartype DecayTool: str, optional @@ -165,6 +168,7 @@ class GenPhase(ConfigurableUser): 'FixedLuminosityWithSvc', # NOQA "ProductionTool": 'Pythia8Production', # NOQA + "ProductionToolOpts": {}, "DecayTool": '', # NOQA "CutTool": @@ -248,6 +252,11 @@ class GenPhase(ConfigurableUser): gen_alg.FullGenEventCutTool = '' prod = get_set_configurable(sgt, 'ProductionTool', ProductionTool) if ProductionTool in ["Pythia8Production", "Pythia8ProductionMT"]: + # For now keep it only for Pythia, but potentially in future we + # want to do this for all possible production tools + prot_opts = self.getProp('ProductionToolOpts') + for n, v in prot_opts.items(): + prod.setProp(n, v) prod.BeamToolName = 'CollidingBeamsWithSvc' if ProductionTool == "Pythia8ProductionMT": diff --git a/Sim/Gaussino/python/Gaussino/Simulation.py b/Sim/Gaussino/python/Gaussino/Simulation.py index 19b66d70b98df301bb78d81f5386f5b8bd31d819..8a7b95b051c715f0d4fe31dc1f3e65db5bd7b34a 100644 --- a/Sim/Gaussino/python/Gaussino/Simulation.py +++ b/Sim/Gaussino/python/Gaussino/Simulation.py @@ -74,6 +74,9 @@ class SimPhase(ConfigurableUser): :var ExportGDML: default: ``{}`` :vartype ExportGDML: dict, optional + :var ImportGDML: default: ``[]`` + :vartype ImportGDML: list, optional + :var ExternalDetectorEmbedder: default: ``""``, name of the embedder used when creating external geometry :vartype ExternalDetectorEmbedder: str, optional @@ -99,6 +102,7 @@ class SimPhase(ConfigurableUser): "SensDetMap": {}, "ExtraGeoTools": [], "ExportGDML": {}, + "ImportGDML": [], "ExternalDetectorEmbedder": "", "ParallelGeometry": False, } @@ -165,6 +169,11 @@ class SimPhase(ConfigurableUser): gmpl.PhysicsConstructors = phys_list self._addConstructorsWithNames(gmpl, phys_list) + gmpl.CutForElectron = self.getProp("CutForElectron") + gmpl.CutForGamma = self.getProp("CutForGamma") + gmpl.CutForPositron = self.getProp("CutForPositron") + gmpl.DumpCutsTable = self.getProp("DumpCutsTable") + # Add parallel physics par_geo = self.getProp("ParallelGeometry") if par_geo: @@ -211,14 +220,28 @@ class SimPhase(ConfigurableUser): # self._external_embedders.append(par_ext_emd) #par_geo.world_to_gdml(giga.RunSeq) + self._setup_gdml_import(dettool) + # Save as a GDML File gdml_export = self.getProp("ExportGDML") if type(gdml_export) is not dict: raise RuntimeError("ExportGDML should be a dictionary of options") - else: - for name, value in gdml_export.items(): - if name.startswith('GDML'): - setattr(dettool, name, value) - else: - raise RuntimeError("GDML options start with GDML") + for name, value in gdml_export.items(): + if name.startswith('GDML'): + setattr(dettool, name, value) + else: + raise RuntimeError("GDML options start with GDML") return algs + + def _setup_gdml_import(self, dettool): + gdml_imports = self.getProp("ImportGDML") + if type(gdml_imports) is not list: + raise RuntimeError("ImportGDML should be a list of dicts") + from Configurables import GDMLReader + for gdml_import in gdml_imports: + if type(gdml_import) is not dict: + raise RuntimeError("Elements of ImportGDML should be dicts") + name = gdml_import["GDMLFileName"] + "Reader" + reader = GDMLReader(name, **gdml_import) + dettool.addTool(reader, name=name) + dettool.GDMLReaders.append('GDMLReader/' + name) diff --git a/Sim/Gaussino/tests/scripts/pgun_reproducibility.sh b/Sim/Gaussino/tests/scripts/pgun_reproducibility.sh index b73bd19e21a7660b13cc46d2ba23d5b07375d353..411570189b2720f392cc1b3a82ec3338c04c725c 100755 --- a/Sim/Gaussino/tests/scripts/pgun_reproducibility.sh +++ b/Sim/Gaussino/tests/scripts/pgun_reproducibility.sh @@ -12,4 +12,4 @@ gaudirun.py $GAUSSINOROOT/tests/options/pgun_reproducibility_A.py gaudirun.py $GAUSSINOROOT/tests/options/pgun_reproducibility_B.py -compareHepMCEvents.exe FirstRun-HepMC.txt SecondRun-HepMC.txt +compareHepMCEvents FirstRun-HepMC.txt SecondRun-HepMC.txt diff --git a/Sim/GiGaMT/CMakeLists.txt b/Sim/GiGaMT/CMakeLists.txt index 04fa8ffb0f4f4969e177c7e30b0b7edf383b17c5..2c141617abb8543c8596fcf0ea8b1f93b696bf57 100644 --- a/Sim/GiGaMT/CMakeLists.txt +++ b/Sim/GiGaMT/CMakeLists.txt @@ -8,37 +8,36 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -################################################################################ -# Package: GiGaMT -# This contains the fundamental GiGaMT service that sets up the entire mess in -# its initialization and provides the function to call that handles the simulation. -# Also there is the main simulation algorithm that actually uses the service -################################################################################# -gaudi_subdir(GiGaMT v1r0) +#[=======================================================================[.rst: +Sim/GiGaMT +---------- -gaudi_depends_on_subdirs(GaudiAlg - HepMCUser - NewRnd - Sim/SimInterfaces - Sim/GiGaMTFactories - Sim/GiGaMTTruth - Sim/GiGaMTCore) - -AddHepMC3() -find_package(ROOT COMPONENTS MathCore GenVector) - -if(${Geant4_config_version} VERSION_LESS "10.06") - add_definitions(-DG4MULTITHREADED) - add_definitions(-DG4USE_STD11) -endif() +This contains the fundamental GiGaMT service that sets up the entire mess in +its initialization and provides the function to call that handles the simulation. +Also there is the main simulation algorithm that actually uses the service +#]=======================================================================] gaudi_add_library(GiGaMTLib - src/Lib/*.cpp - PUBLIC_HEADERS GiGaMT - INCLUDE_DIRS HepMC GiGaMTFactories SimInterfaces HepMCUser GiGaMTTruth ${HEPMC3_INCLUDE_DIR} - LINK_LIBRARIES GaudiAlgLib GiGaMTCoreRunLib ${HEPMC3_LIBRARIES} NewRnd ) -add_dependencies(GiGaMTLib HepMC3Ext) + SOURCES + src/Lib/GiGaException.cpp + src/Lib/GiGaUtil.cpp + LINK + PUBLIC + Gaussino::GiGaMTFactoriesLib + Gaussino::HepMCUserLib + Gaussino::SimInterfacesLib +) gaudi_add_module(GiGaMT - src/components/*.cpp - LINK_LIBRARIES GiGaMTLib ROOT) + SOURCES + src/Components/GiGaActionInitializer.cpp + src/Components/GiGaAlg.cpp + src/Components/GiGaMT.cpp + src/Components/GiGaMTISetUpSvc.cpp + src/Components/HepMC3ToMCTruthConverter.cpp + src/Components/SkipSimAlg.cpp + LINK + Gaussino::GiGaMTCoreRunLib + Gaussino::GiGaMTTruthLib + Gaussino::GiGaMTLib +) diff --git a/Sim/GiGaMT/GiGaMT/GiGaActionInitializer.h b/Sim/GiGaMT/include/GiGaMT/GiGaActionInitializer.h similarity index 99% rename from Sim/GiGaMT/GiGaMT/GiGaActionInitializer.h rename to Sim/GiGaMT/include/GiGaMT/GiGaActionInitializer.h index 81f295158bfa94d6263965e8d5bc84e7544897ce..d3702af655317cc277971a040cb63e27c547d944 100644 --- a/Sim/GiGaMT/GiGaMT/GiGaActionInitializer.h +++ b/Sim/GiGaMT/include/GiGaMT/GiGaActionInitializer.h @@ -11,7 +11,7 @@ #pragma once #include "GaudiAlg/GaudiTool.h" -#include "Geant4/G4VUserActionInitialization.hh" +#include "G4VUserActionInitialization.hh" #include "GiGaMTCoreMessage/IGiGaMessage.h" #include "GiGaMTFactories/GiGaFactoryBase.h" #include "GiGaMTFactories/GiGaTool.h" diff --git a/Sim/GiGaMT/GiGaMT/GiGaException.h b/Sim/GiGaMT/include/GiGaMT/GiGaException.h similarity index 100% rename from Sim/GiGaMT/GiGaMT/GiGaException.h rename to Sim/GiGaMT/include/GiGaMT/GiGaException.h diff --git a/Sim/GiGaMT/GiGaMT/GiGaUtil.h b/Sim/GiGaMT/include/GiGaMT/GiGaUtil.h similarity index 100% rename from Sim/GiGaMT/GiGaMT/GiGaUtil.h rename to Sim/GiGaMT/include/GiGaMT/GiGaUtil.h diff --git a/Sim/GiGaMT/GiGaMT/IGiGaMTSetUpSvc.h b/Sim/GiGaMT/include/GiGaMT/IGiGaMTSetUpSvc.h similarity index 94% rename from Sim/GiGaMT/GiGaMT/IGiGaMTSetUpSvc.h rename to Sim/GiGaMT/include/GiGaMT/IGiGaMTSetUpSvc.h index fee9ab0dcf6f6125c60d5b1d0217c1efe2309982..e8ca5002ee4d3f64ad767739585f07fe46b02246 100755 --- a/Sim/GiGaMT/GiGaMT/IGiGaMTSetUpSvc.h +++ b/Sim/GiGaMT/include/GiGaMT/IGiGaMTSetUpSvc.h @@ -41,12 +41,12 @@ public: /** initialize method * @return status code */ - virtual StatusCode initialize() = 0; + virtual StatusCode initialize() override = 0; /** finalize method * @return status code */ - virtual StatusCode finalize() = 0; + virtual StatusCode finalize() override = 0; public: diff --git a/Sim/GiGaMT/GiGaMT/IGiGaMTSvc.h b/Sim/GiGaMT/include/GiGaMT/IGiGaMTSvc.h similarity index 94% rename from Sim/GiGaMT/GiGaMT/IGiGaMTSvc.h rename to Sim/GiGaMT/include/GiGaMT/IGiGaMTSvc.h index 420b8cf810883d853f7d96c25cd2353ab2d5b8f3..8e0c7f40c6b9efc713281bf23198ef5d5d4e3ae7 100755 --- a/Sim/GiGaMT/GiGaMT/IGiGaMTSvc.h +++ b/Sim/GiGaMT/include/GiGaMT/IGiGaMTSvc.h @@ -16,7 +16,7 @@ #include "GaudiKernel/StatusCode.h" #include "GiGaMTCoreRun/G4EventProxy.h" #include "NewRnd/RndCommon.h" -#include "GiGaMTCoreTruth/MCTruthConverter.h" +#include "GiGaMTCoreRun/MCTruthConverter.h" #include "HepMCUser/typedefs.h" @@ -51,12 +51,12 @@ public: /** initialize * @return status code */ - virtual StatusCode initialize() = 0; + virtual StatusCode initialize() override = 0; /** initialize * @return status code */ - virtual StatusCode finalize() = 0; + virtual StatusCode finalize() override = 0; /** initialize * TODO: Simulate HepMC events. Currently does not return anything, diff --git a/Sim/GiGaMT/src/components/GiGaActionInitializer.cpp b/Sim/GiGaMT/src/Components/GiGaActionInitializer.cpp similarity index 95% rename from Sim/GiGaMT/src/components/GiGaActionInitializer.cpp rename to Sim/GiGaMT/src/Components/GiGaActionInitializer.cpp index c4f88b0679a21578fca407fcafee805564b2ba7c..d97267e1b5d1e7fdf4bb8b1807ca906198b2efe1 100644 --- a/Sim/GiGaMT/src/components/GiGaActionInitializer.cpp +++ b/Sim/GiGaMT/src/Components/GiGaActionInitializer.cpp @@ -12,10 +12,10 @@ // Using the Multi-action lists in Geant4 since 10.3 // Even though they publically inherit from std::vector -#include "Geant4/G4MultiEventAction.hh" -#include "Geant4/G4MultiRunAction.hh" -#include "Geant4/G4MultiSteppingAction.hh" -#include "Geant4/G4MultiTrackingAction.hh" +#include "G4MultiEventAction.hh" +#include "G4MultiRunAction.hh" +#include "G4MultiSteppingAction.hh" +#include "G4MultiTrackingAction.hh" DECLARE_COMPONENT( GiGaActionInitializer ) diff --git a/Sim/GiGaMT/src/components/GiGaAlg.cpp b/Sim/GiGaMT/src/Components/GiGaAlg.cpp similarity index 100% rename from Sim/GiGaMT/src/components/GiGaAlg.cpp rename to Sim/GiGaMT/src/Components/GiGaAlg.cpp diff --git a/Sim/GiGaMT/src/components/GiGaAlg.h b/Sim/GiGaMT/src/Components/GiGaAlg.h similarity index 100% rename from Sim/GiGaMT/src/components/GiGaAlg.h rename to Sim/GiGaMT/src/Components/GiGaAlg.h diff --git a/Sim/GiGaMT/src/components/GiGaMT.cpp b/Sim/GiGaMT/src/Components/GiGaMT.cpp similarity index 96% rename from Sim/GiGaMT/src/components/GiGaMT.cpp rename to Sim/GiGaMT/src/Components/GiGaMT.cpp index a5e428a1278185d3da617b29df4b4f02a8acd5ed..bb85c37e4d4f47c7297ac2d887f2a7201c3cd215 100755 --- a/Sim/GiGaMT/src/components/GiGaMT.cpp +++ b/Sim/GiGaMT/src/Components/GiGaMT.cpp @@ -24,14 +24,14 @@ #include "GaudiKernel/Stat.h" // from G4 -#include "Geant4/G4MaterialTable.hh" -#include "Geant4/G4NistManager.hh" -#include "Geant4/G4ParticlePropertyTable.hh" -#include "Geant4/G4ParticleTable.hh" -#include "Geant4/G4UIsession.hh" -#include "Geant4/G4VUserActionInitialization.hh" -#include "Geant4/G4VUserPhysicsList.hh" -#include "Geant4/G4VVisManager.hh" +#include "G4MaterialTable.hh" +#include "G4NistManager.hh" +#include "G4ParticlePropertyTable.hh" +#include "G4ParticleTable.hh" +#include "G4UIsession.hh" +#include "G4VUserActionInitialization.hh" +#include "G4VUserPhysicsList.hh" +#include "G4VVisManager.hh" // from GiGaMT #include "CLHEP/Random/RandomEngine.h" diff --git a/Sim/GiGaMT/src/components/GiGaMT.h b/Sim/GiGaMT/src/Components/GiGaMT.h similarity index 99% rename from Sim/GiGaMT/src/components/GiGaMT.h rename to Sim/GiGaMT/src/Components/GiGaMT.h index 1de56acbea5eb4d3c949ab3d911a109afe955967..59c939f4440f4137b01051b18190824798f93c6f 100755 --- a/Sim/GiGaMT/src/components/GiGaMT.h +++ b/Sim/GiGaMT/src/Components/GiGaMT.h @@ -85,7 +85,7 @@ class GiGaMT : public Service, virtual public IGiGaMTSvc, virtual public IGiGaMT Gaudi::Property<std::vector<std::string>> m_MoniToolNames{ this, "MonitorTools", {}, tool_array_setter( m_MoniTools, m_MoniToolNames )}; - Gaudi::Property<size_t> m_nWorkerThreads{this, "NumberOfWorkerThreads", 0}; + Gaudi::Property<size_t> m_nWorkerThreads{this, "NumberOfWorkerThreads", 1}; Gaudi::Property<bool> m_splitPileUp{this, "SplitPileUp", false}; Gaudi::Property<bool> m_printParticles{this, "PrintG4Particles", false}; Gaudi::Property<bool> m_printMaterials{this, "PrintG4Materials", false}; diff --git a/Sim/GiGaMT/src/components/GiGaMTISetUpSvc.cpp b/Sim/GiGaMT/src/Components/GiGaMTISetUpSvc.cpp similarity index 90% rename from Sim/GiGaMT/src/components/GiGaMTISetUpSvc.cpp rename to Sim/GiGaMT/src/Components/GiGaMTISetUpSvc.cpp index 5549e1f1fcf66721028c5e1bfd3bea442c347b8b..6648397d65ed2a3d588ef99268f0fe0378834dac 100755 --- a/Sim/GiGaMT/src/components/GiGaMTISetUpSvc.cpp +++ b/Sim/GiGaMT/src/Components/GiGaMTISetUpSvc.cpp @@ -17,15 +17,15 @@ #include "GaudiKernel/StatusCode.h" #include "GaudiKernel/System.h" /// G4 -#include "Geant4/G4UserEventAction.hh" -#include "Geant4/G4UserRunAction.hh" -#include "Geant4/G4UserStackingAction.hh" -#include "Geant4/G4UserSteppingAction.hh" -#include "Geant4/G4UserTrackingAction.hh" -#include "Geant4/G4VPhysicalVolume.hh" -#include "Geant4/G4VUserDetectorConstruction.hh" -#include "Geant4/G4VUserPhysicsList.hh" -#include "Geant4/G4VUserPrimaryGeneratorAction.hh" +#include "G4UserEventAction.hh" +#include "G4UserRunAction.hh" +#include "G4UserStackingAction.hh" +#include "G4UserSteppingAction.hh" +#include "G4UserTrackingAction.hh" +#include "G4VPhysicalVolume.hh" +#include "G4VUserDetectorConstruction.hh" +#include "G4VUserPhysicsList.hh" +#include "G4VUserPrimaryGeneratorAction.hh" /// GiGa #include "GiGaMT/GiGaException.h" diff --git a/Sim/GiGaMT/src/components/HepMC3ToMCTruthConverter.cpp b/Sim/GiGaMT/src/Components/HepMC3ToMCTruthConverter.cpp similarity index 99% rename from Sim/GiGaMT/src/components/HepMC3ToMCTruthConverter.cpp rename to Sim/GiGaMT/src/Components/HepMC3ToMCTruthConverter.cpp index d6832a85e324e4686dc28ee6eecb9e80b20d3ed8..e6b2b1d2cec9763b70bce43a5afa14447e3d1d6f 100644 --- a/Sim/GiGaMT/src/components/HepMC3ToMCTruthConverter.cpp +++ b/Sim/GiGaMT/src/Components/HepMC3ToMCTruthConverter.cpp @@ -17,9 +17,9 @@ #include "Kernel/ParticleProperty.h" // Geant4 -#include "Geant4/G4Event.hh" -#include "Geant4/G4SystemOfUnits.hh" -#include "Geant4/G4ParticleTable.hh" +#include "G4Event.hh" +#include "G4SystemOfUnits.hh" +#include "G4ParticleTable.hh" // HepMC3 #include "GaudiKernel/Vector4DTypes.h" diff --git a/Sim/GiGaMT/src/components/HepMC3ToMCTruthConverter.h b/Sim/GiGaMT/src/Components/HepMC3ToMCTruthConverter.h similarity index 98% rename from Sim/GiGaMT/src/components/HepMC3ToMCTruthConverter.h rename to Sim/GiGaMT/src/Components/HepMC3ToMCTruthConverter.h index 80a2dd25e6c0cd13b32730ca8cf27aadb08eb59c..38aa093f37da2572be7497990a96c3f2fbf4542c 100644 --- a/Sim/GiGaMT/src/components/HepMC3ToMCTruthConverter.h +++ b/Sim/GiGaMT/src/Components/HepMC3ToMCTruthConverter.h @@ -14,7 +14,7 @@ #include "GaudiAlg/GaudiTool.h" #include "GaudiKernel/ServiceHandle.h" #include "GaudiKernel/SystemOfUnits.h" -#include "Geant4/G4SystemOfUnits.hh" +#include "G4SystemOfUnits.hh" #include "GiGaMTTruth/IHepMC3ToMCTruthConverter.h" #include "HepMC3/GenParticle.h" diff --git a/Sim/GiGaMT/src/components/SkipSimAlg.cpp b/Sim/GiGaMT/src/Components/SkipSimAlg.cpp similarity index 97% rename from Sim/GiGaMT/src/components/SkipSimAlg.cpp rename to Sim/GiGaMT/src/Components/SkipSimAlg.cpp index 8589681a3ded0331ff2aa7414f52027a288a6ce1..785836bf2245722915ba40f1b26ac308afde9feb 100755 --- a/Sim/GiGaMT/src/components/SkipSimAlg.cpp +++ b/Sim/GiGaMT/src/Components/SkipSimAlg.cpp @@ -10,7 +10,7 @@ \*****************************************************************************/ // local #include "SkipSimAlg.h" -#include "GiGaMTCoreTruth/GaussinoEventInformation.h" +#include "GiGaMTCoreRun/GaussinoEventInformation.h" #include "GiGaMTTruth/IHepMC3ToMCTruthConverter.h" #include "Kernel/IParticlePropertySvc.h" #include "Kernel/ParticleProperty.h" diff --git a/Sim/GiGaMT/src/components/SkipSimAlg.h b/Sim/GiGaMT/src/Components/SkipSimAlg.h similarity index 100% rename from Sim/GiGaMT/src/components/SkipSimAlg.h rename to Sim/GiGaMT/src/Components/SkipSimAlg.h diff --git a/Sim/GiGaMTCore/CMakeLists.txt b/Sim/GiGaMTCore/CMakeLists.txt index 8a3310ff5c7718a2ce0cb7c8d88d745c2220f129..97c6be3c575dc559d04960b640225805cde9daf1 100644 --- a/Sim/GiGaMTCore/CMakeLists.txt +++ b/Sim/GiGaMTCore/CMakeLists.txt @@ -15,54 +15,81 @@ # run managers). While the Gaudi cmake plugins are used to handle this package, # none of the modified classes should depend on anything Gaudi related. ################################################################################# -gaudi_subdir(GiGaMTCore v1r0) -gaudi_depends_on_subdirs(NewRnd - Event/MCEvent # FIXME: Don't like this - HepMC3 - HepMCUser) - -find_package(CLHEP COMPONENTS Random Vector) -find_package(XercesC) -AddHepMC3() -find_package(ROOT COMPONENTS MathCore GenVector) - -FindG4libs(digits_hits event geometry global graphics_reps materials persistency - particles processes run tracking track intercoms physicslists) - -if(${Geant4_config_version} VERSION_LESS "10.06") - add_definitions(-DG4MULTITHREADED) - add_definitions(-DG4USE_STD11) -endif() +#[=======================================================================[.rst: +Sim/GiGaMTCore +-------------- +#]=======================================================================] +gaudi_add_header_only_library(GiGaMTCoreUtilsLib) +gaudi_add_header_only_library(GiGaMTCoreDetLib) gaudi_add_library(GiGaMTCoreMessageLib - src/message/*.cpp - PUBLIC_HEADERS GiGaMTCoreMessage) - -gaudi_add_library(GiGaMTCoreTruthLib - src/truth/*.cpp - PUBLIC_HEADERS GiGaMTCoreTruth - INCLUDE_DIRS ${HEPMC3_INCLUDE_DIR} CLHEP Geant4 XercesC NewRnd HepMCUtils - LINK_LIBRARIES ${HEPMC3_LIBRARIES} CLHEP ${GEANT4_LIBS} XercesC ${ROOT_LIBRARIES} HepMCUtils MCEvent GiGaMTCoreMessageLib) + SOURCES + src/Lib/GiGaMessage.cpp +) -add_dependencies(GiGaMTCoreTruthLib HepMC3Ext) - -gaudi_add_unit_test(test_zMaxTilt tests/src/test_zMaxTilt.cpp - LINK_LIBRARIES GaudiKernel GiGaMTCoreTruthLib - TYPE Boost) +gaudi_add_library(GiGaMTCoreCutLib + SOURCES + src/Lib/GaussinoG4UserLimits.cpp + LINK + PUBLIC + CLHEP::Vector + CLHEP::Random + Geant4::G4global + Gaussino::GiGaMTCoreMessageLib +) gaudi_add_library(GiGaMTCoreRunLib - src/run/*.cpp - PUBLIC_HEADERS GiGaMTCoreRun - INCLUDE_DIRS ${HEPMC3_INCLUDE_DIR} CLHEP Geant4 XercesC NewRnd - LINK_LIBRARIES ${HEPMC3_LIBRARIES} CLHEP ${GEANT4_LIBS} XercesC GiGaMTCoreTruthLib GiGaMTCoreMessageLib) - -gaudi_add_library(GiGaMTCoreCutLib - src/cut/*.cpp - PUBLIC_HEADERS GiGaMTCoreCut - INCLUDE_DIRS CLHEP Geant4 - LINK_LIBRARIES CLHEP ${GEANT4_LIBS} GiGaMTCoreMessageLib) + SOURCES + src/Lib/Common.cpp + src/Lib/ConverterInfo.cpp + src/Lib/G4EventProxy.cpp + src/Lib/G4EventProxyAttribute.cpp + src/Lib/GaussinoEventInformation.cpp + src/Lib/GaussinoPrimaryParticleInformation.cpp + src/Lib/GaussinoTrackInformation.cpp + src/Lib/GiGaMTRunManager.cpp + src/Lib/GiGaRunActionCommand.cpp + src/Lib/GiGaWorkerPayload.cpp + src/Lib/GiGaWorkerPilot.cpp + src/Lib/GiGaWorkerRunManager.cpp + src/Lib/Helpers.cpp + src/Lib/LinkedParticle.cpp + src/Lib/LinkedParticleHelpers.cpp + src/Lib/MCTruthAttribute.cpp + src/Lib/MCTruthConverter.cpp + src/Lib/SimResultsAttribute.cpp + src/Lib/TruthFlaggingTrackAction.cpp + src/Lib/TruthStoringTrackAction.cpp + src/Lib/ZMaxPlane.cpp + LINK + PUBLIC + HepMC3::HepMC3 + HepMC3::HepMC3search + Geant4::G4event + Geant4::G4geometry + Geant4::G4global + Geant4::G4intercoms + Geant4::G4particles + Geant4::G4processes + Geant4::G4run + Geant4::G4track + Geant4::G4tracking + LHCb::MCEvent # TODO: [LHCb DEPENDENCY] + Gaussino::HepMCUtilsLib + Gaussino::NewRndLib + Gaussino::GiGaMTCoreUtilsLib + Gaussino::GiGaMTCoreMessageLib + Gaussino::GiGaMTCoreDetLib +) -gaudi_install_headers(GiGaMTCoreDet) +gaudi_add_tests(QMTest) -gaudi_add_test(QMTest QMTEST) +gaudi_add_executable(test_zMaxTilt + SOURCES tests/test_zMaxTilt.cpp + LINK + Boost::unit_test_framework + Gaudi::GaudiKernel + Gaussino::GiGaMTCoreRunLib + TEST +) diff --git a/Sim/GiGaMTCore/GiGaMTCoreCut/GaussinoG4UserLimits.h b/Sim/GiGaMTCore/include/GiGaMTCoreCut/GaussinoG4UserLimits.h similarity index 97% rename from Sim/GiGaMTCore/GiGaMTCoreCut/GaussinoG4UserLimits.h rename to Sim/GiGaMTCore/include/GiGaMTCoreCut/GaussinoG4UserLimits.h index 3d795ee3999b1502fb99d987c10a2de709492af8..4da752156e97fe0a6305fcb429385a5ead730568 100755 --- a/Sim/GiGaMTCore/GiGaMTCoreCut/GaussinoG4UserLimits.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreCut/GaussinoG4UserLimits.h @@ -15,8 +15,8 @@ enum ULtype {ULMinEkine, ULMaxTime, ULMaxStepLength, ULMaxTrackLength, ULMinRange}; -#include "Geant4/globals.hh" -#include "Geant4/G4UserLimits.hh" +#include "globals.hh" +#include "G4UserLimits.hh" #include <map> class G4Track; @@ -94,7 +94,7 @@ inline bool operator!= ( const Gaussino::UserLimits& ul1 , { return !(ul1 == ul2) ; } } -#include "Geant4/G4Track.hh" +#include "G4Track.hh" inline const G4String& Gaussino::UserLimits::GetType() const { diff --git a/Sim/GiGaMTCore/GiGaMTCoreDet/GaussHitBase.h b/Sim/GiGaMTCore/include/GiGaMTCoreDet/GaussHitBase.h similarity index 98% rename from Sim/GiGaMTCore/GiGaMTCoreDet/GaussHitBase.h rename to Sim/GiGaMTCore/include/GiGaMTCoreDet/GaussHitBase.h index efe69880c424aa230dbf417db2868bfe8cb046d4..c8f0b2782aa686635c31e7c6583e0f7448a04a85 100755 --- a/Sim/GiGaMTCore/GiGaMTCoreDet/GaussHitBase.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreDet/GaussHitBase.h @@ -10,7 +10,7 @@ \*****************************************************************************/ #pragma once // Include files -#include "Geant4/G4VHit.hh" +#include "G4VHit.hh" /** @class Det/GaussHitBase Det/GaussHitBase.h GaussTools/Det/GaussHitBase.h * diff --git a/Sim/GiGaMTCore/GiGaMTCoreDet/GdmlDetectorConstruction.h b/Sim/GiGaMTCore/include/GiGaMTCoreDet/GdmlDetectorConstruction.h similarity index 96% rename from Sim/GiGaMTCore/GiGaMTCoreDet/GdmlDetectorConstruction.h rename to Sim/GiGaMTCore/include/GiGaMTCoreDet/GdmlDetectorConstruction.h index 89899e15089b31c380ab784e776a94dbcd5faca5..d86c634b774141ee5f0f443a3ab530a99e9914bc 100644 --- a/Sim/GiGaMTCore/GiGaMTCoreDet/GdmlDetectorConstruction.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreDet/GdmlDetectorConstruction.h @@ -10,8 +10,8 @@ \*****************************************************************************/ #pragma once // Geant -#include "Geant4/G4GDMLParser.hh" -#include "Geant4/G4VUserDetectorConstruction.hh" +#include "G4GDMLParser.hh" +#include "G4VUserDetectorConstruction.hh" #include <functional> /** @class GDMLDetectorConstruction diff --git a/Sim/GiGaMTCore/GiGaMTCoreDet/GiGaMTDetectorConstruction.h b/Sim/GiGaMTCore/include/GiGaMTCoreDet/GiGaMTDetectorConstruction.h similarity index 95% rename from Sim/GiGaMTCore/GiGaMTCoreDet/GiGaMTDetectorConstruction.h rename to Sim/GiGaMTCore/include/GiGaMTCoreDet/GiGaMTDetectorConstruction.h index 2e9c6c629a92f3c5f622e360195e51f51620ebf7..f107a893dcfdce04db0dbc25f16703d7b66060b6 100644 --- a/Sim/GiGaMTCore/GiGaMTCoreDet/GiGaMTDetectorConstruction.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreDet/GiGaMTDetectorConstruction.h @@ -11,8 +11,8 @@ #pragma once // from Gaudi -#include "Geant4/G4VPhysicalVolume.hh" -#include "Geant4/G4VUserDetectorConstruction.hh" +#include "G4VPhysicalVolume.hh" +#include "G4VUserDetectorConstruction.hh" #include <functional> //@class GiGaMTDetectorConstruction diff --git a/Sim/GiGaMTCore/GiGaMTCoreDet/IExternalDetectorEmbedder.h b/Sim/GiGaMTCore/include/GiGaMTCoreDet/IExternalDetectorEmbedder.h similarity index 100% rename from Sim/GiGaMTCore/GiGaMTCoreDet/IExternalDetectorEmbedder.h rename to Sim/GiGaMTCore/include/GiGaMTCoreDet/IExternalDetectorEmbedder.h diff --git a/Sim/GiGaMTCore/GiGaMTCoreMessage/IGiGaMessage.h b/Sim/GiGaMTCore/include/GiGaMTCoreMessage/IGiGaMessage.h similarity index 100% rename from Sim/GiGaMTCore/GiGaMTCoreMessage/IGiGaMessage.h rename to Sim/GiGaMTCore/include/GiGaMTCoreMessage/IGiGaMessage.h diff --git a/Sim/GiGaMTCore/GiGaMTCoreTruth/Common.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/Common.h similarity index 100% rename from Sim/GiGaMTCore/GiGaMTCoreTruth/Common.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/Common.h diff --git a/Sim/GiGaMTCore/GiGaMTCoreTruth/DetTrackInfo.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/DetTrackInfo.h similarity index 100% rename from Sim/GiGaMTCore/GiGaMTCoreTruth/DetTrackInfo.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/DetTrackInfo.h diff --git a/Sim/GiGaMTCore/GiGaMTCoreRun/G4EventProxy.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/G4EventProxy.h similarity index 97% rename from Sim/GiGaMTCore/GiGaMTCoreRun/G4EventProxy.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/G4EventProxy.h index 30e7be8e2fdd8c4b048a80aba87d949493857688..66ec8fcf02d30199f799e558acf01bf49abc51f5 100644 --- a/Sim/GiGaMTCore/GiGaMTCoreRun/G4EventProxy.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreRun/G4EventProxy.h @@ -10,8 +10,8 @@ \*****************************************************************************/ #pragma once -#include "Geant4/G4Event.hh" -#include "Geant4/G4VHitsCollection.hh" +#include "G4Event.hh" +#include "G4VHitsCollection.hh" #include <memory> class GiGaWorkerPilot; diff --git a/Sim/GiGaMTCore/GiGaMTCoreRun/G4EventProxyAttribute.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/G4EventProxyAttribute.h similarity index 97% rename from Sim/GiGaMTCore/GiGaMTCoreRun/G4EventProxyAttribute.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/G4EventProxyAttribute.h index e5dd41d850b8aa0d4dff3f66917902065f59c3d5..c2b01d31253410d32f8f409e3988aa91f333c6a9 100644 --- a/Sim/GiGaMTCore/GiGaMTCoreRun/G4EventProxyAttribute.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreRun/G4EventProxyAttribute.h @@ -9,7 +9,7 @@ * or submit itself to any jurisdiction. * \*****************************************************************************/ #include "HepMC3/Attribute.h" -#include "GiGaMTCoreTruth/MCTruthConverter.h" +#include "GiGaMTCoreRun/MCTruthConverter.h" #include <string> namespace HepMC3 diff --git a/Sim/GiGaMTCore/GiGaMTCoreTruth/G4TruthParticle.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/G4TruthParticle.h similarity index 100% rename from Sim/GiGaMTCore/GiGaMTCoreTruth/G4TruthParticle.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/G4TruthParticle.h diff --git a/Sim/GiGaMTCore/GiGaMTCoreTruth/GaussinoEventInformation.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/GaussinoEventInformation.h similarity index 95% rename from Sim/GiGaMTCore/GiGaMTCoreTruth/GaussinoEventInformation.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/GaussinoEventInformation.h index 9f2e4e2b0d851cc7469ea8e4a516c0b8ed8d7a0b..3ebbea1c9bc6f02f9cee2966ae48e7d1bdc1f2c6 100755 --- a/Sim/GiGaMTCore/GiGaMTCoreTruth/GaussinoEventInformation.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreRun/GaussinoEventInformation.h @@ -15,9 +15,9 @@ #include <string> #include <vector> /// Geant4 -#include "Geant4/G4EventManager.hh" -#include "Geant4/G4VUserEventInformation.hh" -#include "GiGaMTCoreTruth/MCTruthConverter.h" +#include "G4EventManager.hh" +#include "G4VUserEventInformation.hh" +#include "GiGaMTCoreRun/MCTruthConverter.h" /** @class GaussinoTrackInformation GaussinoTrackInformation.h * diff --git a/Sim/GiGaMTCore/GiGaMTCoreTruth/GaussinoPrimaryParticleInformation.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/GaussinoPrimaryParticleInformation.h similarity index 96% rename from Sim/GiGaMTCore/GiGaMTCoreTruth/GaussinoPrimaryParticleInformation.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/GaussinoPrimaryParticleInformation.h index d6250cca2a106946d3c6e7b7b3d2132ceab06a07..bfb2704c2169b5da0d406bb8903d8f7d5bfb686e 100755 --- a/Sim/GiGaMTCore/GiGaMTCoreTruth/GaussinoPrimaryParticleInformation.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreRun/GaussinoPrimaryParticleInformation.h @@ -9,8 +9,8 @@ * or submit itself to any jurisdiction. * \*****************************************************************************/ #pragma once -#include "Geant4/G4VUserPrimaryParticleInformation.hh" -#include "Geant4/G4PrimaryParticle.hh" +#include "G4VUserPrimaryParticleInformation.hh" +#include "G4PrimaryParticle.hh" /** @class GaussinoPrimaryParticleInformation * diff --git a/Sim/GiGaMTCore/GiGaMTCoreTruth/GaussinoTrackInformation.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/GaussinoTrackInformation.h similarity index 97% rename from Sim/GiGaMTCore/GiGaMTCoreTruth/GaussinoTrackInformation.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/GaussinoTrackInformation.h index e9066ebf04eeef03419bd0652e3a52822b9c52f7..1b828899ae6d9401eed044a5a42067bb7a3a7da9 100755 --- a/Sim/GiGaMTCore/GiGaMTCoreTruth/GaussinoTrackInformation.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreRun/GaussinoTrackInformation.h @@ -14,13 +14,13 @@ #include <string> #include <vector> /// Geant4 -#include "Geant4/G4Allocator.hh" -#include "Geant4/G4EventManager.hh" -#include "Geant4/G4TrackingManager.hh" -#include "Geant4/G4VUserTrackInformation.hh" +#include "G4Allocator.hh" +#include "G4EventManager.hh" +#include "G4TrackingManager.hh" +#include "G4VUserTrackInformation.hh" /// GaussTools #include "GiGaMTCoreDet/GaussHitBase.h" -#include "GiGaMTCoreTruth/DetTrackInfo.h" +#include "GiGaMTCoreRun/DetTrackInfo.h" /** @class GaussinoTrackInformation GaussinoTrackInformation.h * diff --git a/Sim/GiGaMTCore/GiGaMTCoreRun/GiGaMTRunManager.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/GiGaMTRunManager.h similarity index 98% rename from Sim/GiGaMTCore/GiGaMTCoreRun/GiGaMTRunManager.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/GiGaMTRunManager.h index 61983b8d48b8ff6d20b0350eda39b7de4f7d2069..e3bfcfd8f08a2a0f7eaee7ed76e7c37e14579a39 100644 --- a/Sim/GiGaMTCore/GiGaMTCoreRun/GiGaMTRunManager.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreRun/GiGaMTRunManager.h @@ -12,7 +12,7 @@ #include "GiGaMTCoreMessage/IGiGaMessage.h" // Geant4 includes -#include "Geant4/G4MTRunManager.hh" +#include "G4MTRunManager.hh" //@class GiGaMTRunManager //@brief Specilization of the G4MTRunManager class for Gaussino diff --git a/Sim/GiGaMTCore/GiGaMTCoreRun/GiGaRunActionCommand.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/GiGaRunActionCommand.h similarity index 97% rename from Sim/GiGaMTCore/GiGaMTCoreRun/GiGaRunActionCommand.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/GiGaRunActionCommand.h index ea8764f7f5e1ba67d8e7191f9ded2c0df63c2a65..cbd315cb2704bbd770a541464be4140958afcf21 100755 --- a/Sim/GiGaMTCore/GiGaMTCoreRun/GiGaRunActionCommand.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreRun/GiGaRunActionCommand.h @@ -10,7 +10,7 @@ \*****************************************************************************/ #pragma once -#include "Geant4/G4UserRunAction.hh" +#include "G4UserRunAction.hh" #include "GiGaMTCoreMessage/IGiGaMessage.h" #include <string> #include <vector> diff --git a/Sim/GiGaMTCore/GiGaMTCoreRun/GiGaWorkerPayload.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/GiGaWorkerPayload.h similarity index 97% rename from Sim/GiGaMTCore/GiGaMTCoreRun/GiGaWorkerPayload.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/GiGaWorkerPayload.h index 87bdc9e5b68c2ff3ff5a75ea453f2f2aae490347..b80850840fdb652e1657ac893fcbdb9f3f41e578 100644 --- a/Sim/GiGaMTCore/GiGaMTCoreRun/GiGaWorkerPayload.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreRun/GiGaWorkerPayload.h @@ -11,7 +11,7 @@ #pragma once #include "GiGaMTCoreRun/G4EventProxy.h" -#include "GiGaMTCoreTruth/MCTruthConverter.h" +#include "GiGaMTCoreRun/MCTruthConverter.h" #include "Utils/blockingconcurrentqueue.h" #include <future> #include <vector> diff --git a/Sim/GiGaMTCore/GiGaMTCoreRun/GiGaWorkerPilot.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/GiGaWorkerPilot.h similarity index 98% rename from Sim/GiGaMTCore/GiGaMTCoreRun/GiGaWorkerPilot.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/GiGaWorkerPilot.h index 02d580dadbbc3a741f43f0223a242592385eca2e..7a3c153106ce1d2094baf3f57d6ff48301ce1285 100644 --- a/Sim/GiGaMTCore/GiGaMTCoreRun/GiGaWorkerPilot.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreRun/GiGaWorkerPilot.h @@ -15,9 +15,9 @@ #include "GiGaMTCoreUtils/GiGaMTUtils.h" #include "GiGaMTCoreRun/GiGaWorkerPayload.h" #include "GiGaMTCoreMessage/IGiGaMessage.h" -#include "GiGaMTCoreTruth/MCTruthConverter.h" +#include "GiGaMTCoreRun/MCTruthConverter.h" -#include "Geant4/G4Event.hh" +#include "G4Event.hh" #include "HepMC3/GenEvent.h" // Main worker thread class that is instantiated in the diff --git a/Sim/GiGaMTCore/GiGaMTCoreRun/GiGaWorkerRunManager.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/GiGaWorkerRunManager.h similarity index 97% rename from Sim/GiGaMTCore/GiGaMTCoreRun/GiGaWorkerRunManager.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/GiGaWorkerRunManager.h index ed794d2b6e48def87538a551c98f5888f5fa6656..e3f26674d5c00ab4f8fc17e605e5276c27d88103 100644 --- a/Sim/GiGaMTCore/GiGaMTCoreRun/GiGaWorkerRunManager.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreRun/GiGaWorkerRunManager.h @@ -10,7 +10,7 @@ \*****************************************************************************/ #pragma once -#include "Geant4/G4WorkerRunManager.hh" +#include "G4WorkerRunManager.hh" #include "GiGaMTCoreMessage/IGiGaMessage.h" diff --git a/Sim/GiGaMTCore/GiGaMTCoreTruth/LinkedParticle.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/LinkedParticle.h similarity index 98% rename from Sim/GiGaMTCore/GiGaMTCoreTruth/LinkedParticle.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/LinkedParticle.h index c5d4150c231f26ca0d39574b2f3c8dd1b2aad6dd..51e4484476991bf35071a565435898febea299a7 100644 --- a/Sim/GiGaMTCore/GiGaMTCoreTruth/LinkedParticle.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreRun/LinkedParticle.h @@ -11,9 +11,9 @@ #pragma once #include <set> -#include "Geant4/G4PrimaryParticle.hh" -#include "GiGaMTCoreTruth/Common.h" -#include "GiGaMTCoreTruth/G4TruthParticle.h" +#include "G4PrimaryParticle.hh" +#include "GiGaMTCoreRun/Common.h" +#include "GiGaMTCoreRun/G4TruthParticle.h" #include "HepMC3/FourVector.h" #include "HepMC3/GenParticle.h" #include "HepMC3/GenVertex.h" diff --git a/Sim/GiGaMTCore/GiGaMTCoreTruth/LinkedParticleHelpers.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/LinkedParticleHelpers.h similarity index 96% rename from Sim/GiGaMTCore/GiGaMTCoreTruth/LinkedParticleHelpers.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/LinkedParticleHelpers.h index a8947eec3deb87738c332f2f7af9203e535d0e6f..9233439ddb0f601895d966f7022d569f8767533d 100644 --- a/Sim/GiGaMTCore/GiGaMTCoreTruth/LinkedParticleHelpers.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreRun/LinkedParticleHelpers.h @@ -10,7 +10,7 @@ \*****************************************************************************/ #pragma once -#include "GiGaMTCoreTruth/LinkedParticle.h" +#include "GiGaMTCoreRun/LinkedParticle.h" namespace Gaussino::LPUtils { bool ShouldHaveButWasNotSimulated( const LinkedParticle* lp ); diff --git a/Sim/GiGaMTCore/GiGaMTCoreTruth/MCTruthAttribute.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/MCTruthAttribute.h similarity index 89% rename from Sim/GiGaMTCore/GiGaMTCoreTruth/MCTruthAttribute.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/MCTruthAttribute.h index e5dd41d850b8aa0d4dff3f66917902065f59c3d5..675caa0a1d739b91fa98f806c33ce88363b6f883 100644 --- a/Sim/GiGaMTCore/GiGaMTCoreTruth/MCTruthAttribute.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreRun/MCTruthAttribute.h @@ -9,7 +9,7 @@ * or submit itself to any jurisdiction. * \*****************************************************************************/ #include "HepMC3/Attribute.h" -#include "GiGaMTCoreTruth/MCTruthConverter.h" +#include "GiGaMTCoreRun/MCTruthConverter.h" #include <string> namespace HepMC3 @@ -20,9 +20,9 @@ namespace HepMC3 MCTruthAttribute() : Attribute(), m_val( nullptr ) {} MCTruthAttribute( Gaussino::MCTruthPtr val ) : Attribute(), m_val( val ) {} - bool from_string( const string& ){ return true;}; + bool from_string( const string& ) override { return true; }; - bool to_string( string& ) const { return true;}; + bool to_string( string& ) const override { return true; }; Gaussino::MCTruthPtr value() const { return m_val; } diff --git a/Sim/GiGaMTCore/GiGaMTCoreTruth/MCTruthConverter.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/MCTruthConverter.h similarity index 98% rename from Sim/GiGaMTCore/GiGaMTCoreTruth/MCTruthConverter.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/MCTruthConverter.h index feafd051696619609b0b2a7384f542abab2df806..63722904f12021555d4c40ed782b9e211fc34abf 100644 --- a/Sim/GiGaMTCore/GiGaMTCoreTruth/MCTruthConverter.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreRun/MCTruthConverter.h @@ -20,12 +20,12 @@ #include "HepMCUtils/PrintDecayTree.h" #include "HepMC3/GenEvent.h" -#include "GiGaMTCoreTruth/Common.h" -#include "GiGaMTCoreTruth/LinkedParticle.h" +#include "GiGaMTCoreRun/Common.h" +#include "GiGaMTCoreRun/LinkedParticle.h" -#include "Geant4/G4Event.hh" -#include "Geant4/G4PrimaryParticle.hh" -#include "Geant4/G4PrimaryVertex.hh" +#include "G4Event.hh" +#include "G4PrimaryParticle.hh" +#include "G4PrimaryVertex.hh" #include <functional> diff --git a/Sim/GiGaMTCore/GiGaMTCoreRun/SimResults.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/SimResults.h similarity index 95% rename from Sim/GiGaMTCore/GiGaMTCoreRun/SimResults.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/SimResults.h index b6ee185142ad66ec5b4e0cbfffa5bd335fd6208e..f427e47c37bf1cf66f2a1a2bb442a7897071edf5 100644 --- a/Sim/GiGaMTCore/GiGaMTCoreRun/SimResults.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreRun/SimResults.h @@ -8,7 +8,7 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include "GiGaMTCoreTruth/MCTruthConverter.h" +#include "GiGaMTCoreRun/MCTruthConverter.h" #include "GiGaMTCoreRun/G4EventProxy.h" namespace Gaussino { diff --git a/Sim/GiGaMTCore/GiGaMTCoreRun/SimResultsProxyAttribute.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/SimResultsProxyAttribute.h similarity index 92% rename from Sim/GiGaMTCore/GiGaMTCoreRun/SimResultsProxyAttribute.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/SimResultsProxyAttribute.h index ce89de59f1fa112c6f119d6e6969668438c8bc9d..6ca2dec65480dd9f51b0c724abe0a2c4d0375899 100644 --- a/Sim/GiGaMTCore/GiGaMTCoreRun/SimResultsProxyAttribute.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreRun/SimResultsProxyAttribute.h @@ -19,9 +19,9 @@ namespace HepMC3 { SimResultsAttribute( Gaussino::GiGaSimReturn val ) : Attribute(), m_val( val ) {} SimResultsAttribute( Gaussino::MCTruthPtr val, G4EventProxyPtr val2 ) : Attribute(), m_val{val2, val} {} - bool from_string( const string& ) { return true; }; + bool from_string( const string& ) override { return true; }; - bool to_string( string& ) const { return true; }; + bool to_string( string& ) const override { return true; }; Gaussino::GiGaSimReturn value() const { return m_val; } diff --git a/Sim/GiGaMTCore/GiGaMTCoreTruth/TruthFlaggingTrackAction.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/TruthFlaggingTrackAction.h similarity index 98% rename from Sim/GiGaMTCore/GiGaMTCoreTruth/TruthFlaggingTrackAction.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/TruthFlaggingTrackAction.h index 79ddb3ad86415fdd151e4282f7ba4144b90933a1..184181804ee66f684d5d42287b24492823526315 100755 --- a/Sim/GiGaMTCore/GiGaMTCoreTruth/TruthFlaggingTrackAction.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreRun/TruthFlaggingTrackAction.h @@ -15,9 +15,9 @@ #include <vector> // GiGa #include "CLHEP/Units/SystemOfUnits.h" -#include "Geant4/G4UserTrackingAction.hh" +#include "G4UserTrackingAction.hh" #include "GiGaMTCoreMessage/IGiGaMessage.h" -#include "GiGaMTCoreTruth/ZMaxPlane.h" +#include "GiGaMTCoreRun/ZMaxPlane.h" #include <unordered_set> // forward declarations diff --git a/Sim/GiGaMTCore/GiGaMTCoreTruth/TruthFlaggingTrackAction.icpp b/Sim/GiGaMTCore/include/GiGaMTCoreRun/TruthFlaggingTrackAction.icpp similarity index 100% rename from Sim/GiGaMTCore/GiGaMTCoreTruth/TruthFlaggingTrackAction.icpp rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/TruthFlaggingTrackAction.icpp diff --git a/Sim/GiGaMTCore/GiGaMTCoreTruth/TruthStoringTrackAction.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/TruthStoringTrackAction.h similarity index 97% rename from Sim/GiGaMTCore/GiGaMTCoreTruth/TruthStoringTrackAction.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/TruthStoringTrackAction.h index 5b296efff98d9c83eaab98ee8957635d8462df70..b65b23970a939afc6d3ce5d18f71bbfb567db87e 100755 --- a/Sim/GiGaMTCore/GiGaMTCoreTruth/TruthStoringTrackAction.h +++ b/Sim/GiGaMTCore/include/GiGaMTCoreRun/TruthStoringTrackAction.h @@ -10,8 +10,8 @@ \*****************************************************************************/ #pragma once -#include "Geant4/G4UserTrackingAction.hh" -#include "Geant4/G4VProcess.hh" +#include "G4UserTrackingAction.hh" +#include "G4VProcess.hh" #include "GiGaMTCoreMessage/IGiGaMessage.h" #include "HepMC3/FourVector.h" diff --git a/Sim/GiGaMTCore/GiGaMTCoreTruth/ZMaxPlane.h b/Sim/GiGaMTCore/include/GiGaMTCoreRun/ZMaxPlane.h similarity index 100% rename from Sim/GiGaMTCore/GiGaMTCoreTruth/ZMaxPlane.h rename to Sim/GiGaMTCore/include/GiGaMTCoreRun/ZMaxPlane.h diff --git a/Sim/GiGaMTCore/GiGaMTCoreUtils/GiGaMTUtils.h b/Sim/GiGaMTCore/include/GiGaMTCoreUtils/GiGaMTUtils.h similarity index 100% rename from Sim/GiGaMTCore/GiGaMTCoreUtils/GiGaMTUtils.h rename to Sim/GiGaMTCore/include/GiGaMTCoreUtils/GiGaMTUtils.h diff --git a/Sim/GiGaMTCore/src/truth/Common.cpp b/Sim/GiGaMTCore/src/Lib/Common.cpp similarity index 97% rename from Sim/GiGaMTCore/src/truth/Common.cpp rename to Sim/GiGaMTCore/src/Lib/Common.cpp index c735d15a33764054f331c8675001dbbeb4125811..061ed5bef20136019dccad2351c808d02fc0b2ea 100644 --- a/Sim/GiGaMTCore/src/truth/Common.cpp +++ b/Sim/GiGaMTCore/src/Lib/Common.cpp @@ -8,7 +8,7 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include "GiGaMTCoreTruth/Common.h" +#include "GiGaMTCoreRun/Common.h" std::ostream& operator<<( std::ostream& out, const Gaussino::ConversionType& type ) { diff --git a/Sim/GiGaMTCore/src/truth/ConverterInfo.cpp b/Sim/GiGaMTCore/src/Lib/ConverterInfo.cpp similarity index 100% rename from Sim/GiGaMTCore/src/truth/ConverterInfo.cpp rename to Sim/GiGaMTCore/src/Lib/ConverterInfo.cpp diff --git a/Sim/GiGaMTCore/src/truth/ConverterInfo.h b/Sim/GiGaMTCore/src/Lib/ConverterInfo.h similarity index 96% rename from Sim/GiGaMTCore/src/truth/ConverterInfo.h rename to Sim/GiGaMTCore/src/Lib/ConverterInfo.h index 6c99f2d1692e0d745129c4c12f6a8319a8ef63a5..bbdee09c5acbe3c8022e7ec1b5f8ad4ecdee6b7c 100644 --- a/Sim/GiGaMTCore/src/truth/ConverterInfo.h +++ b/Sim/GiGaMTCore/src/Lib/ConverterInfo.h @@ -12,7 +12,7 @@ #include "HepMC3/GenEvent.h" #include "HepMC3/GenParticle.h" -#include "GiGaMTCoreTruth/Common.h" +#include "GiGaMTCoreRun/Common.h" namespace Gaussino { diff --git a/Sim/GiGaMTCore/src/run/G4EventProxy.cpp b/Sim/GiGaMTCore/src/Lib/G4EventProxy.cpp similarity index 100% rename from Sim/GiGaMTCore/src/run/G4EventProxy.cpp rename to Sim/GiGaMTCore/src/Lib/G4EventProxy.cpp diff --git a/Sim/GiGaMTCore/src/run/G4EventProxyAttribute.cpp b/Sim/GiGaMTCore/src/Lib/G4EventProxyAttribute.cpp similarity index 94% rename from Sim/GiGaMTCore/src/run/G4EventProxyAttribute.cpp rename to Sim/GiGaMTCore/src/Lib/G4EventProxyAttribute.cpp index 249326614d0327d9a694705e046c437d4244aaad..c6f5cb02a6e494e07902eea49cb9c72ea61921d9 100644 --- a/Sim/GiGaMTCore/src/run/G4EventProxyAttribute.cpp +++ b/Sim/GiGaMTCore/src/Lib/G4EventProxyAttribute.cpp @@ -8,4 +8,4 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include "GiGaMTCoreTruth/MCTruthAttribute.h" +#include "GiGaMTCoreRun/MCTruthAttribute.h" diff --git a/Sim/GiGaMTCore/src/truth/GaussinoEventInformation.cpp b/Sim/GiGaMTCore/src/Lib/GaussinoEventInformation.cpp similarity index 93% rename from Sim/GiGaMTCore/src/truth/GaussinoEventInformation.cpp rename to Sim/GiGaMTCore/src/Lib/GaussinoEventInformation.cpp index 6cda1748f86753c46d6c812f8f5b551aff3f3f0b..a02ef3be20473cc6339bcc3d40db50707f2da03e 100755 --- a/Sim/GiGaMTCore/src/truth/GaussinoEventInformation.cpp +++ b/Sim/GiGaMTCore/src/Lib/GaussinoEventInformation.cpp @@ -8,4 +8,4 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include "GiGaMTCoreTruth/GaussinoEventInformation.h" +#include "GiGaMTCoreRun/GaussinoEventInformation.h" diff --git a/Sim/GiGaMTCore/src/cut/GaussinoG4UserLimits.cpp b/Sim/GiGaMTCore/src/Lib/GaussinoG4UserLimits.cpp similarity index 100% rename from Sim/GiGaMTCore/src/cut/GaussinoG4UserLimits.cpp rename to Sim/GiGaMTCore/src/Lib/GaussinoG4UserLimits.cpp diff --git a/Sim/GiGaMTCore/src/truth/GaussinoPrimaryParticleInformation.cpp b/Sim/GiGaMTCore/src/Lib/GaussinoPrimaryParticleInformation.cpp similarity index 93% rename from Sim/GiGaMTCore/src/truth/GaussinoPrimaryParticleInformation.cpp rename to Sim/GiGaMTCore/src/Lib/GaussinoPrimaryParticleInformation.cpp index b809e6acbbd7c67d3b54c7f9796ae54f9c5aef0d..4981f11b826b45ee1bdd559c2836b43e798b71c2 100644 --- a/Sim/GiGaMTCore/src/truth/GaussinoPrimaryParticleInformation.cpp +++ b/Sim/GiGaMTCore/src/Lib/GaussinoPrimaryParticleInformation.cpp @@ -8,7 +8,7 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include "GiGaMTCoreTruth/GaussinoPrimaryParticleInformation.h" +#include "GiGaMTCoreRun/GaussinoPrimaryParticleInformation.h" std::ostream& operator<<( std::ostream& out, const GaussinoPrimaryParticleInformation& lp ) { diff --git a/Sim/GiGaMTCore/src/truth/GaussinoTrackInformation.cpp b/Sim/GiGaMTCore/src/Lib/GaussinoTrackInformation.cpp similarity index 96% rename from Sim/GiGaMTCore/src/truth/GaussinoTrackInformation.cpp rename to Sim/GiGaMTCore/src/Lib/GaussinoTrackInformation.cpp index 7e5d8ab01bd4fcb68a1f8f93da4bb1cf83ccb8cf..9b944147c0d1ff25cd8257290cd591f915015dd7 100755 --- a/Sim/GiGaMTCore/src/truth/GaussinoTrackInformation.cpp +++ b/Sim/GiGaMTCore/src/Lib/GaussinoTrackInformation.cpp @@ -8,7 +8,7 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include "GiGaMTCoreTruth/GaussinoTrackInformation.h" +#include "GiGaMTCoreRun/GaussinoTrackInformation.h" // ============================================================================ /** @file diff --git a/Sim/GiGaMTCore/src/run/GiGaMTRunManager.cpp b/Sim/GiGaMTCore/src/Lib/GiGaMTRunManager.cpp similarity index 90% rename from Sim/GiGaMTCore/src/run/GiGaMTRunManager.cpp rename to Sim/GiGaMTCore/src/Lib/GiGaMTRunManager.cpp index 3535ad61a18c49f79aeae6afe5a5c2703f35cf7d..7e4daf548d62257d508caa91eb15d144b8ab52e3 100644 --- a/Sim/GiGaMTCore/src/run/GiGaMTRunManager.cpp +++ b/Sim/GiGaMTCore/src/Lib/GiGaMTRunManager.cpp @@ -10,16 +10,16 @@ \*****************************************************************************/ #include "GiGaMTCoreRun/GiGaMTRunManager.h" -#include "Geant4/G4StateManager.hh" -#include "Geant4/G4GeometryManager.hh" -#include "Geant4/G4UserRunAction.hh" -#include "Geant4/G4Run.hh" -#include "Geant4/G4LogicalVolumeStore.hh" -#include "Geant4/G4MTRunManagerKernel.hh" - -#include "Geant4/G4IonTable.hh" -#include "Geant4/G4ParticleTable.hh" -#include "Geant4/G4CascadeInterface.hh" +#include "G4StateManager.hh" +#include "G4GeometryManager.hh" +#include "G4UserRunAction.hh" +#include "G4Run.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4MTRunManagerKernel.hh" + +#include "G4IonTable.hh" +#include "G4ParticleTable.hh" +#include "G4CascadeInterface.hh" #include "GaudiKernel/ISvcLocator.h" #include "GaudiKernel/Bootstrap.h" diff --git a/Sim/GiGaMTCore/src/message/GiGaMessage.cpp b/Sim/GiGaMTCore/src/Lib/GiGaMessage.cpp similarity index 100% rename from Sim/GiGaMTCore/src/message/GiGaMessage.cpp rename to Sim/GiGaMTCore/src/Lib/GiGaMessage.cpp diff --git a/Sim/GiGaMTCore/src/run/GiGaRunActionCommand.cpp b/Sim/GiGaMTCore/src/Lib/GiGaRunActionCommand.cpp similarity index 98% rename from Sim/GiGaMTCore/src/run/GiGaRunActionCommand.cpp rename to Sim/GiGaMTCore/src/Lib/GiGaRunActionCommand.cpp index 8e5c894e5952444a0c9817fc1f12886ea4446f4b..d82fcf7d661a2c6a3d11fbf9fbbd1f5463d8c292 100755 --- a/Sim/GiGaMTCore/src/run/GiGaRunActionCommand.cpp +++ b/Sim/GiGaMTCore/src/Lib/GiGaRunActionCommand.cpp @@ -9,7 +9,7 @@ * or submit itself to any jurisdiction. * \*****************************************************************************/ #include "GiGaMTCoreRun/GiGaRunActionCommand.h" -#include "Geant4/G4UImanager.hh" +#include "G4UImanager.hh" // ============================================================================ /** performe the action at the begin of each run diff --git a/Sim/GiGaMTCore/src/run/GiGaWorkerPayload.cpp b/Sim/GiGaMTCore/src/Lib/GiGaWorkerPayload.cpp similarity index 100% rename from Sim/GiGaMTCore/src/run/GiGaWorkerPayload.cpp rename to Sim/GiGaMTCore/src/Lib/GiGaWorkerPayload.cpp diff --git a/Sim/GiGaMTCore/src/run/GiGaWorkerPilot.cpp b/Sim/GiGaMTCore/src/Lib/GiGaWorkerPilot.cpp similarity index 97% rename from Sim/GiGaMTCore/src/run/GiGaWorkerPilot.cpp rename to Sim/GiGaMTCore/src/Lib/GiGaWorkerPilot.cpp index 638362a88f351d55cd8cdca6d64794517d6ea526..e6f5930ccfc7299c66a2debee15495aff966b8d2 100644 --- a/Sim/GiGaMTCore/src/run/GiGaWorkerPilot.cpp +++ b/Sim/GiGaMTCore/src/Lib/GiGaWorkerPilot.cpp @@ -13,16 +13,16 @@ #include "GiGaMTCoreRun/GiGaWorkerRunManager.h" #include "GaudiKernel/GaudiException.h" -#include "GiGaMTCoreTruth/GaussinoEventInformation.h" +#include "GiGaMTCoreRun/GaussinoEventInformation.h" #include <string> -#include "Geant4/G4AutoDelete.hh" -#include "Geant4/G4Event.hh" -#include "Geant4/G4UImanager.hh" -#include "Geant4/G4UserWorkerThreadInitialization.hh" -#include "Geant4/G4VUserActionInitialization.hh" -#include "Geant4/G4WorkerThread.hh" +#include "G4AutoDelete.hh" +#include "G4Event.hh" +#include "G4UImanager.hh" +#include "G4UserWorkerThreadInitialization.hh" +#include "G4VUserActionInitialization.hh" +#include "G4WorkerThread.hh" GiGaWorkerPilot::GiGaWorkerPilot( GiGaWorkerPilot&& right ) : GiGaMessage( std::move( right ) ) { diff --git a/Sim/GiGaMTCore/src/run/GiGaWorkerRunManager.cpp b/Sim/GiGaMTCore/src/Lib/GiGaWorkerRunManager.cpp similarity index 94% rename from Sim/GiGaMTCore/src/run/GiGaWorkerRunManager.cpp rename to Sim/GiGaMTCore/src/Lib/GiGaWorkerRunManager.cpp index bab58e4c1c0e880fa829a326ac1d99d962746b75..445ffb76b228ac5262362c250e7354727c77c021 100644 --- a/Sim/GiGaMTCore/src/run/GiGaWorkerRunManager.cpp +++ b/Sim/GiGaMTCore/src/Lib/GiGaWorkerRunManager.cpp @@ -10,14 +10,14 @@ \*****************************************************************************/ #include "GiGaMTCoreRun/GiGaWorkerRunManager.h" -#include "Geant4/G4Event.hh" -#include "Geant4/G4GeometryManager.hh" -#include "Geant4/G4LogicalVolumeStore.hh" -#include "Geant4/G4MTRunManager.hh" -#include "Geant4/G4StateManager.hh" -#include "Geant4/G4TransportationManager.hh" -#include "Geant4/G4UImanager.hh" -#include "Geant4/G4VUserDetectorConstruction.hh" +#include "G4Event.hh" +#include "G4GeometryManager.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4MTRunManager.hh" +#include "G4StateManager.hh" +#include "G4TransportationManager.hh" +#include "G4UImanager.hh" +#include "G4VUserDetectorConstruction.hh" #include <mutex> diff --git a/Sim/GiGaMTCore/src/truth/Helpers.cpp b/Sim/GiGaMTCore/src/Lib/Helpers.cpp similarity index 96% rename from Sim/GiGaMTCore/src/truth/Helpers.cpp rename to Sim/GiGaMTCore/src/Lib/Helpers.cpp index b52843c64902237d9b88046f8137f09a0c033337..f3662dfcdc64ec5655b32654c76e71b8157bbe32 100644 --- a/Sim/GiGaMTCore/src/truth/Helpers.cpp +++ b/Sim/GiGaMTCore/src/Lib/Helpers.cpp @@ -9,7 +9,7 @@ * or submit itself to any jurisdiction. * \*****************************************************************************/ #include "Helpers.h" -#include "GiGaMTCoreTruth/LinkedParticle.h" +#include "GiGaMTCoreRun/LinkedParticle.h" namespace Gaussino::LinkedParticleHelpers { diff --git a/Sim/GiGaMTCore/src/truth/Helpers.h b/Sim/GiGaMTCore/src/Lib/Helpers.h similarity index 100% rename from Sim/GiGaMTCore/src/truth/Helpers.h rename to Sim/GiGaMTCore/src/Lib/Helpers.h diff --git a/Sim/GiGaMTCore/src/truth/LinkedParticle.cpp b/Sim/GiGaMTCore/src/Lib/LinkedParticle.cpp similarity index 98% rename from Sim/GiGaMTCore/src/truth/LinkedParticle.cpp rename to Sim/GiGaMTCore/src/Lib/LinkedParticle.cpp index 5859dae0f79c83e658986e924b4b384266433587..77ca94bec0f84b27cc8e5de9365dfde6fd512439 100644 --- a/Sim/GiGaMTCore/src/truth/LinkedParticle.cpp +++ b/Sim/GiGaMTCore/src/Lib/LinkedParticle.cpp @@ -8,11 +8,11 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include "GiGaMTCoreTruth/LinkedParticle.h" +#include "GiGaMTCoreRun/LinkedParticle.h" #include "CLHEP/Units/PhysicalConstants.h" -#include "GiGaMTCoreTruth/GaussinoPrimaryParticleInformation.h" -#include "GiGaMTCoreTruth/LinkedParticleHelpers.h" +#include "GiGaMTCoreRun/GaussinoPrimaryParticleInformation.h" +#include "GiGaMTCoreRun/LinkedParticleHelpers.h" #include "Helpers.h" #include "Math/GenVector/Boost.h" #include "Math/Vector4D.h" diff --git a/Sim/GiGaMTCore/src/truth/LinkedParticleHelpers.cpp b/Sim/GiGaMTCore/src/Lib/LinkedParticleHelpers.cpp similarity index 97% rename from Sim/GiGaMTCore/src/truth/LinkedParticleHelpers.cpp rename to Sim/GiGaMTCore/src/Lib/LinkedParticleHelpers.cpp index 3ba8757d495642b97e682da0e2a65610c9449e64..92f564dccf0bab3fc684cf25c53276a85f3b3f8a 100644 --- a/Sim/GiGaMTCore/src/truth/LinkedParticleHelpers.cpp +++ b/Sim/GiGaMTCore/src/Lib/LinkedParticleHelpers.cpp @@ -8,7 +8,7 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include "GiGaMTCoreTruth/LinkedParticleHelpers.h" +#include "GiGaMTCoreRun/LinkedParticleHelpers.h" namespace Gaussino::LPUtils { bool ShouldHaveButWasNotSimulated( const LinkedParticle* lp ) { diff --git a/Sim/GiGaMTCore/src/truth/MCTruthAttribute.cpp b/Sim/GiGaMTCore/src/Lib/MCTruthAttribute.cpp similarity index 94% rename from Sim/GiGaMTCore/src/truth/MCTruthAttribute.cpp rename to Sim/GiGaMTCore/src/Lib/MCTruthAttribute.cpp index 249326614d0327d9a694705e046c437d4244aaad..c6f5cb02a6e494e07902eea49cb9c72ea61921d9 100644 --- a/Sim/GiGaMTCore/src/truth/MCTruthAttribute.cpp +++ b/Sim/GiGaMTCore/src/Lib/MCTruthAttribute.cpp @@ -8,4 +8,4 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include "GiGaMTCoreTruth/MCTruthAttribute.h" +#include "GiGaMTCoreRun/MCTruthAttribute.h" diff --git a/Sim/GiGaMTCore/src/truth/MCTruthConverter.cpp b/Sim/GiGaMTCore/src/Lib/MCTruthConverter.cpp similarity index 99% rename from Sim/GiGaMTCore/src/truth/MCTruthConverter.cpp rename to Sim/GiGaMTCore/src/Lib/MCTruthConverter.cpp index 50ec76c4694b3b42c51643a5eec2db45947b4404..217e638563048ed8d83394c62bccc5412505dd28 100644 --- a/Sim/GiGaMTCore/src/truth/MCTruthConverter.cpp +++ b/Sim/GiGaMTCore/src/Lib/MCTruthConverter.cpp @@ -8,13 +8,12 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include "GiGaMTCoreTruth/MCTruthConverter.h" +#include "GiGaMTCoreRun/MCTruthConverter.h" #include "ConverterInfo.h" #include "GaudiKernel/GaudiException.h" -#include "Geant4/G4SystemOfUnits.hh" -#include "GiGaMTCoreTruth/GaussinoPrimaryParticleInformation.h" -#include "GiGaMTCoreTruth/LinkedParticleHelpers.h" -#include "GiGaMTCoreRun/SimResults.h" +#include "G4SystemOfUnits.hh" +#include "GiGaMTCoreRun/GaussinoPrimaryParticleInformation.h" +#include "GiGaMTCoreRun/LinkedParticleHelpers.h" #include "GiGaMTCoreRun/SimResultsProxyAttribute.h" #include "Defaults/HepMCAttributes.h" #include "Helpers.h" diff --git a/Sim/GiGaMTCore/src/run/SimResultsAttribute.cpp b/Sim/GiGaMTCore/src/Lib/SimResultsAttribute.cpp similarity index 100% rename from Sim/GiGaMTCore/src/run/SimResultsAttribute.cpp rename to Sim/GiGaMTCore/src/Lib/SimResultsAttribute.cpp diff --git a/Sim/GiGaMTCore/src/truth/TruthFlaggingTrackAction.cpp b/Sim/GiGaMTCore/src/Lib/TruthFlaggingTrackAction.cpp similarity index 97% rename from Sim/GiGaMTCore/src/truth/TruthFlaggingTrackAction.cpp rename to Sim/GiGaMTCore/src/Lib/TruthFlaggingTrackAction.cpp index 75ba10f63837da0eb3f18d46152f8d04ca09652b..c37b34fd385214fb02678cc2b006ce0201766232 100755 --- a/Sim/GiGaMTCore/src/truth/TruthFlaggingTrackAction.cpp +++ b/Sim/GiGaMTCore/src/Lib/TruthFlaggingTrackAction.cpp @@ -11,22 +11,22 @@ /// CLHEP #include "CLHEP/Geometry/Point3D.h" /// Geant4 -#include "Geant4/G4ParticleDefinition.hh" -#include "Geant4/G4ParticleTable.hh" -#include "Geant4/G4PrimaryParticle.hh" -#include "Geant4/G4Track.hh" -#include "Geant4/G4TrackVector.hh" -#include "Geant4/G4TrackingManager.hh" +#include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" +#include "G4PrimaryParticle.hh" +#include "G4Track.hh" +#include "G4TrackVector.hh" +#include "G4TrackingManager.hh" /// GaudiKernel #include "GaudiKernel/MsgStream.h" /// GiGa //#include "GiGaCnv/GiGaPrimaryParticleInformation.h" // GaussTools //#include "GaussTools/GaussTrajectory.h" -#include "GiGaMTCoreTruth/GaussinoPrimaryParticleInformation.h" -#include "GiGaMTCoreTruth/GaussinoTrackInformation.h" +#include "GiGaMTCoreRun/GaussinoTrackInformation.h" +#include "GiGaMTCoreRun/GaussinoPrimaryParticleInformation.h" /// local -#include "GiGaMTCoreTruth/TruthFlaggingTrackAction.h" +#include "GiGaMTCoreRun/TruthFlaggingTrackAction.h" // ============================================================================ /** initialize the track action diff --git a/Sim/GiGaMTCore/src/truth/TruthStoringTrackAction.cpp b/Sim/GiGaMTCore/src/Lib/TruthStoringTrackAction.cpp similarity index 94% rename from Sim/GiGaMTCore/src/truth/TruthStoringTrackAction.cpp rename to Sim/GiGaMTCore/src/Lib/TruthStoringTrackAction.cpp index a6603ce127395f8229229d745eb55692d7fd7bba..9ad4fac3d89a38ce8315cfe6ea269701f1bac26a 100755 --- a/Sim/GiGaMTCore/src/truth/TruthStoringTrackAction.cpp +++ b/Sim/GiGaMTCore/src/Lib/TruthStoringTrackAction.cpp @@ -22,20 +22,20 @@ #include "Kernel/ParticleProperty.h" // G4 -#include "Geant4/G4ParticleDefinition.hh" -#include "Geant4/G4PrimaryParticle.hh" -#include "Geant4/G4TrackingManager.hh" +#include "G4ParticleDefinition.hh" +#include "G4PrimaryParticle.hh" +#include "G4TrackingManager.hh" // Included for vertex types // FIXME: Need to reorganise when splitting LHCb #include "Event/MCVertex.h" // local -#include "GiGaMTCoreTruth/G4TruthParticle.h" -#include "GiGaMTCoreTruth/GaussinoEventInformation.h" -#include "GiGaMTCoreTruth/GaussinoPrimaryParticleInformation.h" -#include "GiGaMTCoreTruth/GaussinoTrackInformation.h" -#include "GiGaMTCoreTruth/TruthStoringTrackAction.h" +#include "GiGaMTCoreRun/G4TruthParticle.h" +#include "GiGaMTCoreRun/GaussinoEventInformation.h" +#include "GiGaMTCoreRun/GaussinoPrimaryParticleInformation.h" +#include "GiGaMTCoreRun/GaussinoTrackInformation.h" +#include "GiGaMTCoreRun/TruthStoringTrackAction.h" /*static*/ std::unordered_set<std::string> TruthStoringTrackAction::m_hadronicProcesses = { "KaonPlusInelastic", @@ -174,9 +174,12 @@ void TruthStoringTrackAction::PostUserTrackingAction( const G4Track* track ) { // and continued later on. If the track is not in suspended state, it is the true end of the // processing if(addEndVertices && track->GetTrackStatus() != G4TrackStatus::fSuspend){ - int type = 0; + // int type = 0; if(auto stepproc = track->GetStep()->GetPostStepPoint()->GetProcessDefinedStep();stepproc){ - type = processID(stepproc); + // type = processID(stepproc); + // FIXME: commented out to remove the warning about unused varaible, + // what does it do anyway? + processID(stepproc); } event_info->TruthTracker()->BufferEnd(endpos, 0, track->GetTrackID()); } diff --git a/Sim/GiGaMTCore/src/truth/ZMaxPlane.cpp b/Sim/GiGaMTCore/src/Lib/ZMaxPlane.cpp similarity index 97% rename from Sim/GiGaMTCore/src/truth/ZMaxPlane.cpp rename to Sim/GiGaMTCore/src/Lib/ZMaxPlane.cpp index 5a41abcacdee5fc441e09dd08a020380fdbe4bfd..e9af8ad0de595c028fbbc1f5e9d8fc3e73f379fa 100644 --- a/Sim/GiGaMTCore/src/truth/ZMaxPlane.cpp +++ b/Sim/GiGaMTCore/src/Lib/ZMaxPlane.cpp @@ -12,7 +12,7 @@ #include "GaudiKernel/SystemOfUnits.h" #include "GaudiKernel/Transform3DTypes.h" // local -#include "GiGaMTCoreTruth/ZMaxPlane.h" +#include "GiGaMTCoreRun/ZMaxPlane.h" void ZMaxPlane::prepare( double zMax, double tilt, double yShift ) { // apply a rotation around X axis by tilt (radians) diff --git a/Sim/GiGaMTCore/tests/src/test_zMaxTilt.cpp b/Sim/GiGaMTCore/tests/test_zMaxTilt.cpp similarity index 98% rename from Sim/GiGaMTCore/tests/src/test_zMaxTilt.cpp rename to Sim/GiGaMTCore/tests/test_zMaxTilt.cpp index 0fed173b26dfb172716b369cfb99af764850c271..974959dba046a85fc4764f9d90b2952cd463c285 100644 --- a/Sim/GiGaMTCore/tests/src/test_zMaxTilt.cpp +++ b/Sim/GiGaMTCore/tests/test_zMaxTilt.cpp @@ -11,7 +11,7 @@ #define BOOST_TEST_DYN_LINK #define BOOST_TEST_MODULE utestZMaxTilt #include "GaudiKernel/SystemOfUnits.h" -#include "GiGaMTCoreTruth/ZMaxPlane.h" +#include "GiGaMTCoreRun/ZMaxPlane.h" #include <boost/test/unit_test.hpp> #include <iostream> diff --git a/Sim/GiGaMTDD4hep/CMakeLists.txt b/Sim/GiGaMTDD4hep/CMakeLists.txt index f39be9c7a1ad1fd5685ef710a1b8e0c4704d4a7c..19effac16dc9ecb2bd70c28f6bc4686034bd0ea6 100644 --- a/Sim/GiGaMTDD4hep/CMakeLists.txt +++ b/Sim/GiGaMTDD4hep/CMakeLists.txt @@ -8,52 +8,36 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### +#[=======================================================================[.rst: +Sim/GiGaMTDD4hep +---------------- +#]=======================================================================] ################################################################################ # Package: GiGaMTDD4hep # Interfaces to load the detector from the DD4hep geometry service ################################################################################ -gaudi_subdir(GiGaMTDD4hep v1r0) - -gaudi_depends_on_subdirs(GaudiAlg - Sim/GiGaMTFactories - Sim/GiGaMTCore - Sim/SimInterfaces - Sim/GiGaMTGeo - DD4hepDDG4Ext - Det/LbDD4hep) - -find_package(ROOT COMPONENTS Geom Core GenVector Matrix Physics) - -find_package(Boost COMPONENTS system thread filesystem) - -include_directories(SYSTEM ${ROOT_INCLUDE_DIRS}) -AddHepMC3() -AddDD4hepDDG4() - -message(STATUS "ROOTSYS -> ${ROOTSYS}") -set(ENV{ROOTSYS} ${ROOTSYS}) - -if(${Geant4_config_version} VERSION_LESS "10.06") - add_definitions(-DG4MULTITHREADED) - add_definitions(-DG4USE_STD11) +if(USE_DD4HEP) + gaudi_add_library(GiGaMTDD4hepLib + SOURCES + src/Lib/DD4hepCnvSvc.cpp + src/Lib/DD4hepDetectorConstruction.cpp + src/Lib/Utilities.cpp + LINK + PUBLIC + DD4hep::DDCore + DD4hep::DDG4 + Gaussino::GiGaMTFactoriesLib + Gaussino::GiGaMTGeoLib + Gaussino::GiGaMTCoreRunLib + ) + + gaudi_add_module(GiGaMTDD4hep + SOURCES + src/Components/DD4hepCnvSvcConf.cpp + src/Components/DD4hepDetectorConstructionFAC.cpp + LINK + LHCb::LbDD4hepLib # FIXME: [LHCb DEPENDENCY] + Gaussino::GiGaMTDD4hepLib + ) endif() - -find_package(DD4hep REQUIRED CONFIG COMPONENTS DDCore) - -message(STATUS "DD4hepDDG4_INCLUDE_DIRS: ${DD4hepDDG4_INCLUDE_DIRS}") -message(STATUS "DD4hepDDG4_LIBRARIES: ${DD4hepDDG4_LIBRARIES}") - -include_directories(SYSTEM ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${DD4hep_INCLUDE_DIRS} ${DD4hepDDG4_INCLUDE_DIRS}) - -gaudi_add_library(GiGaMTDD4hepLib - src/lib/*.cpp - PUBLIC_HEADERS GiGaMTDD4hep - INCLUDE_DIRS LbDD4hep DD4hep - LINK_LIBRARIES DD4hep ${DD4hep_COMPONENT_LIBRARIES} ROOT GiGaMTCoreRunLib ${DD4hepDDG4_LIBRARIES}) - -add_dependencies(GiGaMTDD4hepLib DD4hepDDG4Ext) - -gaudi_add_module(GiGaMTDD4hep - src/components/*.cpp - LINK_LIBRARIES GiGaMTDD4hepLib GaudiAlgLib) diff --git a/Sim/GiGaMTDD4hep/GiGaMTDD4hep/DD4hepCnvSvc.h b/Sim/GiGaMTDD4hep/include/GiGaMTDD4hep/DD4hepCnvSvc.h similarity index 99% rename from Sim/GiGaMTDD4hep/GiGaMTDD4hep/DD4hepCnvSvc.h rename to Sim/GiGaMTDD4hep/include/GiGaMTDD4hep/DD4hepCnvSvc.h index 875973bb454fbf9e41c4b5b746455620a849b0b6..fa7ff27899996c96242f528e6310e3bd14aefb74 100644 --- a/Sim/GiGaMTDD4hep/GiGaMTDD4hep/DD4hepCnvSvc.h +++ b/Sim/GiGaMTDD4hep/include/GiGaMTDD4hep/DD4hepCnvSvc.h @@ -20,7 +20,7 @@ #include "GaudiKernel/IIncidentSvc.h" #include "GaudiKernel/Service.h" #include "GaudiKernel/Transform3DTypes.h" -#include "Geant4/G4VSensitiveDetector.hh" +#include "G4VSensitiveDetector.hh" #include "GiGaMTFactories/GiGaFactoryBase.h" #include "Kernel/IPropertyConfigSvc.h" diff --git a/Sim/GiGaMTDD4hep/GiGaMTDD4hep/DD4hepDetectorConstruction.h b/Sim/GiGaMTDD4hep/include/GiGaMTDD4hep/DD4hepDetectorConstruction.h similarity index 98% rename from Sim/GiGaMTDD4hep/GiGaMTDD4hep/DD4hepDetectorConstruction.h rename to Sim/GiGaMTDD4hep/include/GiGaMTDD4hep/DD4hepDetectorConstruction.h index 1ed11c6e3bf795c1f741bced7d0395e320277eb4..358c4248aee093e0f004cba8d8e7773e65ae1c90 100644 --- a/Sim/GiGaMTDD4hep/GiGaMTDD4hep/DD4hepDetectorConstruction.h +++ b/Sim/GiGaMTDD4hep/include/GiGaMTDD4hep/DD4hepDetectorConstruction.h @@ -12,7 +12,7 @@ // Geant #include <functional> #include "DD4hep/Printout.h" -#include "Geant4/G4VUserDetectorConstruction.hh" +#include "G4VUserDetectorConstruction.hh" namespace dd4hep { class Detector; diff --git a/Sim/GiGaMTDD4hep/GiGaMTDD4hep/Utilities.h b/Sim/GiGaMTDD4hep/include/GiGaMTDD4hep/Utilities.h similarity index 100% rename from Sim/GiGaMTDD4hep/GiGaMTDD4hep/Utilities.h rename to Sim/GiGaMTDD4hep/include/GiGaMTDD4hep/Utilities.h diff --git a/Sim/GiGaMTDD4hep/src/components/DD4hepCnvSvcConf.cpp b/Sim/GiGaMTDD4hep/src/Components/DD4hepCnvSvcConf.cpp similarity index 100% rename from Sim/GiGaMTDD4hep/src/components/DD4hepCnvSvcConf.cpp rename to Sim/GiGaMTDD4hep/src/Components/DD4hepCnvSvcConf.cpp diff --git a/Sim/GiGaMTDD4hep/src/components/DD4hepDetectorConstructionFAC.cpp b/Sim/GiGaMTDD4hep/src/Components/DD4hepDetectorConstructionFAC.cpp similarity index 98% rename from Sim/GiGaMTDD4hep/src/components/DD4hepDetectorConstructionFAC.cpp rename to Sim/GiGaMTDD4hep/src/Components/DD4hepDetectorConstructionFAC.cpp index 446bed5b47eae22587890af5790855a1ba886810..12b9ead8d254b06f58ead08c867bdee7b6fc45f3 100644 --- a/Sim/GiGaMTDD4hep/src/components/DD4hepDetectorConstructionFAC.cpp +++ b/Sim/GiGaMTDD4hep/src/Components/DD4hepDetectorConstructionFAC.cpp @@ -17,8 +17,8 @@ #include "TSystem.h" // Geant4 -#include "Geant4/G4VUserDetectorConstruction.hh" -#include "Geant4/G4FieldManager.hh" +#include "G4VUserDetectorConstruction.hh" +#include "G4FieldManager.hh" /** @class DD4hepDetectorConstructionFAC SimG4Components/src/DD4hepDetectorConstructionFAC.h DD4hepDetectorConstructionFAC.h * diff --git a/Sim/GiGaMTDD4hep/src/lib/DD4hepCnvSvc.cpp b/Sim/GiGaMTDD4hep/src/Lib/DD4hepCnvSvc.cpp similarity index 98% rename from Sim/GiGaMTDD4hep/src/lib/DD4hepCnvSvc.cpp rename to Sim/GiGaMTDD4hep/src/Lib/DD4hepCnvSvc.cpp index 45dc9e38d30588034985f521a03743e2f6b263cd..5c787802205127c299af7e859ae7c783e178bde3 100644 --- a/Sim/GiGaMTDD4hep/src/lib/DD4hepCnvSvc.cpp +++ b/Sim/GiGaMTDD4hep/src/Lib/DD4hepCnvSvc.cpp @@ -12,7 +12,7 @@ #include "GiGaMTDD4hep/DD4hepCnvSvc.h" // Geant4 -#include "Geant4/G4SDManager.hh" +#include "G4SDManager.hh" #include "TSystem.h" // ============================================================================ @@ -47,13 +47,12 @@ StatusCode DD4hepCnvSvc::initialize() { for ( auto& pp : g4map.volumeManager()->g4Paths ) { debug() << "/"; for ( auto& pv : pp.first ) { debug() << pv->GetName() << "/"; } - debug() << " ID:" << pp.second << endmsg; + debug() << " ID:" << pp.second.volumeID << endmsg; } for ( auto& [dd4hep_volume, g4_volume] : g4map.data().g4Volumes ) { if ( !dd4hep_volume.isValid() || !dd4hep_volume.isSensitive() ) { continue; } auto dd4hep_sensdet_name = dd4hep_volume.sensitiveDetector().name(); debug() << "Active volume '" << dd4hep_volume.name() << "' SensDet: '" << dd4hep_sensdet_name << "'" << endmsg; - if ( dd4hep_volume.isSensitive() ) {} } } diff --git a/Sim/GiGaMTDD4hep/src/lib/DD4hepDetectorConstruction.cpp b/Sim/GiGaMTDD4hep/src/Lib/DD4hepDetectorConstruction.cpp similarity index 97% rename from Sim/GiGaMTDD4hep/src/lib/DD4hepDetectorConstruction.cpp rename to Sim/GiGaMTDD4hep/src/Lib/DD4hepDetectorConstruction.cpp index 34511c0e65b1f6844c4bca63acbed0cb7c8fe28f..f8cd63bfcfc5f9b86866a58fb53055a92ff3abda 100644 --- a/Sim/GiGaMTDD4hep/src/lib/DD4hepDetectorConstruction.cpp +++ b/Sim/GiGaMTDD4hep/src/Lib/DD4hepDetectorConstruction.cpp @@ -17,7 +17,7 @@ #include "DDG4/Geant4Converter.h" #include "DDG4/Geant4Mapping.h" -#include "Geant4/G4VUserDetectorConstruction.hh" +#include "G4VUserDetectorConstruction.hh" DD4hepDetectorConstruction::DD4hepDetectorConstruction( const dd4hep::Detector& detector) diff --git a/Sim/GiGaMTDD4hep/src/lib/Utilities.cpp b/Sim/GiGaMTDD4hep/src/Lib/Utilities.cpp similarity index 100% rename from Sim/GiGaMTDD4hep/src/lib/Utilities.cpp rename to Sim/GiGaMTDD4hep/src/Lib/Utilities.cpp diff --git a/Sim/GiGaMTDebug/CMakeLists.txt b/Sim/GiGaMTDebug/CMakeLists.txt index dc96bd3a6a7b7888fc908683eea39bbfebb6d6b7..765a973b5ce1e7b84f4a723ab3ba648e937a3bf9 100644 --- a/Sim/GiGaMTDebug/CMakeLists.txt +++ b/Sim/GiGaMTDebug/CMakeLists.txt @@ -8,27 +8,16 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -################################################################################ -# Package: GiGaMTDebug -# -# Collection of G4 objects used for debugging -################################################################################# -gaudi_subdir(GiGaMTDebug v1r0) -gaudi_depends_on_subdirs(Sim/GiGaMTCore - Sim/GiGaMTFactories) - -AddHepMC3() -find_package(ROOT COMPONENTS MathCore GenVector) - -FindG4libs(digits_hits event geometry global graphics_reps materials persistency - particles processes run tracking track intercoms physicslists) - -if(${Geant4_config_version} VERSION_LESS "10.06") - add_definitions(-DG4MULTITHREADED) - add_definitions(-DG4USE_STD11) -endif() - +#[=======================================================================[.rst: +Sim/GiGaMTDebug +--------------- +#]=======================================================================] +# ./Sim/GiGaMTDebug/CMakeLists.txt gaudi_add_module(GiGaMTDebug - src/*.cpp - INCLUDE_DIRS GiGaMTFactories - LINK_LIBRARIES GaudiAlgLib GiGaMTCoreTruthLib) + SOURCES + src/Components/DebugStepAction.cpp + src/Components/DebugTrackAction.cpp + LINK + Gaussino::GiGaMTCoreRunLib + Gaussino::GiGaMTFactoriesLib +) diff --git a/Sim/GiGaMTDebug/src/DebugStepAction.cpp b/Sim/GiGaMTDebug/src/Components/DebugStepAction.cpp similarity index 93% rename from Sim/GiGaMTDebug/src/DebugStepAction.cpp rename to Sim/GiGaMTDebug/src/Components/DebugStepAction.cpp index dbeda9e1335f8d95e745b739e6a82ae7563af5aa..c435cbbd2cf110ebdd544297ab2cf9718820772f 100644 --- a/Sim/GiGaMTDebug/src/DebugStepAction.cpp +++ b/Sim/GiGaMTDebug/src/Components/DebugStepAction.cpp @@ -8,8 +8,8 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include "Geant4/G4UserSteppingAction.hh" -#include "Geant4/globals.hh" +#include "G4UserSteppingAction.hh" +#include "globals.hh" namespace Gaussino { @@ -24,10 +24,10 @@ namespace Gaussino }; } -#include "Geant4/G4Event.hh" -#include "Geant4/G4LogicalVolume.hh" -#include "Geant4/G4RunManager.hh" -#include "Geant4/G4Step.hh" +#include "G4Event.hh" +#include "G4LogicalVolume.hh" +#include "G4RunManager.hh" +#include "G4Step.hh" #include "HepMC3/FourVector.h" template <typename T> @@ -73,7 +73,7 @@ void Gaussino::DebugStepAction::UserSteppingAction( const G4Step* step ) #include "GaudiAlg/GaudiTool.h" #include "GiGaMTFactories/GiGaFactoryBase.h" -#include "Geant4/G4UserTrackingAction.hh" +#include "G4UserTrackingAction.hh" class DebugStepActionFAC : public extends<GaudiTool, GiGaFactoryBase<G4UserSteppingAction>> { diff --git a/Sim/GiGaMTDebug/src/DebugTrackAction.cpp b/Sim/GiGaMTDebug/src/Components/DebugTrackAction.cpp similarity index 95% rename from Sim/GiGaMTDebug/src/DebugTrackAction.cpp rename to Sim/GiGaMTDebug/src/Components/DebugTrackAction.cpp index 5d3ce8b25d73d59c7fb82314f529ace9415e116b..c0c706e811b7faadcfff75850f4437168f6858d3 100755 --- a/Sim/GiGaMTDebug/src/DebugTrackAction.cpp +++ b/Sim/GiGaMTDebug/src/Components/DebugTrackAction.cpp @@ -8,8 +8,8 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include "Geant4/G4UserTrackingAction.hh" -#include "Geant4/G4VProcess.hh" +#include "G4UserTrackingAction.hh" +#include "G4VProcess.hh" #include "GiGaMTCoreMessage/IGiGaMessage.h" #include "HepMC3/FourVector.h" @@ -22,19 +22,19 @@ // from Gaudi // G4 -#include "Geant4/G4ParticleDefinition.hh" -#include "Geant4/G4PrimaryParticle.hh" -#include "Geant4/G4TrackingManager.hh" +#include "G4ParticleDefinition.hh" +#include "G4PrimaryParticle.hh" +#include "G4TrackingManager.hh" // Included for vertex types // FIXME: Need to reorganise when splitting LHCb #include "Event/MCVertex.h" // local -#include "GiGaMTCoreTruth/G4TruthParticle.h" -#include "GiGaMTCoreTruth/GaussinoEventInformation.h" -#include "GiGaMTCoreTruth/GaussinoPrimaryParticleInformation.h" -#include "GiGaMTCoreTruth/GaussinoTrackInformation.h" +#include "GiGaMTCoreRun/G4TruthParticle.h" +#include "GiGaMTCoreRun/GaussinoEventInformation.h" +#include "GiGaMTCoreRun/GaussinoPrimaryParticleInformation.h" +#include "GiGaMTCoreRun/GaussinoTrackInformation.h" // namespace LHCb { // class IParticlePropertySvc; @@ -197,7 +197,7 @@ namespace Gaussino #include "GaudiAlg/GaudiTool.h" #include "GiGaMTFactories/GiGaFactoryBase.h" -#include "Geant4/G4UserTrackingAction.hh" +#include "G4UserTrackingAction.hh" class DebugTrackActionFAC : public extends<GaudiTool, GiGaFactoryBase<G4UserTrackingAction>> { diff --git a/Sim/GiGaMTExamples/FCCTest/CMakeLists.txt b/Sim/GiGaMTExamples/FCCTest/CMakeLists.txt index 5f693c59a0d3153384108e8af27a620e501a6ab4..0859f1b9bb6f1903dbc0aef88d13fff05df5c811 100644 --- a/Sim/GiGaMTExamples/FCCTest/CMakeLists.txt +++ b/Sim/GiGaMTExamples/FCCTest/CMakeLists.txt @@ -8,48 +8,39 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### +#[=======================================================================[.rst: +Sim/GiGaMTExamples/FCCTest +-------------------------- +#]=======================================================================] ################################################################################ # Package: FCCTest # Adapted from Gaussino FCC TestGeometry package: https://gitlab.cern.ch/jlingema/Gauss/tree/refactor/ # Original author: Anna Zaborowska # ################################################################################ -gaudi_subdir(FCCTest v1r0) -gaudi_depends_on_subdirs(GaudiKernel - GaudiAlg - Sim/GiGaMTFactories - Sim/GiGaMTCore - Sim/SimInterfaces - Sim/GiGaMTGeo) - -if(${Geant4_config_version} VERSION_LESS "10.06") - add_definitions(-DG4MULTITHREADED) - add_definitions(-DG4USE_STD11) -endif() - -AddHepMC3() - -find_package(XercesC) -#find_package(ROOT) - -#find_package(ROOT COMPONENTS MathCore GenVector Geom RIO Hist REQUIRED) - -#gaudi_install_headers(TestGeometry) - -gaudi_add_library(FCCTest - src/lib/*.cpp - INCLUDE_DIRS Geant4 ROOT XercesC SimInterfaces AIDA - LINK_LIBRARIES GaudiKernel GaudiAlgLib Geant4 ROOT XercesC GiGaMTCoreRunLib - PUBLIC_HEADERS FCCTest) -add_dependencies(FCCTest HepMC3Ext) +gaudi_add_library(FCCTestLib + SOURCES + src/Lib/CalorimeterHit.cpp + src/Lib/CalorimeterSD.cpp + LINK + PUBLIC + Gaussino::GiGaMTCoreRunLib + Gaussino::SimInterfacesLib +) gaudi_add_module(FCCTestPlugins - src/components/*.cpp - INCLUDE_DIRS Geant4 FCCTest GaudiKernel - LINK_LIBRARIES GaudiKernel Geant4 FCCTest ROOT) - -include(CTest) -gaudi_add_test(GeantGdmlWithSD - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} - FRAMEWORK tests/options/geant_fullsim_gdml.py) + SOURCES + src/Components/G4GdmlTestDetector.cpp + src/Components/G4SaveTestCalHits.cpp + LINK + Geant4::G4persistency + Gaussino::FCCTestLib + Gaussino::GiGaMTFactoriesLib +) + +# FIXME: this test is stupid, what does it test? +#gaudi_add_tests(GeantGdmlWithSD +# WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} +# FRAMEWORK tests/options/geant_fullsim_gdml.py +# #) diff --git a/Sim/GiGaMTExamples/FCCTest/FCCTest/CalorimeterHit.h b/Sim/GiGaMTExamples/FCCTest/include/FCCTest/CalorimeterHit.h similarity index 93% rename from Sim/GiGaMTExamples/FCCTest/FCCTest/CalorimeterHit.h rename to Sim/GiGaMTExamples/FCCTest/include/FCCTest/CalorimeterHit.h index 684b5762704e5171eedf4a5fa7a0c88232ca4a3e..5f2d46805504786d735f16c1b9bbcf6bf6448ac9 100644 --- a/Sim/GiGaMTExamples/FCCTest/FCCTest/CalorimeterHit.h +++ b/Sim/GiGaMTExamples/FCCTest/include/FCCTest/CalorimeterHit.h @@ -10,13 +10,13 @@ \*****************************************************************************/ #pragma once -#include "Geant4/G4Allocator.hh" -#include "Geant4/G4LogicalVolume.hh" -#include "Geant4/G4RotationMatrix.hh" -#include "Geant4/G4THitsCollection.hh" -#include "Geant4/G4ThreeVector.hh" -#include "Geant4/G4Transform3D.hh" -#include "Geant4/G4VHit.hh" +#include "G4Allocator.hh" +#include "G4LogicalVolume.hh" +#include "G4RotationMatrix.hh" +#include "G4THitsCollection.hh" +#include "G4ThreeVector.hh" +#include "G4Transform3D.hh" +#include "G4VHit.hh" class G4AttDef; class G4AttValue; diff --git a/Sim/GiGaMTExamples/FCCTest/FCCTest/CalorimeterSD.h b/Sim/GiGaMTExamples/FCCTest/include/FCCTest/CalorimeterSD.h similarity index 93% rename from Sim/GiGaMTExamples/FCCTest/FCCTest/CalorimeterSD.h rename to Sim/GiGaMTExamples/FCCTest/include/FCCTest/CalorimeterSD.h index 77f46344a77fc21460bd02205c109bb95e956db4..f256bef74bfda1e0eb1994c4be7f2b494d74ef5c 100644 --- a/Sim/GiGaMTExamples/FCCTest/FCCTest/CalorimeterSD.h +++ b/Sim/GiGaMTExamples/FCCTest/include/FCCTest/CalorimeterSD.h @@ -11,7 +11,7 @@ #pragma once #include "FCCTest/CalorimeterHit.h" -#include "Geant4/G4VSensitiveDetector.hh" +#include "G4VSensitiveDetector.hh" class G4Step; class G4HCofThisEvent; class G4TouchableHistory; @@ -38,8 +38,8 @@ namespace FCCTest CalorimeterSD( G4String name ); CalorimeterSD( G4String name, G4int aCellNoInAxis ); virtual ~CalorimeterSD(); - virtual void Initialize( G4HCofThisEvent* HCE ); - virtual G4bool ProcessHits( G4Step* aStep, G4TouchableHistory* ROhist ); + virtual void Initialize( G4HCofThisEvent* HCE ) override; + virtual G4bool ProcessHits( G4Step* aStep, G4TouchableHistory* ROhist ) override; private: CalorimeterHitsCollection* fHitsCollection; diff --git a/Sim/GiGaMTExamples/FCCTest/src/components/G4GdmlTestDetector.cpp b/Sim/GiGaMTExamples/FCCTest/src/Components/G4GdmlTestDetector.cpp similarity index 98% rename from Sim/GiGaMTExamples/FCCTest/src/components/G4GdmlTestDetector.cpp rename to Sim/GiGaMTExamples/FCCTest/src/Components/G4GdmlTestDetector.cpp index eb11c50d56cf19e46f1cdc143e966f8cf418bfef..475cbd690811fd9b7d79608e4261055770b7abb0 100644 --- a/Sim/GiGaMTExamples/FCCTest/src/components/G4GdmlTestDetector.cpp +++ b/Sim/GiGaMTExamples/FCCTest/src/Components/G4GdmlTestDetector.cpp @@ -11,7 +11,7 @@ #include "G4GdmlTestDetector.h" #include "FCCTest/CalorimeterSD.h" -#include "Geant4/G4SDManager.hh" +#include "G4SDManager.hh" #include "GiGaMTCoreDet/GdmlDetectorConstruction.h" DECLARE_COMPONENT( G4GdmlTestDetector ) diff --git a/Sim/GiGaMTExamples/FCCTest/src/components/G4GdmlTestDetector.h b/Sim/GiGaMTExamples/FCCTest/src/Components/G4GdmlTestDetector.h similarity index 96% rename from Sim/GiGaMTExamples/FCCTest/src/components/G4GdmlTestDetector.h rename to Sim/GiGaMTExamples/FCCTest/src/Components/G4GdmlTestDetector.h index 442a545eff362afc03e1bd23601c59a650fd0573..2fb290d502ae4b116ca09d3b8a283fa00501996b 100644 --- a/Sim/GiGaMTExamples/FCCTest/src/components/G4GdmlTestDetector.h +++ b/Sim/GiGaMTExamples/FCCTest/src/Components/G4GdmlTestDetector.h @@ -12,7 +12,7 @@ // Gaudi #include "GaudiAlg/GaudiTool.h" -#include "Geant4/G4VUserDetectorConstruction.hh" +#include "G4VUserDetectorConstruction.hh" #include "GiGaMTFactories/GiGaFactoryBase.h" /** @class G4GdmlTestDetector SimG4Components/src/G4GdmlTestDetector.h G4GdmlTestDetector.h diff --git a/Sim/GiGaMTExamples/FCCTest/src/components/G4SaveTestCalHits.cpp b/Sim/GiGaMTExamples/FCCTest/src/Components/G4SaveTestCalHits.cpp similarity index 99% rename from Sim/GiGaMTExamples/FCCTest/src/components/G4SaveTestCalHits.cpp rename to Sim/GiGaMTExamples/FCCTest/src/Components/G4SaveTestCalHits.cpp index 4c538225a1ec2d4d14322a794c8ea1bc54e8a160..36055c1d63cd3b2b79c89d53bb2d155f07a594c1 100644 --- a/Sim/GiGaMTExamples/FCCTest/src/components/G4SaveTestCalHits.cpp +++ b/Sim/GiGaMTExamples/FCCTest/src/Components/G4SaveTestCalHits.cpp @@ -17,7 +17,7 @@ #include "GaudiKernel/ITHistSvc.h" // Geant4 -#include "Geant4/G4Event.hh" +#include "G4Event.hh" DECLARE_COMPONENT( G4SaveTestCalHits ) diff --git a/Sim/GiGaMTExamples/FCCTest/src/components/G4SaveTestCalHits.h b/Sim/GiGaMTExamples/FCCTest/src/Components/G4SaveTestCalHits.h similarity index 100% rename from Sim/GiGaMTExamples/FCCTest/src/components/G4SaveTestCalHits.h rename to Sim/GiGaMTExamples/FCCTest/src/Components/G4SaveTestCalHits.h diff --git a/Sim/GiGaMTExamples/FCCTest/src/lib/CalorimeterHit.cpp b/Sim/GiGaMTExamples/FCCTest/src/Lib/CalorimeterHit.cpp similarity index 91% rename from Sim/GiGaMTExamples/FCCTest/src/lib/CalorimeterHit.cpp rename to Sim/GiGaMTExamples/FCCTest/src/Lib/CalorimeterHit.cpp index 42d22ea442e78c10d3eb45bcdadb6b17e9a195ea..35787b352e3e0b5ee5a5a6806dd68894184e9804 100644 --- a/Sim/GiGaMTExamples/FCCTest/src/lib/CalorimeterHit.cpp +++ b/Sim/GiGaMTExamples/FCCTest/src/Lib/CalorimeterHit.cpp @@ -10,17 +10,17 @@ \*****************************************************************************/ #include "FCCTest/CalorimeterHit.h" -#include "Geant4/G4AttDef.hh" -#include "Geant4/G4AttDefStore.hh" -#include "Geant4/G4AttValue.hh" -#include "Geant4/G4Box.hh" -#include "Geant4/G4Colour.hh" -#include "Geant4/G4SystemOfUnits.hh" -#include "Geant4/G4UIcommand.hh" -#include "Geant4/G4UnitsTable.hh" -#include "Geant4/G4VVisManager.hh" -#include "Geant4/G4VisAttributes.hh" -#include "Geant4/G4ios.hh" +#include "G4AttDef.hh" +#include "G4AttDefStore.hh" +#include "G4AttValue.hh" +#include "G4Box.hh" +#include "G4Colour.hh" +#include "G4SystemOfUnits.hh" +#include "G4UIcommand.hh" +#include "G4UnitsTable.hh" +#include "G4VVisManager.hh" +#include "G4VisAttributes.hh" +#include "G4ios.hh" namespace FCCTest { diff --git a/Sim/GiGaMTExamples/FCCTest/src/lib/CalorimeterSD.cpp b/Sim/GiGaMTExamples/FCCTest/src/Lib/CalorimeterSD.cpp similarity index 94% rename from Sim/GiGaMTExamples/FCCTest/src/lib/CalorimeterSD.cpp rename to Sim/GiGaMTExamples/FCCTest/src/Lib/CalorimeterSD.cpp index c5d8f202b72e37fd32169da46cb925172b8cb9c1..1abb1ede6f1c2449a5a2ac0fe6d0f32aedcc9fb7 100644 --- a/Sim/GiGaMTExamples/FCCTest/src/lib/CalorimeterSD.cpp +++ b/Sim/GiGaMTExamples/FCCTest/src/Lib/CalorimeterSD.cpp @@ -11,12 +11,12 @@ #include "FCCTest/CalorimeterSD.h" #include "FCCTest/CalorimeterHit.h" -#include "Geant4/G4HCofThisEvent.hh" -#include "Geant4/G4SDManager.hh" -#include "Geant4/G4Step.hh" -#include "Geant4/G4TouchableHistory.hh" -#include "Geant4/G4Track.hh" -#include "Geant4/G4VTouchable.hh" +#include "G4HCofThisEvent.hh" +#include "G4SDManager.hh" +#include "G4Step.hh" +#include "G4TouchableHistory.hh" +#include "G4Track.hh" +#include "G4VTouchable.hh" namespace FCCTest { diff --git a/Sim/GiGaMTExamples/IronBox/CMakeLists.txt b/Sim/GiGaMTExamples/IronBox/CMakeLists.txt index 1ba1e5a573bc301cbd0bae4387ec1369b1b1ed06..7b0fc29e4cbdbc3f7517476007850c0784780d5c 100644 --- a/Sim/GiGaMTExamples/IronBox/CMakeLists.txt +++ b/Sim/GiGaMTExamples/IronBox/CMakeLists.txt @@ -8,28 +8,22 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### +#[=======================================================================[.rst: +Sim/GiGaMTExamples/IronBox +-------------------------- +#]=======================================================================] ################################################################################ # Package: GiGaMTExamples/IronBox # All GiGa extensions to create a simple running example to test MT prototype. # Detector is a 1m^3 iron cube in the center. ################################################################################# -gaudi_subdir(IronBox v1r0) - -gaudi_depends_on_subdirs(GaudiAlg - Gen/GenInterfaces - Event/GenEvent - Sim/GiGaMTFactories - Sim/GiGaMTCore - Sim/GiGaMTGeo) -AddHepMC3() -if(${Geant4_config_version} VERSION_LESS "10.06") - add_definitions(-DG4MULTITHREADED) - add_definitions(-DG4USE_STD11) -endif() - - gaudi_add_module(IronBoxExample - src/*.cpp - INCLUDE_DIRS GiGaMTFactories GenInterfaces ${HEPMC3_INCLUDE_DIR} - LINK_LIBRARIES GaudiAlgLib GiGaMTCoreRunLib ${HEPMC3_LIBRARIES} GenEvent) -add_dependencies(IronBoxExample HepMC3Ext) + SOURCES + src/IronBoxGeo.cpp + src/MinimalParticles.cpp + LINK + HepMC::HepMC + Gaussino::GiGaMTCoreRunLib + Gaussino::GiGaMTGeoLib + Gaussino::GenInterfacesLib +) diff --git a/Sim/GiGaMTExamples/IronBox/src/IronBoxGeo.cpp b/Sim/GiGaMTExamples/IronBox/src/IronBoxGeo.cpp index 76e213a9c7bf2b5dc6b528d9287356f16e872332..a6f188ac9c2b59277734d2cdc31e148734a28a65 100755 --- a/Sim/GiGaMTExamples/IronBox/src/IronBoxGeo.cpp +++ b/Sim/GiGaMTExamples/IronBox/src/IronBoxGeo.cpp @@ -8,11 +8,11 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include "Geant4/G4Box.hh" -#include "Geant4/G4LogicalVolume.hh" -#include "Geant4/G4NistManager.hh" -#include "Geant4/G4PVPlacement.hh" -#include "Geant4/G4SystemOfUnits.hh" +#include "G4Box.hh" +#include "G4LogicalVolume.hh" +#include "G4NistManager.hh" +#include "G4PVPlacement.hh" +#include "G4SystemOfUnits.hh" // local #include "IronBoxGeo.h" diff --git a/Sim/GiGaMTExamples/LHCbFromGDML/CMakeLists.txt b/Sim/GiGaMTExamples/LHCbFromGDML/CMakeLists.txt index 25b799ca846e48dba10e55ad450c76fb2b9004e9..2542bb82350b6d0d0a13895894604123039c27d4 100644 --- a/Sim/GiGaMTExamples/LHCbFromGDML/CMakeLists.txt +++ b/Sim/GiGaMTExamples/LHCbFromGDML/CMakeLists.txt @@ -8,6 +8,10 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### +#[=======================================================================[.rst: +Sim/GiGaMTExamples/LHCbFromGDML +------------------------------- +#]=======================================================================] ################################################################################ # Package: LHCbFromGDML # Simple setup to add the frozen LHCb geometry from a GDML file to Gaussino. @@ -15,18 +19,13 @@ # Author: Dominik Muller, GDML file from Ben Couturier # ################################################################################ -gaudi_subdir(LHCbFromGDML v1r0) - -gaudi_depends_on_subdirs(GaudiKernel - GaudiAlg - HepMC3 - HepMCUser - Gen/GenInterfaces) - -AddHepMC3() - gaudi_add_module(LHCbFromGDML - src/*.cpp - INCLUDE_DIRS GenInterfaces ${HEPMC3_INCLUDE_DIR} HepMCUser - LINK_LIBRARIES GaudiAlgLib ${HEPMC3_LIBRARIES} GenEvent) -add_dependencies(LHCbFromGDML HepMC3Ext) + SOURCES + src/MinimalStableInLHCb.cpp + LINK + HepMC3::HepMC3 + Gaudi::GaudiAlgLib + LHCb::GenEvent # TODO: [LHCb DEPENDENCY] + Gaussino::GenInterfacesLib + Gaussino::HepMCUserLib +) diff --git a/Sim/GiGaMTFactories/CMakeLists.txt b/Sim/GiGaMTFactories/CMakeLists.txt index e2fb57e2aa3f57f6fd63305aa11d545658eef443..c5a4f4bbf7e686848dd985f2d022868fc1fb2713 100644 --- a/Sim/GiGaMTFactories/CMakeLists.txt +++ b/Sim/GiGaMTFactories/CMakeLists.txt @@ -18,44 +18,100 @@ # FIXME: This requirement should probably be enforced somehow... # ################################################################################# -gaudi_subdir(GiGaMTFactories v1r0) +#[=======================================================================[.rst: +Sim/GiGaMTFactories +--------------------------- +#]=======================================================================] -gaudi_depends_on_subdirs(GaudiAlg - Sim/GiGaMTCore - Sim/SimInterfaces - HepMC3 - Sim/GiGaMTGeo) +gaudi_add_header_only_library(GiGaMTFactoriesLib + LINK + Gaudi::GaudiKernel +) -if(${Geant4_config_version} VERSION_LESS "10.06") - add_definitions(-DG4MULTITHREADED) - add_definitions(-DG4USE_STD11) -endif() - -AddHepMC3() -# GigaMTCoreLib should pull in all the dependencies on Geant 4 etc gaudi_add_module(GiGaMTRunFactories - src/run/*.cpp - LINK_LIBRARIES GiGaMTCoreRunLib GaudiAlgLib) + SOURCES + src/Components/GiGaMTRunManagerFAC.cpp + src/Components/GiGaRunActionCommandFAC.cpp + src/Components/GiGaWorkerPilotFAC.cpp + LINK + HepMC3::HepMC3 + Gaussino::GiGaMTFactoriesLib + Gaussino::GiGaMTCoreRunLib +) + +gaudi_add_header_only_library(GiGaMTPhysFactoriesLib) + gaudi_add_module(GiGaMTPhysFactories - src/phys/*.cpp - LINK_LIBRARIES GiGaMTCoreRunLib GaudiAlgLib) + SOURCES + src/Components/GiGaMTModularPhysListFAC.cpp + src/Components/GiGaMTG4PhysicsConstrFAC.cpp + src/Components/GiGaMTG4PhysicsFactory.cpp + LINK + CLHEP::CLHEP + Geant4::G4run + Geant4::G4physicslists + Gaudi::GaudiAlgLib + Gaussino::GiGaMTFactoriesLib + Gaussino::GiGaMTCoreMessageLib +) + +gaudi_add_header_only_library(GiGaMTDetFactoriesLib) + gaudi_add_module(GiGaMTDetFactories - src/det/*.cpp - INCLUDE_DIRS SimInterfaces - LINK_LIBRARIES GiGaMTCoreRunLib GaudiAlgLib) + SOURCES + src/Components/GiGaMTDetectorConstructionFAC.cpp + src/Components/GDMLConstructionFactory.cpp + LINK + CLHEP::Vector + Geant4::G4digits_hits + Geant4::G4geometry + Geant4::G4global + Geant4::G4persistency + Geant4::G4run + Gaudi::GaudiAlgLib + XercesC::XercesC + Gaussino::UtilsLib + Gaussino::GiGaMTCoreDetLib + Gaussino::GiGaMTFactoriesLib + Gaussino::GiGaMTGeoLib + Gaussino::SimInterfacesLib +) gaudi_add_module(GiGaMTTruthFactories - src/truth/*.cpp - LINK_LIBRARIES GiGaMTCoreTruthLib GaudiAlgLib) + SOURCES + src/Components/TruthActionFactories.cpp + LINK + Gaussino::GiGaMTFactoriesLib + Gaussino::GiGaMTCoreMessageLib + Gaussino::GiGaMTCoreRunLib +) gaudi_add_library(GiGaMTMagnetFactoriesLib - src/magnet/lib/*.cpp - PUBLIC_HEADERS GiGaMTFactories - LINK_LIBRARIES GiGaMTCoreRunLib GaudiAlgLib GaudiKernel) + SOURCES + src/Lib/FieldMgrBase.cpp + LINK + PUBLIC + CLHEP::CLHEP + Geant4::G4geometry + Gaudi::GaudiKernel + Gaudi::GaudiAlgLib + Gaussino::GiGaMTCoreMessageLib +) + +# Workaround for unresolved symbol +if(CMAKE_BUILD_TYPE STREQUAL "Release") + set_source_files_properties(src/Lib/FieldMgrBase.cpp PROPERTIES COMPILE_OPTIONS "-O2") +endif() gaudi_add_module(GiGaMTMagnetFactories - src/magnet/components/*.cpp - LINK_LIBRARIES GiGaMTMagnetFactoriesLib) + SOURCES + src/Components/MagFieldFromSvc.cpp + src/Components/Steppers.cpp + src/Components/ToolFieldMgr.cpp + src/Components/ZeroFieldMgr.cpp + LINK + Gaussino::GiGaMTMagnetFactoriesLib +) diff --git a/Sim/GiGaMTFactories/GiGaMTFactories/GiGaMTG4SensDetFactory.h b/Sim/GiGaMTFactories/include/GiGaMTDetFactories/GiGaMTG4SensDetFactory.h similarity index 98% rename from Sim/GiGaMTFactories/GiGaMTFactories/GiGaMTG4SensDetFactory.h rename to Sim/GiGaMTFactories/include/GiGaMTDetFactories/GiGaMTG4SensDetFactory.h index 10a3314270deb220095a3443756aea1510630273..8c06330ebffaf9b1814e61257a78936e3297817a 100755 --- a/Sim/GiGaMTFactories/GiGaMTFactories/GiGaMTG4SensDetFactory.h +++ b/Sim/GiGaMTFactories/include/GiGaMTDetFactories/GiGaMTG4SensDetFactory.h @@ -11,7 +11,7 @@ #pragma once // Include files -#include "Geant4/G4VSensitiveDetector.hh" +#include "G4VSensitiveDetector.hh" #include "GiGaMTFactories/GiGaFactoryBase.h" #include "GiGaMTFactories/GiGaTool.h" diff --git a/Sim/GiGaMTFactories/GiGaMTFactories/GiGaFactoryBase.h b/Sim/GiGaMTFactories/include/GiGaMTFactories/GiGaFactoryBase.h similarity index 100% rename from Sim/GiGaMTFactories/GiGaMTFactories/GiGaFactoryBase.h rename to Sim/GiGaMTFactories/include/GiGaMTFactories/GiGaFactoryBase.h diff --git a/Sim/GiGaMTFactories/GiGaMTFactories/GiGaTool.h b/Sim/GiGaMTFactories/include/GiGaMTFactories/GiGaTool.h similarity index 100% rename from Sim/GiGaMTFactories/GiGaMTFactories/GiGaTool.h rename to Sim/GiGaMTFactories/include/GiGaMTFactories/GiGaTool.h diff --git a/Sim/GiGaMTFactories/GiGaMTFactories/Magnet/FieldMgrBase.h b/Sim/GiGaMTFactories/include/GiGaMTMagnetFactories/FieldMgrBase.h similarity index 94% rename from Sim/GiGaMTFactories/GiGaMTFactories/Magnet/FieldMgrBase.h rename to Sim/GiGaMTFactories/include/GiGaMTMagnetFactories/FieldMgrBase.h index dfdd37dc41f91d1ebeb2a5b283351ef02bb25c0d..cd3b01c33e14c787d6fbef2aa0797593aa04e4d1 100755 --- a/Sim/GiGaMTFactories/GiGaMTFactories/Magnet/FieldMgrBase.h +++ b/Sim/GiGaMTFactories/include/GiGaMTMagnetFactories/FieldMgrBase.h @@ -13,10 +13,10 @@ // Include files #include "CLHEP/Units/SystemOfUnits.h" #include "GaudiKernel/ToolHandle.h" -#include "Geant4/G4Mag_EqRhs.hh" -#include "Geant4/G4FieldManager.hh" -#include "Geant4/G4MagIntegratorStepper.hh" -#include "Geant4/G4MagneticField.hh" +#include "G4Mag_EqRhs.hh" +#include "G4FieldManager.hh" +#include "G4MagIntegratorStepper.hh" +#include "G4MagneticField.hh" #include "GiGaMTFactories/GiGaFactoryBase.h" #include "GiGaMTFactories/GiGaTool.h" diff --git a/Sim/GiGaMTFactories/GiGaMTFactories/GiGaMTG4PhysicsConstrFAC.h b/Sim/GiGaMTFactories/include/GiGaMTPhysFactories/GiGaMTG4PhysicsConstrFAC.h similarity index 96% rename from Sim/GiGaMTFactories/GiGaMTFactories/GiGaMTG4PhysicsConstrFAC.h rename to Sim/GiGaMTFactories/include/GiGaMTPhysFactories/GiGaMTG4PhysicsConstrFAC.h index b54461d3e8f28fbf42ed7a2d2a87c7d44d535840..576ec75199e31716a20b16565295845ec62c4f8c 100755 --- a/Sim/GiGaMTFactories/GiGaMTFactories/GiGaMTG4PhysicsConstrFAC.h +++ b/Sim/GiGaMTFactories/include/GiGaMTPhysFactories/GiGaMTG4PhysicsConstrFAC.h @@ -12,8 +12,8 @@ // Include files #include "GiGaMTFactories/GiGaTool.h" -#include "Geant4/G4EmStandardPhysics_option1.hh" -#include "Geant4/G4VPhysicsConstructor.hh" +#include "G4EmStandardPhysics_option1.hh" +#include "G4VPhysicsConstructor.hh" #include "GiGaMTFactories/GiGaFactoryBase.h" /** GiGaMTPhysConstr diff --git a/Sim/GiGaMTFactories/GiGaMTFactories/GiGaMTG4PhysicsFactory.h b/Sim/GiGaMTFactories/include/GiGaMTPhysFactories/GiGaMTG4PhysicsFactory.h similarity index 97% rename from Sim/GiGaMTFactories/GiGaMTFactories/GiGaMTG4PhysicsFactory.h rename to Sim/GiGaMTFactories/include/GiGaMTPhysFactories/GiGaMTG4PhysicsFactory.h index cb9bf96c623e27177540494be7f331d89ea21b19..479a98052f77a1449ec69215036e8dbb49483d5a 100755 --- a/Sim/GiGaMTFactories/GiGaMTFactories/GiGaMTG4PhysicsFactory.h +++ b/Sim/GiGaMTFactories/include/GiGaMTPhysFactories/GiGaMTG4PhysicsFactory.h @@ -10,7 +10,7 @@ \*****************************************************************************/ #pragma once -#include "Geant4/G4VUserPhysicsList.hh" +#include "G4VUserPhysicsList.hh" #include "GiGaMTFactories/GiGaFactoryBase.h" #include "GaudiAlg/GaudiTool.h" diff --git a/Sim/GiGaMTFactories/src/det/GDMLConstructionFactory.cpp b/Sim/GiGaMTFactories/src/Components/GDMLConstructionFactory.cpp similarity index 100% rename from Sim/GiGaMTFactories/src/det/GDMLConstructionFactory.cpp rename to Sim/GiGaMTFactories/src/Components/GDMLConstructionFactory.cpp diff --git a/Sim/GiGaMTFactories/src/det/GDMLConstructionFactory.h b/Sim/GiGaMTFactories/src/Components/GDMLConstructionFactory.h similarity index 96% rename from Sim/GiGaMTFactories/src/det/GDMLConstructionFactory.h rename to Sim/GiGaMTFactories/src/Components/GDMLConstructionFactory.h index 0efc28c0772924e45625abc5643f577f560c7f88..ff203c77fed4284d7501549e9ea9dc8495ad81d2 100644 --- a/Sim/GiGaMTFactories/src/det/GDMLConstructionFactory.h +++ b/Sim/GiGaMTFactories/src/Components/GDMLConstructionFactory.h @@ -12,7 +12,7 @@ // Gaudi #include "GaudiAlg/GaudiTool.h" -#include "Geant4/G4VUserDetectorConstruction.hh" +#include "G4VUserDetectorConstruction.hh" #include "GiGaMTFactories/GiGaFactoryBase.h" /** @class GDMLConstructionFactory SimG4Components/src/GDMLConstructionFactory.h GDMLConstructionFactory.h diff --git a/Sim/GiGaMTFactories/src/det/GiGaMTDetectorConstructionFAC.cpp b/Sim/GiGaMTFactories/src/Components/GiGaMTDetectorConstructionFAC.cpp similarity index 76% rename from Sim/GiGaMTFactories/src/det/GiGaMTDetectorConstructionFAC.cpp rename to Sim/GiGaMTFactories/src/Components/GiGaMTDetectorConstructionFAC.cpp index 83126223b44746bcdad6a3a1417459b9b5398b9b..6477f4049b4c63d0a283fb4d78dd6733b2c23c1b 100644 --- a/Sim/GiGaMTFactories/src/det/GiGaMTDetectorConstructionFAC.cpp +++ b/Sim/GiGaMTFactories/src/Components/GiGaMTDetectorConstructionFAC.cpp @@ -11,6 +11,7 @@ #include "GiGaMTDetectorConstructionFAC.h" #include "GiGaMTCoreDet/GiGaMTDetectorConstruction.h" #include "GiGaMTCoreDet/IExternalDetectorEmbedder.h" +#include "GiGaMTGeo/IGDMLReader.h" #include "GiGaMTGeo/IGiGaMTGeoSvc.h" #include "SimInterfaces/IGaussinoTool.h" #include <filesystem> @@ -60,9 +61,21 @@ G4VUserDetectorConstruction* GiGaMTDetectorConstructionFAC::construct() const { auto world = m_geoSvc->constructWorld(); for ( auto& tool : m_afterGeo ) { tool->process().ignore(); } + // Import GDML geometry + debug() << "Setting up volumes from GDML in mass geometry" << endmsg; + for ( auto& reader : m_gdml_readers ) { + if ( reader->import( world ).isFailure() ) { + throw GaudiException( "Failed to import the GDML geometry", "GDMLReader", StatusCode::FAILURE ); + } + } + // Import external geometry debug() << "Setting up external embedder volumes in mass geometry" << endmsg; - for ( auto& embedder : m_ext_dets ) { embedder->embed( world ).ignore(); } + for ( auto& embedder : m_ext_dets ) { + if ( embedder->embed( world ).isFailure() ) { + throw GaudiException( "Failed to embed external geometry", "ExternalGeometry", StatusCode::FAILURE ); + } + } return world; } ); @@ -72,9 +85,15 @@ G4VUserDetectorConstruction* GiGaMTDetectorConstructionFAC::construct() const { // Import external SD debug() << "Setting up external embedder SD in mass geometry" << endmsg; - for ( auto& embedder : m_ext_dets ) { embedder->embedSD().ignore(); } + for ( auto& embedder : m_ext_dets ) { + if ( embedder->embedSD().isFailure() ) { + throw GaudiException( "Failed to embed external sensitive detectors", "ExternalGeometry", StatusCode::FAILURE ); + } + } - DressVolumes(); + if ( DressVolumes().isFailure() ) { + throw GaudiException( "Failed to attach sensitive detector classes", "DressVolumes", StatusCode::FAILURE ); + } } ); // Setup parallel worlds @@ -87,10 +106,10 @@ G4VUserDetectorConstruction* GiGaMTDetectorConstructionFAC::construct() const { return detconst; } -#include "Geant4/G4LogicalVolumeStore.hh" -#include "Geant4/G4SDManager.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4SDManager.hh" -void GiGaMTDetectorConstructionFAC::DressVolumes() const { +StatusCode GiGaMTDetectorConstructionFAC::DressVolumes() const { auto sdmanager = G4SDManager::GetSDMpointer(); for ( auto& [name, volumes] : m_namemap ) { auto& tool = m_sens_dets.at( name ); @@ -103,12 +122,14 @@ void GiGaMTDetectorConstructionFAC::DressVolumes() const { vol->SetSensitiveDetector( sensdet ); } else { error() << "Couldn't find " << volname << endmsg; + return StatusCode::FAILURE; } } } + return StatusCode::SUCCESS; } -#include "Geant4/G4GDMLParser.hh" +#include "G4GDMLParser.hh" StatusCode GiGaMTDetectorConstructionFAC::SaveGDML() const { try { @@ -116,7 +137,11 @@ StatusCode GiGaMTDetectorConstructionFAC::SaveGDML() const { g4writer.SetSDExport( m_exportSD.value() ); g4writer.SetEnergyCutsExport( m_exportEnergyCuts.value() ); G4LogicalVolume* world = nullptr; - g4writer.Write( m_outfile.value(), world, m_refs.value(), m_schema.value() ); + if ( !m_schema.value().empty() ) { + g4writer.Write( m_outfile.value(), world, m_refs.value(), m_schema.value() ); + } else { + g4writer.Write( m_outfile.value(), world, m_refs.value() ); + } } catch ( std::exception& err ) { error() << "Caught an exception while writing a GDML file: " << err.what() << endmsg; return StatusCode::FAILURE; diff --git a/Sim/GiGaMTFactories/src/det/GiGaMTDetectorConstructionFAC.h b/Sim/GiGaMTFactories/src/Components/GiGaMTDetectorConstructionFAC.h similarity index 89% rename from Sim/GiGaMTFactories/src/det/GiGaMTDetectorConstructionFAC.h rename to Sim/GiGaMTFactories/src/Components/GiGaMTDetectorConstructionFAC.h index ed0b4e157490acf9d9e1a08cda81ee224f6a877c..ae8fec0bb24eaa6abb13a338b90e93af50d806f5 100644 --- a/Sim/GiGaMTFactories/src/det/GiGaMTDetectorConstructionFAC.h +++ b/Sim/GiGaMTFactories/src/Components/GiGaMTDetectorConstructionFAC.h @@ -8,7 +8,7 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include "Geant4/G4VUserDetectorConstruction.hh" +#include "G4VUserDetectorConstruction.hh" #include "GiGaMTFactories/GiGaFactoryBase.h" #include "GiGaMTFactories/GiGaTool.h" @@ -20,6 +20,7 @@ class IGiGaMTGeoSvc; class IGaussinoTool; class G4Material; class G4VUserParallelWorld; +class IGDMLReader; namespace ExternalDetector { class IEmbedder; @@ -42,7 +43,7 @@ protected: typedef ToolHandle<GiGaFactoryBase<G4VSensitiveDetector>> SensDetFac; typedef std::map<std::string, SensDetFac> SensDetVolumeMap; - void DressVolumes() const; + StatusCode DressVolumes() const; StatusCode SaveGDML() const; ServiceHandle<IGiGaMTGeoSvc> m_geoSvc{this, "GiGaMTGeoSvc", "GiGaMTGeo"}; ToolHandleArray<IGaussinoTool> m_afterGeo{this}; @@ -63,7 +64,7 @@ private: Gaudi::Details::Property::ImmediatelyInvokeHandler{true}}; // GDML Export - Gaudi::Property<std::string> m_schema{this, "GDMLSchema", "$GDML_base/src/GDMLSchema/gdml.xsd"}; + Gaudi::Property<std::string> m_schema{this, "GDMLSchema", ""}; Gaudi::Property<bool> m_refs{this, "GDMLAddReferences", true}; Gaudi::Property<std::string> m_outfile{this, "GDMLFileName", ""}; Gaudi::Property<bool> m_outfileOverwrite{this, "GDMLFileNameOverwrite", false, @@ -72,6 +73,15 @@ private: Gaudi::Property<bool> m_exportSD{this, "GDMLExportSD", false}; Gaudi::Property<bool> m_exportEnergyCuts{this, "GDMLExportEnergyCuts", false}; + // GDML Import + ToolHandleArray<IGDMLReader> m_gdml_readers{this}; + using GDMLReaders = std::vector<std::string>; + Gaudi::Property<GDMLReaders> m_gdml_readers_names{this, + "GDMLReaders", + {}, + tool_array_setter( m_gdml_readers, m_gdml_readers_names ), + Gaudi::Details::Property::ImmediatelyInvokeHandler{true}}; + SensDetVolumeMap m_sens_dets; Gaudi::Property<SensDetNameVolumesMap> m_namemap{this, "SensDetVolumeMap", diff --git a/Sim/GiGaMTFactories/src/phys/GiGaMTG4PhysicsConstrFAC.cpp b/Sim/GiGaMTFactories/src/Components/GiGaMTG4PhysicsConstrFAC.cpp similarity index 70% rename from Sim/GiGaMTFactories/src/phys/GiGaMTG4PhysicsConstrFAC.cpp rename to Sim/GiGaMTFactories/src/Components/GiGaMTG4PhysicsConstrFAC.cpp index 05e0ed406b8f8435772078542db95ed6ce2d3396..2396111aceea9b73fe9bf38a69f6c6144836a314 100644 --- a/Sim/GiGaMTFactories/src/phys/GiGaMTG4PhysicsConstrFAC.cpp +++ b/Sim/GiGaMTFactories/src/Components/GiGaMTG4PhysicsConstrFAC.cpp @@ -10,32 +10,35 @@ \*****************************************************************************/ // Include files -#include "GiGaMTFactories/GiGaMTG4PhysicsConstrFAC.h" +#include "GiGaMTPhysFactories/GiGaMTG4PhysicsConstrFAC.h" // Geant4 physics lists -#include "Geant4/G4DecayPhysics.hh" +#include "G4DecayPhysics.hh" // EM physics -#include "Geant4/G4EmExtraPhysics.hh" -#include "Geant4/G4EmStandardPhysics.hh" -#include "Geant4/G4EmStandardPhysics_option1.hh" -#include "Geant4/G4EmStandardPhysics_option2.hh" -#include "Geant4/G4EmStandardPhysics_option3.hh" +#include "G4EmExtraPhysics.hh" +#include "G4EmStandardPhysics.hh" +#include "G4EmStandardPhysics_option1.hh" +#include "G4EmStandardPhysics_option2.hh" +#include "G4EmStandardPhysics_option3.hh" // Ion and hadrons -#include "Geant4/G4HadronElasticPhysics.hh" -#include "Geant4/G4HadronElasticPhysicsHP.hh" -#include "Geant4/G4IonPhysics.hh" -#include "Geant4/G4NeutronTrackingCut.hh" -#include "Geant4/G4StoppingPhysics.hh" +#include "G4HadronElasticPhysics.hh" +#include "G4HadronElasticPhysicsHP.hh" +#include "G4IonPhysics.hh" +#include "G4NeutronTrackingCut.hh" +#include "G4StoppingPhysics.hh" -#include "Geant4/G4HadronPhysicsQGSP_BERT.hh" -#include "Geant4/G4HadronPhysicsQGSP_BERT_HP.hh" -#include "Geant4/G4HadronPhysicsQGSP_FTFP_BERT.hh" +#include "G4HadronPhysicsQGSP_BERT.hh" +#include "G4HadronPhysicsQGSP_BERT_HP.hh" +#include "G4HadronPhysicsQGSP_FTFP_BERT.hh" // FTFP hadrons -#include "Geant4/G4HadronPhysicsFTFP_BERT.hh" -#include "Geant4/G4HadronPhysicsFTFP_BERT_HP.hh" +#include "G4HadronPhysicsFTFP_BERT.hh" +#include "G4HadronPhysicsFTFP_BERT_HP.hh" + +// Optical physics +#include "G4OpticalPhysics.hh" typedef GiGaMTG4PhysicsConstrFAC<G4DecayPhysics> GiGaMT_G4DecayPhysics; DECLARE_COMPONENT_WITH_ID( GiGaMT_G4DecayPhysics, "GiGaMT_G4DecayPhysics" ) @@ -55,18 +58,15 @@ typedef GiGaMTG4PhysicsConstrFAC<G4IonPhysics> GiGaMT_G4IonPhysics; DECLARE_COMPONENT_WITH_ID( GiGaMT_G4IonPhysics, "GiGaMT_G4IonPhysics" ) template <typename PhysConstr> -class GiGaMTG4PhysicsConstrFAC<PhysConstr, - typename std::enable_if<std::is_same<PhysConstr, G4StoppingPhysics>::value, - PhysConstr>::type> - : public extends<GiGaMTPhysConstr, GiGaFactoryBase<G4VPhysicsConstructor>> -{ - Gaudi::Property<bool> m_useMuonMinusCapturetool{this, "UseMuonMinusCapture", true, - "Parameter 'UseMuonMinusCapture' for the constructor of G4StoppingPhysics"}; +class GiGaMTG4PhysicsConstrFAC< + PhysConstr, typename std::enable_if<std::is_same<PhysConstr, G4StoppingPhysics>::value, PhysConstr>::type> + : public extends<GiGaMTPhysConstr, GiGaFactoryBase<G4VPhysicsConstructor>> { + Gaudi::Property<bool> m_useMuonMinusCapturetool{ + this, "UseMuonMinusCapture", true, "Parameter 'UseMuonMinusCapture' for the constructor of G4StoppingPhysics"}; public: using extends::extends; - PhysConstr* construct() const override - { + PhysConstr* construct() const override { auto tmp = new PhysConstr{name(), verbosity(), m_useMuonMinusCapturetool.value()}; return tmp; } @@ -82,22 +82,20 @@ DECLARE_COMPONENT_WITH_ID( GiGaMT_G4NeutronTrackingCut, "GiGaMT_G4NeutronTrackin // Specialization for those HadronPhysics lists with quasi elastic option template <typename PhysConstr> -class GiGaMTG4PhysicsConstrFAC<PhysConstr, - typename std::enable_if<std::is_same<PhysConstr, G4HadronPhysicsQGSP_BERT>::value || - std::is_same<PhysConstr, G4HadronPhysicsQGSP_BERT_HP>::value || - std::is_same<PhysConstr, G4HadronPhysicsQGSP_FTFP_BERT>::value || - std::is_same<PhysConstr, G4HadronPhysicsFTFP_BERT>::value || - std::is_same<PhysConstr, G4HadronPhysicsFTFP_BERT_HP>::value, - PhysConstr>::type> - : public extends<GiGaMTPhysConstr, GiGaFactoryBase<G4VPhysicsConstructor>> -{ +class GiGaMTG4PhysicsConstrFAC< + PhysConstr, typename std::enable_if<std::is_same<PhysConstr, G4HadronPhysicsQGSP_BERT>::value || + std::is_same<PhysConstr, G4HadronPhysicsQGSP_BERT_HP>::value || + std::is_same<PhysConstr, G4HadronPhysicsQGSP_FTFP_BERT>::value || + std::is_same<PhysConstr, G4HadronPhysicsFTFP_BERT>::value || + std::is_same<PhysConstr, G4HadronPhysicsFTFP_BERT_HP>::value, + PhysConstr>::type> + : public extends<GiGaMTPhysConstr, GiGaFactoryBase<G4VPhysicsConstructor>> { Gaudi::Property<bool> m_quasiElastic{this, "QuasiElastic", true, "Parameter 'quasiElastic' for the constructor of HadronPhysicsQGSP_BERT"}; public: using extends::extends; - PhysConstr* construct() const override - { + PhysConstr* construct() const override { auto tmp = new PhysConstr{name(), m_quasiElastic.value()}; tmp->SetVerboseLevel( verbosity() ); return tmp; @@ -117,3 +115,7 @@ DECLARE_COMPONENT_WITH_ID( GiGaMT_G4HadronPhysicsFTFP_BERT_HP, "GiGaMT_G4HadronP typedef GiGaMTG4PhysicsConstrFAC<G4NeutronTrackingCut> GiGaMT_G4NeutronTrackingCut; DECLARE_COMPONENT_WITH_ID( GiGaMT_G4NeutronTrackingCut, "GiGaMT_G4NeutronTrackingCut" ) + +// Cerenkov and Optical physics +typedef GiGaMTG4PhysicsConstrFAC<G4OpticalPhysics> GiGaMT_G4OpticalPhysics; +DECLARE_COMPONENT_WITH_ID( GiGaMT_G4OpticalPhysics, "GiGaMT_G4OpticalPhysics" ) diff --git a/Sim/GiGaMTFactories/src/phys/GiGaMTG4PhysicsFactory.cpp b/Sim/GiGaMTFactories/src/Components/GiGaMTG4PhysicsFactory.cpp similarity index 84% rename from Sim/GiGaMTFactories/src/phys/GiGaMTG4PhysicsFactory.cpp rename to Sim/GiGaMTFactories/src/Components/GiGaMTG4PhysicsFactory.cpp index 70bda93e3981657291f7de939c6db18169a26879..6f335415358e57503a6317cd6909e73a55960597 100644 --- a/Sim/GiGaMTFactories/src/phys/GiGaMTG4PhysicsFactory.cpp +++ b/Sim/GiGaMTFactories/src/Components/GiGaMTG4PhysicsFactory.cpp @@ -8,33 +8,33 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include "GiGaMTFactories/GiGaMTG4PhysicsFactory.h" +#include "GiGaMTPhysFactories/GiGaMTG4PhysicsFactory.h" // All includes I could find that definethe physics lists // that are directly provided by Geant4 -#include "Geant4/FTFP_BERT.hh" -#include "Geant4/FTFP_BERT_ATL.hh" -#include "Geant4/FTFP_BERT_HP.hh" -#include "Geant4/FTFP_BERT_TRV.hh" -#include "Geant4/FTFP_INCLXX.hh" -#include "Geant4/FTFP_INCLXX_HP.hh" -#include "Geant4/FTFQGSP_BERT.hh" -#include "Geant4/FTF_BIC.hh" -#include "Geant4/INCLXXPhysicsListHelper.hh" -#include "Geant4/LBE.hh" -#include "Geant4/NuBeam.hh" -#include "Geant4/QGSP_BERT.hh" -#include "Geant4/QGSP_BERT_HP.hh" -#include "Geant4/QGSP_BIC.hh" -#include "Geant4/QGSP_BIC_AllHP.hh" -#include "Geant4/QGSP_BIC_HP.hh" -#include "Geant4/QGSP_FTFP_BERT.hh" -#include "Geant4/QGSP_INCLXX.hh" -#include "Geant4/QGSP_INCLXX_HP.hh" -#include "Geant4/QGS_BIC.hh" -#include "Geant4/Shielding.hh" -#include "Geant4/ShieldingLEND.hh" +#include "FTFP_BERT.hh" +#include "FTFP_BERT_ATL.hh" +#include "FTFP_BERT_HP.hh" +#include "FTFP_BERT_TRV.hh" +#include "FTFP_INCLXX.hh" +#include "FTFP_INCLXX_HP.hh" +#include "FTFQGSP_BERT.hh" +#include "FTF_BIC.hh" +#include "INCLXXPhysicsListHelper.hh" +#include "LBE.hh" +#include "NuBeam.hh" +#include "QGSP_BERT.hh" +#include "QGSP_BERT_HP.hh" +#include "QGSP_BIC.hh" +#include "QGSP_BIC_AllHP.hh" +#include "QGSP_BIC_HP.hh" +#include "QGSP_FTFP_BERT.hh" +#include "QGSP_INCLXX.hh" +#include "QGSP_INCLXX_HP.hh" +#include "QGS_BIC.hh" +#include "Shielding.hh" +#include "ShieldingLEND.hh" typedef GiGaMTG4PhysicsFactory<FTFP_BERT> GiGaMT_FTFP_BERT; DECLARE_COMPONENT_WITH_ID( GiGaMT_FTFP_BERT, "GiGaMT_FTFP_BERT" ) diff --git a/Sim/GiGaMTFactories/src/phys/GiGaMTModularPhysListFAC.cpp b/Sim/GiGaMTFactories/src/Components/GiGaMTModularPhysListFAC.cpp similarity index 98% rename from Sim/GiGaMTFactories/src/phys/GiGaMTModularPhysListFAC.cpp rename to Sim/GiGaMTFactories/src/Components/GiGaMTModularPhysListFAC.cpp index 0774d46ed19b53215cc2a59e3013fba462338aef..825b92f0acb7d555887ba63e168b30f3d599aa89 100755 --- a/Sim/GiGaMTFactories/src/phys/GiGaMTModularPhysListFAC.cpp +++ b/Sim/GiGaMTFactories/src/Components/GiGaMTModularPhysListFAC.cpp @@ -9,7 +9,7 @@ * or submit itself to any jurisdiction. * \*****************************************************************************/ #include "GiGaMTModularPhysListFAC.h" -#include "Geant4/G4VModularPhysicsList.hh" +#include "G4VModularPhysicsList.hh" #include "GiGaMTCoreMessage/IGiGaMessage.h" DECLARE_COMPONENT( GiGaMTModularPhysListFAC ) diff --git a/Sim/GiGaMTFactories/src/phys/GiGaMTModularPhysListFAC.h b/Sim/GiGaMTFactories/src/Components/GiGaMTModularPhysListFAC.h similarity index 96% rename from Sim/GiGaMTFactories/src/phys/GiGaMTModularPhysListFAC.h rename to Sim/GiGaMTFactories/src/Components/GiGaMTModularPhysListFAC.h index 183ca042045207017c04adaf37c3121cfa8b0175..b91efad216f54200329528b00dcf416af93c9f65 100755 --- a/Sim/GiGaMTFactories/src/phys/GiGaMTModularPhysListFAC.h +++ b/Sim/GiGaMTFactories/src/Components/GiGaMTModularPhysListFAC.h @@ -12,8 +12,8 @@ // G4 #include "GaudiAlg/GaudiTool.h" #include "GaudiKernel/ToolHandle.h" -#include "Geant4/G4VPhysicsConstructor.hh" -#include "Geant4/G4VUserPhysicsList.hh" +#include "G4VPhysicsConstructor.hh" +#include "G4VUserPhysicsList.hh" #include "GiGaMTFactories/GiGaFactoryBase.h" #include "GiGaMTFactories/GiGaTool.h" diff --git a/Sim/GiGaMTFactories/src/run/GiGaMTRunManagerFAC.cpp b/Sim/GiGaMTFactories/src/Components/GiGaMTRunManagerFAC.cpp similarity index 100% rename from Sim/GiGaMTFactories/src/run/GiGaMTRunManagerFAC.cpp rename to Sim/GiGaMTFactories/src/Components/GiGaMTRunManagerFAC.cpp diff --git a/Sim/GiGaMTFactories/src/run/GiGaMTRunManagerFAC.h b/Sim/GiGaMTFactories/src/Components/GiGaMTRunManagerFAC.h similarity index 100% rename from Sim/GiGaMTFactories/src/run/GiGaMTRunManagerFAC.h rename to Sim/GiGaMTFactories/src/Components/GiGaMTRunManagerFAC.h diff --git a/Sim/GiGaMTFactories/src/run/GiGaRunActionCommandFAC.cpp b/Sim/GiGaMTFactories/src/Components/GiGaRunActionCommandFAC.cpp similarity index 100% rename from Sim/GiGaMTFactories/src/run/GiGaRunActionCommandFAC.cpp rename to Sim/GiGaMTFactories/src/Components/GiGaRunActionCommandFAC.cpp diff --git a/Sim/GiGaMTFactories/src/run/GiGaRunActionCommandFAC.h b/Sim/GiGaMTFactories/src/Components/GiGaRunActionCommandFAC.h similarity index 100% rename from Sim/GiGaMTFactories/src/run/GiGaRunActionCommandFAC.h rename to Sim/GiGaMTFactories/src/Components/GiGaRunActionCommandFAC.h diff --git a/Sim/GiGaMTFactories/src/run/GiGaWorkerPilotFAC.cpp b/Sim/GiGaMTFactories/src/Components/GiGaWorkerPilotFAC.cpp similarity index 100% rename from Sim/GiGaMTFactories/src/run/GiGaWorkerPilotFAC.cpp rename to Sim/GiGaMTFactories/src/Components/GiGaWorkerPilotFAC.cpp diff --git a/Sim/GiGaMTFactories/src/run/GiGaWorkerPilotFAC.h b/Sim/GiGaMTFactories/src/Components/GiGaWorkerPilotFAC.h similarity index 100% rename from Sim/GiGaMTFactories/src/run/GiGaWorkerPilotFAC.h rename to Sim/GiGaMTFactories/src/Components/GiGaWorkerPilotFAC.h diff --git a/Sim/GiGaMTFactories/src/magnet/components/MagFieldFromSvc.cpp b/Sim/GiGaMTFactories/src/Components/MagFieldFromSvc.cpp similarity index 99% rename from Sim/GiGaMTFactories/src/magnet/components/MagFieldFromSvc.cpp rename to Sim/GiGaMTFactories/src/Components/MagFieldFromSvc.cpp index de5ac762333143a9273c856017730cfad0891927..c671eb977141f766ee548ace52c93017b58ebcf2 100755 --- a/Sim/GiGaMTFactories/src/magnet/components/MagFieldFromSvc.cpp +++ b/Sim/GiGaMTFactories/src/Components/MagFieldFromSvc.cpp @@ -21,7 +21,7 @@ #include "GaudiKernel/Vector3DTypes.h" // local -#include "Geant4/G4MagneticField.hh" +#include "G4MagneticField.hh" #include "GiGaMTCoreMessage/IGiGaMessage.h" #include "GiGaMTFactories/GiGaFactoryBase.h" #include "GiGaMTFactories/GiGaTool.h" diff --git a/Sim/GiGaMTFactories/src/magnet/components/Steppers.cpp b/Sim/GiGaMTFactories/src/Components/Steppers.cpp similarity index 84% rename from Sim/GiGaMTFactories/src/magnet/components/Steppers.cpp rename to Sim/GiGaMTFactories/src/Components/Steppers.cpp index e56c9311b7de84372f90a9a1705a227a513dc024..34477831c24ea3d0482152a29eaa19f34eabf1ab 100644 --- a/Sim/GiGaMTFactories/src/magnet/components/Steppers.cpp +++ b/Sim/GiGaMTFactories/src/Components/Steppers.cpp @@ -9,22 +9,22 @@ * or submit itself to any jurisdiction. * \*****************************************************************************/ #include "GaudiAlg/GaudiTool.h" -#include "Geant4/G4EquationOfMotion.hh" -#include "Geant4/G4MagIntegratorStepper.hh" +#include "G4EquationOfMotion.hh" +#include "G4MagIntegratorStepper.hh" #include "GiGaMTFactories/GiGaFactoryBase.h" #include "GiGaMTFactories/GiGaTool.h" -#include "Geant4/G4ExplicitEuler.hh" -#include "Geant4/G4ImplicitEuler.hh" -#include "Geant4/G4SimpleRunge.hh" -#include "Geant4/G4SimpleHeum.hh" -#include "Geant4/G4ClassicalRK4.hh" -#include "Geant4/G4CashKarpRKF45.hh" -#include "Geant4/G4RKG3_Stepper.hh" -#include "Geant4/G4HelixExplicitEuler.hh" -#include "Geant4/G4HelixImplicitEuler.hh" -#include "Geant4/G4HelixSimpleRunge.hh" -#include "Geant4/G4HelixHeum.hh" +#include "G4ExplicitEuler.hh" +#include "G4ImplicitEuler.hh" +#include "G4SimpleRunge.hh" +#include "G4SimpleHeum.hh" +#include "G4ClassicalRK4.hh" +#include "G4CashKarpRKF45.hh" +#include "G4RKG3_Stepper.hh" +#include "G4HelixExplicitEuler.hh" +#include "G4HelixImplicitEuler.hh" +#include "G4HelixSimpleRunge.hh" +#include "G4HelixHeum.hh" template <typename STEPPER> class GiGaMTMagnetStepperFAC : public extends<GaudiTool, GiGaFactoryBase<G4MagIntegratorStepper, G4Mag_EqRhs*> > diff --git a/Sim/GiGaMTFactories/src/magnet/components/ToolFieldMgr.cpp b/Sim/GiGaMTFactories/src/Components/ToolFieldMgr.cpp similarity index 94% rename from Sim/GiGaMTFactories/src/magnet/components/ToolFieldMgr.cpp rename to Sim/GiGaMTFactories/src/Components/ToolFieldMgr.cpp index 8f68a3b7df13c151c9e9f04734d2f879f14dec73..c25208f88f9e017771e43559f9348de6df62b4fa 100755 --- a/Sim/GiGaMTFactories/src/magnet/components/ToolFieldMgr.cpp +++ b/Sim/GiGaMTFactories/src/Components/ToolFieldMgr.cpp @@ -8,9 +8,9 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include "Geant4/G4MagneticField.hh" +#include "G4MagneticField.hh" #include "GiGaMTFactories/GiGaFactoryBase.h" -#include "GiGaMTFactories/Magnet/FieldMgrBase.h" +#include "GiGaMTMagnetFactories/FieldMgrBase.h" #include "GaudiKernel/ToolHandle.h" /** @class ToolFieldMgr diff --git a/Sim/GiGaMTFactories/src/truth/TruthActionFactories.cpp b/Sim/GiGaMTFactories/src/Components/TruthActionFactories.cpp similarity index 97% rename from Sim/GiGaMTFactories/src/truth/TruthActionFactories.cpp rename to Sim/GiGaMTFactories/src/Components/TruthActionFactories.cpp index 992d8fe2d95dec122f62cae4064425f48e8ad062..978436a51cea3a9ecc2fe17aeb56754623c6ffe4 100644 --- a/Sim/GiGaMTFactories/src/truth/TruthActionFactories.cpp +++ b/Sim/GiGaMTFactories/src/Components/TruthActionFactories.cpp @@ -11,10 +11,10 @@ #include "GiGaMTFactories/GiGaFactoryBase.h" #include "GiGaMTFactories/GiGaTool.h" -#include "GiGaMTCoreTruth/TruthFlaggingTrackAction.h" -#include "GiGaMTCoreTruth/TruthStoringTrackAction.h" +#include "GiGaMTCoreRun/TruthFlaggingTrackAction.h" +#include "GiGaMTCoreRun/TruthStoringTrackAction.h" -#include "Geant4/G4UserTrackingAction.hh" +#include "G4UserTrackingAction.hh" class TruthFlaggingTrackActionFAC : public extends<GiGaTool, GiGaFactoryBase<G4UserTrackingAction>> { using extends::extends; diff --git a/Sim/GiGaMTFactories/src/magnet/components/ZeroFieldMgr.cpp b/Sim/GiGaMTFactories/src/Components/ZeroFieldMgr.cpp similarity index 96% rename from Sim/GiGaMTFactories/src/magnet/components/ZeroFieldMgr.cpp rename to Sim/GiGaMTFactories/src/Components/ZeroFieldMgr.cpp index af961ed3762c862523f0740b205e76eff9007d00..2936ec3ef6738a5c77a837eb6dbf3dcd309add9d 100755 --- a/Sim/GiGaMTFactories/src/magnet/components/ZeroFieldMgr.cpp +++ b/Sim/GiGaMTFactories/src/Components/ZeroFieldMgr.cpp @@ -8,7 +8,7 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include "GiGaMTFactories/Magnet/FieldMgrBase.h" +#include "GiGaMTMagnetFactories/FieldMgrBase.h" class G4ChordFinder; /** @class ZeroFieldMgr diff --git a/Sim/GiGaMTFactories/src/magnet/lib/FieldMgrBase.cpp b/Sim/GiGaMTFactories/src/Lib/FieldMgrBase.cpp similarity index 91% rename from Sim/GiGaMTFactories/src/magnet/lib/FieldMgrBase.cpp rename to Sim/GiGaMTFactories/src/Lib/FieldMgrBase.cpp index 5694c8ba5f1b1f1cf076d272470702bddbd769ba..4f4d609561b0025a325ad829d1290e8925d09ce2 100755 --- a/Sim/GiGaMTFactories/src/magnet/lib/FieldMgrBase.cpp +++ b/Sim/GiGaMTFactories/src/Lib/FieldMgrBase.cpp @@ -8,13 +8,13 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include "GiGaMTFactories/Magnet/FieldMgrBase.h" +#include "GiGaMTMagnetFactories/FieldMgrBase.h" #include "GaudiKernel/GaudiException.h" -#include "Geant4/G4ChordFinder.hh" -#include "Geant4/G4MagIntegratorStepper.hh" -#include "Geant4/G4Mag_UsualEqRhs.hh" -#include "Geant4/G4PropagatorInField.hh" -#include "Geant4/G4TransportationManager.hh" +#include "G4ChordFinder.hh" +#include "G4MagIntegratorStepper.hh" +#include "G4Mag_UsualEqRhs.hh" +#include "G4PropagatorInField.hh" +#include "G4TransportationManager.hh" namespace Gaussino { diff --git a/Sim/GiGaMTGeo/CMakeLists.txt b/Sim/GiGaMTGeo/CMakeLists.txt index e873fe024bc06036630d528c31e2e32b05bd70ee..94283c0ee5d487d5b7175f98d5d0fe2aacdfa670 100644 --- a/Sim/GiGaMTGeo/CMakeLists.txt +++ b/Sim/GiGaMTGeo/CMakeLists.txt @@ -8,7 +8,11 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -################################################################################ +#[=======================================================================[.rst: +Sim/GiGaMTGeo +------------- +#]=======================================================================] +############################################################################### # Package: GiGaMTGeo # # This package will contain the factories to construct the various G4 objects. @@ -17,23 +21,24 @@ # and returns the constructed type by value. # FIXME: This requirement should probably be enforced somehow... # -################################################################################# -gaudi_subdir(GiGaMTGeo v1r0) - -gaudi_depends_on_subdirs(GaudiAlg - Sim/SimInterfaces - Sim/GiGaMTCore) +############################################################################### -AddHepMC3() -if(${Geant4_config_version} VERSION_LESS "10.06") - add_definitions(-DG4MULTITHREADED) - add_definitions(-DG4USE_STD11) -endif() +gaudi_add_header_only_library(GiGaMTGeoLib) +gaudi_add_header_only_library(GiGaMTRegionsLib) gaudi_add_module(GiGaMTGeoUtils - src/*.cpp - INCLUDE_DIRS SimInterfaces - LINK_LIBRARIES GiGaMTCoreRunLib GaudiAlgLib GiGaMTCoreCutLib) + SOURCES + src/Components/GDMLReader.cpp + src/Components/GiGaRegionsTool.cpp + src/Components/GiGaRegionTool.cpp + src/Components/GiGaSetSimAttributes.cpp + LINK + Gaudi::GaudiAlgLib + Gaussino::GiGaMTRegionsLib + Gaussino::SimInterfacesLib + Gaussino::GiGaMTCoreCutLib + Gaussino::GiGaMTCoreRunLib + Geant4::G4persistency +) -gaudi_install_headers(GiGaMTGeo) -gaudi_install_headers(GiGaMTRegions) +gaudi_add_tests(QMTest) diff --git a/Sim/GiGaMTGeo/include/GiGaMTGeo/IGDMLReader.h b/Sim/GiGaMTGeo/include/GiGaMTGeo/IGDMLReader.h new file mode 100644 index 0000000000000000000000000000000000000000..a216af1a7687ab983ba4b9ced288cfa1ae4b8bf9 --- /dev/null +++ b/Sim/GiGaMTGeo/include/GiGaMTGeo/IGDMLReader.h @@ -0,0 +1,27 @@ +/*****************************************************************************\ +* (c) Copyright 2022 CERN for the benefit of the LHCb and FCC Collaborations * +* * +* This software is distributed under the terms of the Apache License * +* version 2 (Apache-2.0), copied verbatim in the file "COPYING". * +* * +* In applying this licence, CERN does not waive the privileges and immunities * +* granted to it by virtue of its status as an Intergovernmental Organization * +* or submit itself to any jurisdiction. * +\*****************************************************************************/ +#pragma once + +#include "GaudiKernel/IAlgTool.h" + +class G4VPhysicalVolume; + +/** @class IGDMLReader IGDMLReader.h + * Interface class for importing GDML files + * + */ + +class IGDMLReader : virtual public IAlgTool { +public: + DeclareInterfaceID( IGDMLReader, 1, 0 ); + + virtual StatusCode import( G4VPhysicalVolume* world ) const = 0; +}; diff --git a/Sim/GiGaMTGeo/GiGaMTGeo/IGiGaMTGeoSvc.h b/Sim/GiGaMTGeo/include/GiGaMTGeo/IGiGaMTGeoSvc.h similarity index 100% rename from Sim/GiGaMTGeo/GiGaMTGeo/IGiGaMTGeoSvc.h rename to Sim/GiGaMTGeo/include/GiGaMTGeo/IGiGaMTGeoSvc.h diff --git a/Sim/GiGaMTGeo/GiGaMTRegions/IRegionsDefinitionSvc.h b/Sim/GiGaMTGeo/include/GiGaMTRegions/IRegionsDefinitionSvc.h similarity index 100% rename from Sim/GiGaMTGeo/GiGaMTRegions/IRegionsDefinitionSvc.h rename to Sim/GiGaMTGeo/include/GiGaMTRegions/IRegionsDefinitionSvc.h diff --git a/Sim/GiGaMTGeo/GiGaMTRegions/RegionCuts.h b/Sim/GiGaMTGeo/include/GiGaMTRegions/RegionCuts.h similarity index 100% rename from Sim/GiGaMTGeo/GiGaMTRegions/RegionCuts.h rename to Sim/GiGaMTGeo/include/GiGaMTRegions/RegionCuts.h diff --git a/Sim/GiGaMTGeo/GiGaMTRegions/SimAttribute.h b/Sim/GiGaMTGeo/include/GiGaMTRegions/SimAttribute.h similarity index 100% rename from Sim/GiGaMTGeo/GiGaMTRegions/SimAttribute.h rename to Sim/GiGaMTGeo/include/GiGaMTRegions/SimAttribute.h diff --git a/Sim/GiGaMTGeo/src/Components/GDMLReader.cpp b/Sim/GiGaMTGeo/src/Components/GDMLReader.cpp new file mode 100644 index 0000000000000000000000000000000000000000..81f206ba7fecf2168dc21b93c0fc05c9e7b92441 --- /dev/null +++ b/Sim/GiGaMTGeo/src/Components/GDMLReader.cpp @@ -0,0 +1,101 @@ +/*****************************************************************************\ +* (c) Copyright 2022 CERN for the benefit of the LHCb and FCC Collaborations * +* * +* This software is distributed under the terms of the Apache License * +* version 2 (Apache-2.0), copied verbatim in the file "COPYING". * +* * +* In applying this licence, CERN does not waive the privileges and immunities * +* granted to it by virtue of its status as an Intergovernmental Organization * +* or submit itself to any jurisdiction. * +\*****************************************************************************/ + +// Gaudi +#include "GaudiAlg/GaudiTool.h" +#include "GaudiKernel/SystemOfUnits.h" +// Interface +#include "GiGaMTGeo/IGDMLReader.h" +// Geant4 +#include "G4AssemblyVolume.hh" +#include "G4GDMLParser.hh" +#include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4PVPlacement.hh" +#include "G4VPhysicalVolume.hh" +#include "G4VisAttributes.hh" + +/** @class GDMLReader GDMLReader.h + * + * Tool to import geometry from GDML file + * + */ + +class GDMLReader : public extends<GaudiTool, IGDMLReader> { + +public: + using extends::extends; + + StatusCode import( G4VPhysicalVolume* world ) const override; + +private: + Gaudi::Property<std::string> m_gdmlfile{this, "GDMLFileName", "", "Name of the GDML file to be loaded"}; + Gaudi::Property<double> m_tx{this, "GDMLTranslationX", 0. * Gaudi::Units::mm}; + Gaudi::Property<double> m_ty{this, "GDMLTranslationY", 0. * Gaudi::Units::mm}; + Gaudi::Property<double> m_tz{this, "GDMLTranslationZ", 0. * Gaudi::Units::mm}; + Gaudi::Property<double> m_rx{this, "GDMLRotationX", 0. * Gaudi::Units::deg}; + Gaudi::Property<double> m_ry{this, "GDMLRotationY", 0. * Gaudi::Units::deg}; + Gaudi::Property<double> m_rz{this, "GDMLRotationZ", 0. * Gaudi::Units::deg}; +}; + +DECLARE_COMPONENT( GDMLReader ) + +StatusCode GDMLReader::import( G4VPhysicalVolume* world ) const { + + info() << "Loading GDML geometry description from file " << m_gdmlfile.value() << "." << endmsg; + /// Read the GDML file. + G4GDMLParser g4parser; + g4parser.Read( m_gdmlfile.value(), true ); + /// Get the world volume. + auto gdmlWorldPV = g4parser.GetWorldVolume(); + if ( !gdmlWorldPV ) { + error() << "Could not retrieve world volume from file " << m_gdmlfile.value() << "." << endmsg; + return StatusCode::FAILURE; + } + auto gdmlWorldLV = gdmlWorldPV->GetLogicalVolume(); + + if ( gdmlWorldLV->GetName() == world->GetLogicalVolume()->GetName() ) { + error() << "The name of the imported world from GDML is the same " + << "as the name of the already exisiting world! " + << "GDMLReader will not work correctly in this case." << endmsg; + return StatusCode::FAILURE; + } + + /// Make an assembly volume to hold the daughter volumes of the GDML world. + auto gdmlAssembly = new G4AssemblyVolume(); + // Loop over the daughter volumes. + const int nDaughters = gdmlWorldLV->GetNoDaughters(); + info() << "GDML world volume " << gdmlWorldLV->GetName() << " has " << nDaughters << " daughter(s)" << endmsg; + for ( int i = nDaughters; i--; ) { + auto gdmlDaughterPV = gdmlWorldLV->GetDaughter( i ); + auto nameDaughter = gdmlDaughterPV->GetName(); + info() << "Picking up volume " << nameDaughter << " from " << m_gdmlfile.value() << endmsg; + auto transDaughter = gdmlDaughterPV->GetTranslation(); + auto rotDaughter = gdmlDaughterPV->GetRotation(); + auto gdmlDaughterLV = gdmlDaughterPV->GetLogicalVolume(); + /// Give the GDML volume a different colour (to better distinguish it + /// in the G4 visualization) + auto gdmlDaughterVisAtt = new G4VisAttributes( G4Colour( 0, 1, 1 ) ); + gdmlDaughterLV->SetVisAttributes( gdmlDaughterVisAtt ); + + /// Add the volume to the assembly + gdmlAssembly->AddPlacedVolume( gdmlDaughterLV, transDaughter, rotDaughter ); + } + /// Set the position of the GDML assembly in the LHCb world. + G4ThreeVector transAssembly( m_tx.value(), m_ty.value(), m_tz.value() ); + auto rotAssembly = new G4RotationMatrix(); + rotAssembly->rotateX( m_rx.value() * Gaudi::Units::deg ); + rotAssembly->rotateY( m_ry.value() * Gaudi::Units::deg ); + rotAssembly->rotateZ( m_rz.value() * Gaudi::Units::deg ); + /// Place the assembly volume in the LHCb world. + gdmlAssembly->MakeImprint( world->GetLogicalVolume(), transAssembly, rotAssembly ); + return StatusCode::SUCCESS; +} diff --git a/Sim/GiGaMTGeo/src/GiGaRegionTool.cpp b/Sim/GiGaMTGeo/src/Components/GiGaRegionTool.cpp similarity index 94% rename from Sim/GiGaMTGeo/src/GiGaRegionTool.cpp rename to Sim/GiGaMTGeo/src/Components/GiGaRegionTool.cpp index e70fc585e252d2b5c6e7c5e69a2df1938c147e7e..0eba5d31469dd62f54c1003cd7b889294b093ba8 100755 --- a/Sim/GiGaMTGeo/src/GiGaRegionTool.cpp +++ b/Sim/GiGaMTGeo/src/Components/GiGaRegionTool.cpp @@ -9,11 +9,11 @@ * or submit itself to any jurisdiction. * \*****************************************************************************/ // G4 -#include "Geant4/G4LogicalVolume.hh" -#include "Geant4/G4LogicalVolumeStore.hh" -#include "Geant4/G4ProductionCuts.hh" -#include "Geant4/G4Region.hh" -#include "Geant4/G4RegionStore.hh" +#include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4ProductionCuts.hh" +#include "G4Region.hh" +#include "G4RegionStore.hh" // local #include "GiGaRegionTool.h" diff --git a/Sim/GiGaMTGeo/src/GiGaRegionTool.h b/Sim/GiGaMTGeo/src/Components/GiGaRegionTool.h similarity index 100% rename from Sim/GiGaMTGeo/src/GiGaRegionTool.h rename to Sim/GiGaMTGeo/src/Components/GiGaRegionTool.h diff --git a/Sim/GiGaMTGeo/src/GiGaRegionsTool.cpp b/Sim/GiGaMTGeo/src/Components/GiGaRegionsTool.cpp similarity index 96% rename from Sim/GiGaMTGeo/src/GiGaRegionsTool.cpp rename to Sim/GiGaMTGeo/src/Components/GiGaRegionsTool.cpp index 155ec92d172698d6c782932fa7a48f8bf7c5f68b..166011cbed3d6e8c76634c3f61fad7f25c58e3e4 100755 --- a/Sim/GiGaMTGeo/src/GiGaRegionsTool.cpp +++ b/Sim/GiGaMTGeo/src/Components/GiGaRegionsTool.cpp @@ -15,15 +15,15 @@ #include "GiGaMTRegions/IRegionsDefinitionSvc.h" #include "GiGaMTRegions/RegionCuts.h" -#include "Geant4/G4LogicalVolumeStore.hh" +#include "G4LogicalVolumeStore.hh" // local #include "GiGaRegionsTool.h" // G4 -#include "Geant4/G4LogicalVolume.hh" -#include "Geant4/G4ProductionCuts.hh" -#include "Geant4/G4Region.hh" +#include "G4LogicalVolume.hh" +#include "G4ProductionCuts.hh" +#include "G4Region.hh" // Declaration of the Tool Factory DECLARE_COMPONENT( GiGaRegionsTool ) diff --git a/Sim/GiGaMTGeo/src/GiGaRegionsTool.h b/Sim/GiGaMTGeo/src/Components/GiGaRegionsTool.h similarity index 100% rename from Sim/GiGaMTGeo/src/GiGaRegionsTool.h rename to Sim/GiGaMTGeo/src/Components/GiGaRegionsTool.h diff --git a/Sim/GiGaMTGeo/src/GiGaSetSimAttributes.cpp b/Sim/GiGaMTGeo/src/Components/GiGaSetSimAttributes.cpp similarity index 98% rename from Sim/GiGaMTGeo/src/GiGaSetSimAttributes.cpp rename to Sim/GiGaMTGeo/src/Components/GiGaSetSimAttributes.cpp index 1bb73fca55d82b37ef2d21b0f8d3e25f9db4e9cd..03368654d0541b374c86725518c3366d21507c95 100755 --- a/Sim/GiGaMTGeo/src/GiGaSetSimAttributes.cpp +++ b/Sim/GiGaMTGeo/src/Components/GiGaSetSimAttributes.cpp @@ -14,8 +14,8 @@ // SimSvc #include "GiGaMTRegions/IRegionsDefinitionSvc.h" // Geant4 -#include "Geant4/G4LogicalVolume.hh" -#include "Geant4/G4LogicalVolumeStore.hh" +#include "G4LogicalVolume.hh" +#include "G4LogicalVolumeStore.hh" #include "GiGaMTCoreCut/GaussinoG4UserLimits.h" // local #include "GiGaSetSimAttributes.h" diff --git a/Sim/GiGaMTGeo/src/GiGaSetSimAttributes.h b/Sim/GiGaMTGeo/src/Components/GiGaSetSimAttributes.h similarity index 100% rename from Sim/GiGaMTGeo/src/GiGaSetSimAttributes.h rename to Sim/GiGaMTGeo/src/Components/GiGaSetSimAttributes.h diff --git a/Sim/GiGaMTGeo/tests/data/cube_to_import.gdml b/Sim/GiGaMTGeo/tests/data/cube_to_import.gdml new file mode 100644 index 0000000000000000000000000000000000000000..0836816c0a625736d57a4e3cef2862f5a23838ac --- /dev/null +++ b/Sim/GiGaMTGeo/tests/data/cube_to_import.gdml @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<gdml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://service-spi.web.cern.ch/service-spi/app/releases/GDML/schema/gdml.xsd"> +<!-- + (c) Copyright 2022 CERN for the benefit of the LHCb and FCC Collaborations + + This software is distributed under the terms of the Apache License + version 2 (Apache-2.0), copied verbatim in the file "COPYING". + + In applying this licence, CERN does not waive the privileges and immunities + granted to it by virtue of its status as an Intergovernmental Organization + or submit itself to any jurisdiction. +--> + + <define/> + + <materials> + <isotope N="1" Z="1" name="H10x1ee5e10"> + <atom unit="g/mole" value="1.00782503081372"/> + </isotope> + <isotope N="2" Z="1" name="H20x1ee5e80"> + <atom unit="g/mole" value="2.01410199966617"/> + </isotope> + <element name="H0x1ee5ef0"> + <fraction n="0.999885" ref="H10x1ee5e10"/> + <fraction n="0.000115" ref="H20x1ee5e80"/> + </element> + <material name="OuterSpace0x1ee5ce0" state="gas"> + <T unit="K" value="2.73"/> + <P unit="pascal" value="1.87245306593404e-14"/> + <MEE unit="eV" value="19.2"/> + <D unit="g/cm3" value="6.24151021978012e-07"/> + <fraction n="1" ref="H0x1ee5ef0"/> + </material> + </materials> + + <solids> + <box lunit="mm" name="Cuboid0x1eef200" x="1000" y="1000" z="1000"/> + <box lunit="mm" name="WorldBox0x1eeecd0" x="100000" y="100000" z="100000"/> + </solids> + + <structure> + <volume name="CubeToImportLVol0x1eefa70"> + <materialref ref="OuterSpace0x1ee5ce0"/> + <solidref ref="Cuboid0x1eef200"/> + <auxiliary auxtype="gammaECut" auxunit="MeV" auxvalue="0"/> + <auxiliary auxtype="electronECut" auxunit="MeV" auxvalue="0"/> + <auxiliary auxtype="positronECut" auxunit="MeV" auxvalue="0"/> + <auxiliary auxtype="protonECut" auxunit="MeV" auxvalue="0"/> + <auxiliary auxtype="SensDet" auxvalue="MyCubeSDet"/> + </volume> + <volume name="WorldLVol0x1eef630"> + <materialref ref="OuterSpace0x1ee5ce0"/> + <solidref ref="WorldBox0x1eeecd0"/> + <physvol name="CubeToImportPVol0x1eefa10"> + <volumeref ref="CubeToImportLVol0x1eefa70"/> + <position name="CubeToImportPVol0x1eefa10_pos" unit="mm" x="0" y="0" z="10000"/> + </physvol> + <auxiliary auxtype="gammaECut" auxunit="MeV" auxvalue="0"/> + <auxiliary auxtype="electronECut" auxunit="MeV" auxvalue="0"/> + <auxiliary auxtype="positronECut" auxunit="MeV" auxvalue="0"/> + <auxiliary auxtype="protonECut" auxunit="MeV" auxvalue="0"/> + </volume> + </structure> + + <setup name="Default" version="1.0"> + <world ref="WorldLVol0x1eef630"/> + </setup> + +</gdml> diff --git a/Sim/GiGaMTGeo/tests/options/cube_import_export.py b/Sim/GiGaMTGeo/tests/options/cube_import_export.py new file mode 100644 index 0000000000000000000000000000000000000000..89ad9ba7c0df066034bdba9a1fd52f8b60a4dd3e --- /dev/null +++ b/Sim/GiGaMTGeo/tests/options/cube_import_export.py @@ -0,0 +1,111 @@ +############################################################################### +# (c) Copyright 2022 CERN for the benefit of the LHCb and FCC Collaborations # +# # +# This software is distributed under the terms of the Apache License # +# version 2 (Apache-2.0), copied verbatim in the file "COPYING". # +# # +# In applying this licence, CERN does not waive the privileges and immunities # +# granted to it by virtue of its status as an Intergovernmental Organization # +# or submit itself to any jurisdiction. # +############################################################################### +# standard Gaussino +from Configurables import Gaussino +Gaussino().EvtMax = 1 +Gaussino().EnableHive = True +Gaussino().ThreadPoolSize = 1 +Gaussino().EventSlots = 1 + +from Configurables import GiGaMT +GiGaMT().NumberOfWorkerThreads = 1 + +# some dumb generation, not important, just fast +from Gaussino.Generation import GenPhase +GenPhase().ParticleGun = True +GenPhase().ParticleGunUseDefault = False + +# Particle Gun On +# shoots one 1 GeV e- along z-axis +from Gaussino.Generation import GenPhase +GenPhase().ParticleGun = True +GenPhase().ParticleGunUseDefault = False +from Configurables import ParticleGun +pgun = ParticleGun("ParticleGun") +from Configurables import FixedMomentum +pgun.ParticleGunTool = "FixedMomentum" +pgun.addTool(FixedMomentum, name="FixedMomentum") +from GaudiKernel.SystemOfUnits import GeV +pgun.FixedMomentum.px = 0. * GeV +pgun.FixedMomentum.py = 0. * GeV +pgun.FixedMomentum.pz = 1. * GeV +pgun.FixedMomentum.PdgCodes = [11] +from Configurables import FlatNParticles +pgun.NumberOfParticlesTool = "FlatNParticles" +pgun.addTool(FlatNParticles, name="FlatNParticles") +pgun.FlatNParticles.MinNParticles = 1 +pgun.FlatNParticles.MaxNParticles = 1 + +from Gaussino.Simulation import SimPhase +SimPhase().PhysicsConstructors = [ + "GiGaMT_G4EmStandardPhysics", +] + +# adding external detectors +from Configurables import ExternalDetectorEmbedder +external = ExternalDetectorEmbedder("Testing") +from GaudiKernel.SystemOfUnits import m +from Gaudi.Configuration import DEBUG + +# plain/testing geometry service +external.World = { + "WorldMaterial": "OuterSpace", + "Type": "ExternalWorldCreator", + "WorldLogicalVolumeName": "NewWorldLvol", + "WorldPhysicalVolumeName": "NewWorldPvol", + "OutputLevel": DEBUG, +} + +# material needed for the external world +from GaudiKernel.SystemOfUnits import g, cm3, pascal, mole, kelvin +external.Materials = { + "OuterSpace": { + "AtomicNumber": 1., + "MassNumber": 1.01 * g / mole, + "Density": 1.e-25 * g / cm3, + "Pressure": 3.e-18 * pascal, + "Temperature": 2.73 * kelvin, + }, +} + +# here embedding of the geometry takes place +from Gaussino.Simulation import SimPhase +SimPhase().ExternalDetectorEmbedder = "Testing" + +# Import GDML +import os +root = os.getenv("GIGAMTGEOROOT") +SimPhase().ImportGDML = [ + { + "GDMLFileName": root + "/tests/data/cube_to_import.gdml", + "OutputLevel": DEBUG, + }, +] + +SimPhase().SensDetMap = { + "MCCollectorSensDet/CubeToImportSDet": ["CubeToImportLVol"], +} + +from Configurables import MCCollectorSensDet +MCCollectorSensDet( + "GiGaMT.DetConst.CubeToImportSDet", + OutputLevel=DEBUG, + PrintStats=True, +) + +# Export GDML +SimPhase().ExportGDML = { + "GDMLFileName": "cube_to_export.gdml", + "GDMLFileNameOverwrite": True, + "GDMLExportEnergyCuts": True, + "GDMLExportSD": True, + "GDMLAddReferences": True, +} diff --git a/Sim/GiGaMTGeo/tests/qmtest/cube_import_export.qmt b/Sim/GiGaMTGeo/tests/qmtest/cube_import_export.qmt new file mode 100644 index 0000000000000000000000000000000000000000..2b141269d852139bdfdfb8ae848c18e81438c2e7 --- /dev/null +++ b/Sim/GiGaMTGeo/tests/qmtest/cube_import_export.qmt @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE extension PUBLIC '-//QM/2.3/Extension//EN' 'http://www.codesourcery.com/qm/dtds/2.3/-//qm/2.3/extension//en.dtd'> +<!-- + (c) Copyright 2022 CERN for the benefit of the LHCb and FCC Collaborations + + This software is distributed under the terms of the Apache License + version 2 (Apache-2.0), copied verbatim in the file "COPYING". + + In applying this licence, CERN does not waive the privileges and immunities + granted to it by virtue of its status as an Intergovernmental Organization + or submit itself to any jurisdiction. +--> +<extension class="GaudiTest.GaudiExeTest" kind="test"> +<argument name="program"><text>gaudirun.py</text></argument> +<argument name="timeout"><integer>600</integer></argument> +<argument name="args"><set> + <text>../options/cube_import_export.py</text>a +</set></argument> +<argument name="validator"><text> +import re + +# check if import/export is successful +try: + with open('cube_to_export.gdml') as gdml: + data = gdml.read() + if data.find("CubeToImportLVol") == -1: + causes.append('Imported GDML volumes were not correctly exported.') + if data.find("CubeToImportSDet") == -1: + causes.append('Sensitive information not exported correctly.') +except FileNotFoundError: + causes.append('GDML not exported') + +# check if sensitive detector is attached correctly to the imported volume +hits_reg = "Hits= 1 Energy=-?[\d.]+(?:e-?\d+)?\[GeV\] #Particles= 1 in CubeToImportSDet" +matches = re.findall(hits_reg, stdout) +if not matches: + causes.append('Imported sensitive detector class not activated!') + result['GaudiTest.expected_string'] = result.Quote(option) +</text></argument> +</extension> diff --git a/Sim/GiGaMTReDecay/CMakeLists.txt b/Sim/GiGaMTReDecay/CMakeLists.txt index 6386e125ecb7f81dc838f636a66f9856d7304284..dc6ee11c71a1eae83010d905de8af030b667d9e3 100644 --- a/Sim/GiGaMTReDecay/CMakeLists.txt +++ b/Sim/GiGaMTReDecay/CMakeLists.txt @@ -8,48 +8,41 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -################################################################################ -# Package: GiGaMTReDecay -# -# This package contains all the optional ReDecay configuration to coordinate -# the re-use of parts over the event between multiple events. -# -################################################################################# -gaudi_subdir(GiGaMTReDecay v1r0) +#[=======================================================================[.rst: +Sim/GiGaMTReDecay +----------------- -gaudi_depends_on_subdirs(NewRnd - Gen/GenBeam - Gen/Generators - EDMdev/MCTruthToEDM - Gen/RndInit - Sim/GiGaMTTruth - Sim/GiGaMT) - -if(${Geant4_config_version} VERSION_LESS "10.06") - add_definitions(-DG4MULTITHREADED) - add_definitions(-DG4USE_STD11) -endif() - -AddHepMC3() -find_package(ROOT COMPONENTS MathCore GenVector) +This package contains all the optional ReDecay configuration to coordinate +the re-use of parts over the event between multiple events. +#]=======================================================================] gaudi_add_library(GiGaMTReDecayLib - src/lib/token/*.cpp - PUBLIC_HEADERS GiGaMTReDecay - INCLUDE_DIRS GenBeam RndInit GiGaMTTruth - LINK_LIBRARIES GiGaMTLib NewRnd GeneratorsLib) + SOURCES + src/Lib/Token.cpp + LINK + PUBLIC + Gaussino::RndInitLib + Gaussino::GiGaMTLib + Gaussino::NewRndLib + Gaussino::GiGaMTCoreRunLib + Gaussino::GeneratorsLib +) gaudi_add_module(GiGaMTReDecay - src/components/service/*.cpp - src/components/gen_tools/*.cpp - src/components/*.cpp - src/components/sorters/*.cpp - src/components/sim/*.cpp - src/components/edm/*.cpp - LINK_LIBRARIES GiGaMTReDecayLib ROOT RndInitLib MCTruthToEDMLib) - -add_dependencies(GiGaMTReDecayLib HepMC3Ext) - -#gaudi_add_module(GiGaMT - #src/components/*.cpp - #LINK_LIBRARIES GiGaMTLib ROOT) + SOURCES + src/Components/ReDecayInit.cpp + src/Components/service/ReDecaySvc.cpp + src/Components/gen_tools/ReDecayGeneration.cpp + src/Components/gen_tools/ReDecayPileUp.cpp + src/Components/gen_tools/ReDecayProduction.cpp + src/Components/gen_tools/ReDecaySignalGeneration.cpp + src/Components/service/ReDecaySvc.cpp + src/Components/sorters/BaseSorter.cpp + src/Components/sorters/SignalOnly.cpp + src/Components/sim/ReDecaySimAlg.cpp + src/Components/sim/ReDecaySkipSimAlg.cpp + src/Components/edm/ReDecayMCTruthToEDM.cpp + LINK + Gaussino::GiGaMTReDecayLib + Gaussino::MCTruthToEDMLib +) diff --git a/Sim/GiGaMTReDecay/GiGaMTReDecay/IReDecaySorter.h b/Sim/GiGaMTReDecay/include/GiGaMTReDecay/IReDecaySorter.h similarity index 100% rename from Sim/GiGaMTReDecay/GiGaMTReDecay/IReDecaySorter.h rename to Sim/GiGaMTReDecay/include/GiGaMTReDecay/IReDecaySorter.h diff --git a/Sim/GiGaMTReDecay/GiGaMTReDecay/IRedecaySvc.h b/Sim/GiGaMTReDecay/include/GiGaMTReDecay/IRedecaySvc.h similarity index 98% rename from Sim/GiGaMTReDecay/GiGaMTReDecay/IRedecaySvc.h rename to Sim/GiGaMTReDecay/include/GiGaMTReDecay/IRedecaySvc.h index 17cb596e919c28ccab66bd76754a84cae0d623c2..5a496ac646eea0d57bfada478b124b91f03e1167 100755 --- a/Sim/GiGaMTReDecay/GiGaMTReDecay/IRedecaySvc.h +++ b/Sim/GiGaMTReDecay/include/GiGaMTReDecay/IRedecaySvc.h @@ -24,7 +24,7 @@ #include "Event/GenCollision.h" -#include "GiGaMTCoreTruth/MCTruthConverter.h" +#include "GiGaMTCoreRun/MCTruthConverter.h" #include "GiGaMTCoreRun/SimResults.h" // GiGa diff --git a/Sim/GiGaMTReDecay/GiGaMTReDecay/Token.h b/Sim/GiGaMTReDecay/include/GiGaMTReDecay/Token.h similarity index 100% rename from Sim/GiGaMTReDecay/GiGaMTReDecay/Token.h rename to Sim/GiGaMTReDecay/include/GiGaMTReDecay/Token.h diff --git a/Sim/GiGaMTReDecay/GiGaMTReDecay/typedefs.h b/Sim/GiGaMTReDecay/include/GiGaMTReDecay/typedefs.h similarity index 91% rename from Sim/GiGaMTReDecay/GiGaMTReDecay/typedefs.h rename to Sim/GiGaMTReDecay/include/GiGaMTReDecay/typedefs.h index ed4b5856d662f0da1936c5c0137e0748c56d4035..18511113cbd7fa9f6974c1b7bfb1c105e8416d9d 100644 --- a/Sim/GiGaMTReDecay/GiGaMTReDecay/typedefs.h +++ b/Sim/GiGaMTReDecay/include/GiGaMTReDecay/typedefs.h @@ -8,9 +8,9 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include "GiGaMTCoreTruth/LinkedParticle.h" +#include "GiGaMTCoreRun/LinkedParticle.h" #include <map> -#include "GiGaMTCoreTruth/MCTruthConverter.h" +#include "GiGaMTCoreRun/MCTruthConverter.h" namespace Gaussino::ReDecay { typedef std::map<const LinkedParticle*, MCTruthPtr> SignalTruths; diff --git a/Sim/GiGaMTReDecay/src/components/ReDecayInit.cpp b/Sim/GiGaMTReDecay/src/Components/ReDecayInit.cpp similarity index 100% rename from Sim/GiGaMTReDecay/src/components/ReDecayInit.cpp rename to Sim/GiGaMTReDecay/src/Components/ReDecayInit.cpp diff --git a/Sim/GiGaMTReDecay/src/components/backup/ReDecaySampleGenerationTool.cpp b/Sim/GiGaMTReDecay/src/Components/backup/ReDecaySampleGenerationTool.cpp similarity index 100% rename from Sim/GiGaMTReDecay/src/components/backup/ReDecaySampleGenerationTool.cpp rename to Sim/GiGaMTReDecay/src/Components/backup/ReDecaySampleGenerationTool.cpp diff --git a/Sim/GiGaMTReDecay/src/components/edm/ReDecayMCTruthToEDM.cpp b/Sim/GiGaMTReDecay/src/Components/edm/ReDecayMCTruthToEDM.cpp similarity index 99% rename from Sim/GiGaMTReDecay/src/components/edm/ReDecayMCTruthToEDM.cpp rename to Sim/GiGaMTReDecay/src/Components/edm/ReDecayMCTruthToEDM.cpp index be06682eeadc67253976d032ca597903fbc797fd..caff814546e82d4a6ca3d28b13ad562c46321c27 100755 --- a/Sim/GiGaMTReDecay/src/components/edm/ReDecayMCTruthToEDM.cpp +++ b/Sim/GiGaMTReDecay/src/Components/edm/ReDecayMCTruthToEDM.cpp @@ -47,7 +47,7 @@ #include "Event/MCVertex.h" #include "MCTruthToEDM/LinkedParticleMCParticleLink.h" -#include "GiGaMTCoreTruth/MCTruthConverter.h" +#include "GiGaMTCoreRun/MCTruthConverter.h" #include "Defaults/Locations.h" #include "GiGaMTReDecay/typedefs.h" diff --git a/Sim/GiGaMTReDecay/src/components/gen_tools/ReDecayGeneration.cpp b/Sim/GiGaMTReDecay/src/Components/gen_tools/ReDecayGeneration.cpp similarity index 100% rename from Sim/GiGaMTReDecay/src/components/gen_tools/ReDecayGeneration.cpp rename to Sim/GiGaMTReDecay/src/Components/gen_tools/ReDecayGeneration.cpp diff --git a/Sim/GiGaMTReDecay/src/components/gen_tools/ReDecayPileUp.cpp b/Sim/GiGaMTReDecay/src/Components/gen_tools/ReDecayPileUp.cpp similarity index 100% rename from Sim/GiGaMTReDecay/src/components/gen_tools/ReDecayPileUp.cpp rename to Sim/GiGaMTReDecay/src/Components/gen_tools/ReDecayPileUp.cpp diff --git a/Sim/GiGaMTReDecay/src/components/gen_tools/ReDecayProduction.cpp b/Sim/GiGaMTReDecay/src/Components/gen_tools/ReDecayProduction.cpp similarity index 100% rename from Sim/GiGaMTReDecay/src/components/gen_tools/ReDecayProduction.cpp rename to Sim/GiGaMTReDecay/src/Components/gen_tools/ReDecayProduction.cpp diff --git a/Sim/GiGaMTReDecay/src/components/gen_tools/ReDecaySignalGeneration.cpp b/Sim/GiGaMTReDecay/src/Components/gen_tools/ReDecaySignalGeneration.cpp similarity index 100% rename from Sim/GiGaMTReDecay/src/components/gen_tools/ReDecaySignalGeneration.cpp rename to Sim/GiGaMTReDecay/src/Components/gen_tools/ReDecaySignalGeneration.cpp diff --git a/Sim/GiGaMTReDecay/src/components/service/ReDecaySvc.cpp b/Sim/GiGaMTReDecay/src/Components/service/ReDecaySvc.cpp similarity index 100% rename from Sim/GiGaMTReDecay/src/components/service/ReDecaySvc.cpp rename to Sim/GiGaMTReDecay/src/Components/service/ReDecaySvc.cpp diff --git a/Sim/GiGaMTReDecay/src/components/sim/ReDecaySimAlg.cpp b/Sim/GiGaMTReDecay/src/Components/sim/ReDecaySimAlg.cpp similarity index 100% rename from Sim/GiGaMTReDecay/src/components/sim/ReDecaySimAlg.cpp rename to Sim/GiGaMTReDecay/src/Components/sim/ReDecaySimAlg.cpp diff --git a/Sim/GiGaMTReDecay/src/components/sim/ReDecaySimAlg.h b/Sim/GiGaMTReDecay/src/Components/sim/ReDecaySimAlg.h similarity index 100% rename from Sim/GiGaMTReDecay/src/components/sim/ReDecaySimAlg.h rename to Sim/GiGaMTReDecay/src/Components/sim/ReDecaySimAlg.h diff --git a/Sim/GiGaMTReDecay/src/components/sim/ReDecaySkipSimAlg.cpp b/Sim/GiGaMTReDecay/src/Components/sim/ReDecaySkipSimAlg.cpp similarity index 100% rename from Sim/GiGaMTReDecay/src/components/sim/ReDecaySkipSimAlg.cpp rename to Sim/GiGaMTReDecay/src/Components/sim/ReDecaySkipSimAlg.cpp diff --git a/Sim/GiGaMTReDecay/src/components/sim/ReDecaySkipSimAlg.h b/Sim/GiGaMTReDecay/src/Components/sim/ReDecaySkipSimAlg.h similarity index 100% rename from Sim/GiGaMTReDecay/src/components/sim/ReDecaySkipSimAlg.h rename to Sim/GiGaMTReDecay/src/Components/sim/ReDecaySkipSimAlg.h diff --git a/Sim/GiGaMTReDecay/src/components/sorters/BaseSorter.cpp b/Sim/GiGaMTReDecay/src/Components/sorters/BaseSorter.cpp similarity index 100% rename from Sim/GiGaMTReDecay/src/components/sorters/BaseSorter.cpp rename to Sim/GiGaMTReDecay/src/Components/sorters/BaseSorter.cpp diff --git a/Sim/GiGaMTReDecay/src/components/sorters/BaseSorter.h b/Sim/GiGaMTReDecay/src/Components/sorters/BaseSorter.h similarity index 100% rename from Sim/GiGaMTReDecay/src/components/sorters/BaseSorter.h rename to Sim/GiGaMTReDecay/src/Components/sorters/BaseSorter.h diff --git a/Sim/GiGaMTReDecay/src/components/sorters/SignalOnly.cpp b/Sim/GiGaMTReDecay/src/Components/sorters/SignalOnly.cpp similarity index 100% rename from Sim/GiGaMTReDecay/src/components/sorters/SignalOnly.cpp rename to Sim/GiGaMTReDecay/src/Components/sorters/SignalOnly.cpp diff --git a/Sim/GiGaMTReDecay/src/lib/token/Token.cpp b/Sim/GiGaMTReDecay/src/Lib/Token.cpp similarity index 100% rename from Sim/GiGaMTReDecay/src/lib/token/Token.cpp rename to Sim/GiGaMTReDecay/src/Lib/Token.cpp diff --git a/Sim/GiGaMTTruth/CMakeLists.txt b/Sim/GiGaMTTruth/CMakeLists.txt index c97d6f387f66b8f059837134d135dfcd63f189c7..20e679aeb92b5a67c8fd1f26f43f0d23f4388d4d 100644 --- a/Sim/GiGaMTTruth/CMakeLists.txt +++ b/Sim/GiGaMTTruth/CMakeLists.txt @@ -8,28 +8,11 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -################################################################################ -# Package: GiGaMTTruth -# -# This package contains all code related to the tracking and extraction of truth -# information from the Geant4 propagation -################################################################################# -gaudi_subdir(GiGaMTTruth v1r0) -gaudi_depends_on_subdirs(NewRnd - GaudiAlg - HepMCUser - Kernel/PartProp - Sim/GiGaMTCore) +#[=======================================================================[.rst: +Sim/GiGaMTTruth +--------------- -if(${Geant4_config_version} VERSION_LESS "10.06") - add_definitions(-DG4MULTITHREADED) - add_definitions(-DG4USE_STD11) -endif() - - -AddHepMC3() - -FindG4libs(digits_hits event geometry global graphics_reps materials persistency - particles processes run tracking track intercoms physicslists) - -gaudi_install_headers(GiGaMTTruth) +This package contains all code related to the tracking and extraction of truth +information from the Geant4 propagation +#]=======================================================================] +gaudi_add_header_only_library(GiGaMTTruthLib) diff --git a/Sim/GiGaMTTruth/GiGaMTTruth/IHepMC3ToMCTruthConverter.h b/Sim/GiGaMTTruth/include/GiGaMTTruth/IHepMC3ToMCTruthConverter.h similarity index 97% rename from Sim/GiGaMTTruth/GiGaMTTruth/IHepMC3ToMCTruthConverter.h rename to Sim/GiGaMTTruth/include/GiGaMTTruth/IHepMC3ToMCTruthConverter.h index cc20f8d41927229002c359506417b25a56c34a9a..d06d2ecdf727762acd55e8532072a9e6c98d6c08 100644 --- a/Sim/GiGaMTTruth/GiGaMTTruth/IHepMC3ToMCTruthConverter.h +++ b/Sim/GiGaMTTruth/include/GiGaMTTruth/IHepMC3ToMCTruthConverter.h @@ -13,7 +13,7 @@ // from Gaudi #include "GaudiKernel/IAlgTool.h" -#include "GiGaMTCoreTruth/MCTruthConverter.h" +#include "GiGaMTCoreRun/MCTruthConverter.h" #include "HepMCUser/typedefs.h" class G4Event; diff --git a/Sim/MCCollector/CMakeLists.txt b/Sim/MCCollector/CMakeLists.txt index 48c559671b331541fca0d63a169c7a3ade7f0487..a737225a4581e61701495167788d5f01b7f1ccfa 100644 --- a/Sim/MCCollector/CMakeLists.txt +++ b/Sim/MCCollector/CMakeLists.txt @@ -8,22 +8,20 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -################################################################################ -# Package: MCCollector -################################################################################ -gaudi_subdir(MCCollector v1r0) - -gaudi_depends_on_subdirs(Sim/GiGaMTCore - Sim/GiGaMTFactories - Sim/GiGaMTCore - EDMdev/MCTruthToEDM) - -AddHepMC3() -find_package(Boost) -find_package(CLHEP) -include_directories(SYSTEM ${Boost_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${Geant4_INCLUDE_DIRS}) +#[=======================================================================[.rst: +Sim/MCCollector +--------------- +Author: Michał Mazurek +#]=======================================================================] gaudi_add_module(MCCollector - src/*.cpp - INCLUDE_DIRS GiGaMTFactories - LINK_LIBRARIES GiGaMTCoreTruthLib MCTruthToEDMLib) + SOURCES + src/Components/GetMCCollectorHitsAlg.cpp + src/Components/MCCollectorHit.cpp + src/Components/MCCollectorSensDet.cpp + LINK + Gaussino::GiGaMTCoreRunLib + Gaussino::GiGaMTFactoriesLib + Gaussino::GiGaMTDetFactoriesLib + Gaussino::MCTruthToEDMLib +) diff --git a/Sim/MCCollector/src/GetMCCollectorHitsAlg.cpp b/Sim/MCCollector/src/Components/GetMCCollectorHitsAlg.cpp similarity index 98% rename from Sim/MCCollector/src/GetMCCollectorHitsAlg.cpp rename to Sim/MCCollector/src/Components/GetMCCollectorHitsAlg.cpp index c52ea89d3b24cb8791b932072009da4ac34da624..2438c4b8334c84388c9ba126aa03e7c67e1a89c5 100755 --- a/Sim/MCCollector/src/GetMCCollectorHitsAlg.cpp +++ b/Sim/MCCollector/src/Components/GetMCCollectorHitsAlg.cpp @@ -15,7 +15,7 @@ // GiGaMT #include "Defaults/Locations.h" #include "GiGaMTCoreRun/G4EventProxy.h" -#include "GiGaMTCoreTruth/MCTruthConverter.h" +#include "GiGaMTCoreRun/MCTruthConverter.h" #include "MCTruthToEDM/LinkedParticleMCParticleLink.h" // local #include "MCCollectorHit.h" diff --git a/Sim/MCCollector/src/MCCollectorHit.cpp b/Sim/MCCollector/src/Components/MCCollectorHit.cpp similarity index 100% rename from Sim/MCCollector/src/MCCollectorHit.cpp rename to Sim/MCCollector/src/Components/MCCollectorHit.cpp diff --git a/Sim/MCCollector/src/MCCollectorHit.h b/Sim/MCCollector/src/Components/MCCollectorHit.h similarity index 94% rename from Sim/MCCollector/src/MCCollectorHit.h rename to Sim/MCCollector/src/Components/MCCollectorHit.h index f6b7bae12ab55ed94622e2c551dfd4ae2f648024..250e6caf26f17fcf559d2214e1de6d7ebeedc41f 100755 --- a/Sim/MCCollector/src/MCCollectorHit.h +++ b/Sim/MCCollector/src/Components/MCCollectorHit.h @@ -14,9 +14,9 @@ #include "GiGaMTCoreDet/GaussHitBase.h" // G4 -#include "Geant4/G4Allocator.hh" -#include "Geant4/G4THitsCollection.hh" -#include "Geant4/G4ThreeVector.hh" +#include "G4Allocator.hh" +#include "G4THitsCollection.hh" +#include "G4ThreeVector.hh" namespace MCCollector { class Hit : public Gaussino::HitBase { diff --git a/Sim/MCCollector/src/MCCollectorSensDet.cpp b/Sim/MCCollector/src/Components/MCCollectorSensDet.cpp similarity index 93% rename from Sim/MCCollector/src/MCCollectorSensDet.cpp rename to Sim/MCCollector/src/Components/MCCollectorSensDet.cpp index 75b314dda0d0764ffabbd35355b16ca3e67facff..5b21473ab934c6fec6fead3b25875765f3c60451 100755 --- a/Sim/MCCollector/src/MCCollectorSensDet.cpp +++ b/Sim/MCCollector/src/Components/MCCollectorSensDet.cpp @@ -12,8 +12,8 @@ // local #include "GiGaMTCoreMessage/IGiGaMessage.h" -#include "GiGaMTCoreTruth/GaussinoTrackInformation.h" -#include "GiGaMTFactories/GiGaMTG4SensDetFactory.h" +#include "GiGaMTCoreRun/GaussinoTrackInformation.h" +#include "GiGaMTDetFactories/GiGaMTG4SensDetFactory.h" #include "MCCollectorHit.h" // from CLHEP @@ -24,15 +24,15 @@ #include "GaudiKernel/SystemOfUnits.h" // from Geant4 -#include "Geant4/G4HCofThisEvent.hh" -#include "Geant4/G4LogicalVolume.hh" -#include "Geant4/G4SDManager.hh" -#include "Geant4/G4Step.hh" -#include "Geant4/G4TouchableHistory.hh" -#include "Geant4/G4Track.hh" -#include "Geant4/G4VPhysicalVolume.hh" -#include "Geant4/G4VSensitiveDetector.hh" -#include "Geant4/G4ios.hh" +#include "G4HCofThisEvent.hh" +#include "G4LogicalVolume.hh" +#include "G4SDManager.hh" +#include "G4Step.hh" +#include "G4TouchableHistory.hh" +#include "G4Track.hh" +#include "G4VPhysicalVolume.hh" +#include "G4VSensitiveDetector.hh" +#include "G4ios.hh" namespace MCCollector { class SensDet : public G4VSensitiveDetector, public virtual GiGaMessage { diff --git a/Sim/ParallelGeometry/CMakeLists.txt b/Sim/ParallelGeometry/CMakeLists.txt index 0b28dbb76988501387e2b25a43a638279a8fdbee..652050de2d93ff517ea81a3026744362a68d4931 100644 --- a/Sim/ParallelGeometry/CMakeLists.txt +++ b/Sim/ParallelGeometry/CMakeLists.txt @@ -8,30 +8,31 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -################################################################################ -# Package: ParallelGeometry -################################################################################ -gaudi_subdir(ParallelGeometry v1r0) - -gaudi_depends_on_subdirs(GaudiAlg - Sim/GiGaMTCore - Sim/GiGaMTFactories) - -AddHepMC3() -find_package(Boost) -find_package(CLHEP) - -include_directories(SYSTEM ${Boost_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${Geant4_INCLUDE_DIRS}) - +#[=======================================================================[.rst: +Sim/ParallelGeometry +-------------------- +#]=======================================================================] gaudi_add_library(ParallelGeometryLib - src/Lib/*.cpp - PUBLIC_HEADERS ParallelGeometry - INCLUDE_DIRS Sim/GiGaMTFactories ${RANGEV3_INCLUDE_DIRS} - LINK_LIBRARIES GaudiAlgLib GiGaMTCoreRunLib ${HEPMC3_LIBRARIES} ${GEANT4_LIBS}) + SOURCES + src/Lib/Physics.cpp + src/Lib/World.cpp + LINK + PUBLIC + XercesC::XercesC + Geant4::G4physicslists + Gaussino::GiGaMTPhysFactoriesLib + Gaussino::GiGaMTCoreRunLib +) gaudi_add_module(ParallelGeometry - src/Components/*.cpp - LINK_LIBRARIES ParallelGeometryLib) + SOURCES + src/Components/DefaultPhysicsFactory.cpp + src/Components/DefaultWorldFactory.cpp + LINK + Geant4::G4persistency + Gaussino::ParallelGeometryLib +) -gaudi_install_python_modules() -gaudi_add_test(QMTest QMTEST) +gaudi_install(PYTHON) +gaudi_generate_confuserdb() +gaudi_add_tests(QMTest) diff --git a/Sim/ParallelGeometry/ParallelGeometry/Physics.h b/Sim/ParallelGeometry/include/ParallelGeometry/Physics.h similarity index 97% rename from Sim/ParallelGeometry/ParallelGeometry/Physics.h rename to Sim/ParallelGeometry/include/ParallelGeometry/Physics.h index 5f75d4c358c9d54632c2732a6f8f7652e10c6eca..762628facefd95d60de8a8416b379f97f232b185 100644 --- a/Sim/ParallelGeometry/ParallelGeometry/Physics.h +++ b/Sim/ParallelGeometry/include/ParallelGeometry/Physics.h @@ -11,7 +11,7 @@ #pragma once // Geant4 -#include "Geant4/G4ParallelWorldPhysics.hh" +#include "G4ParallelWorldPhysics.hh" #include "GiGaMTCoreMessage/IGiGaMessage.h" namespace ParallelGeometry { diff --git a/Sim/ParallelGeometry/ParallelGeometry/PhysicsFactory.h b/Sim/ParallelGeometry/include/ParallelGeometry/PhysicsFactory.h similarity index 92% rename from Sim/ParallelGeometry/ParallelGeometry/PhysicsFactory.h rename to Sim/ParallelGeometry/include/ParallelGeometry/PhysicsFactory.h index 0ae1f1e1b9d16cb5502f3c1a1e780f3af58e6ac3..7eac945fa244340ad4af42ce5bc05669571eb9a0 100644 --- a/Sim/ParallelGeometry/ParallelGeometry/PhysicsFactory.h +++ b/Sim/ParallelGeometry/include/ParallelGeometry/PhysicsFactory.h @@ -10,10 +10,10 @@ \*****************************************************************************/ #pragma once // Geant4 -#include "Geant4/G4ParallelWorldPhysics.hh" +#include "G4ParallelWorldPhysics.hh" // local -#include "GiGaMTFactories/GiGaMTG4PhysicsConstrFAC.h" -#include "GiGaMTFactories/GiGaMTG4PhysicsFactory.h" +#include "GiGaMTPhysFactories/GiGaMTG4PhysicsConstrFAC.h" +#include "GiGaMTPhysFactories/GiGaMTG4PhysicsFactory.h" #include "ParallelGeometry/Physics.h" namespace ParallelGeometry { diff --git a/Sim/ParallelGeometry/ParallelGeometry/PhysicsFactory.icpp b/Sim/ParallelGeometry/include/ParallelGeometry/PhysicsFactory.icpp similarity index 100% rename from Sim/ParallelGeometry/ParallelGeometry/PhysicsFactory.icpp rename to Sim/ParallelGeometry/include/ParallelGeometry/PhysicsFactory.icpp diff --git a/Sim/ParallelGeometry/ParallelGeometry/World.h b/Sim/ParallelGeometry/include/ParallelGeometry/World.h similarity index 97% rename from Sim/ParallelGeometry/ParallelGeometry/World.h rename to Sim/ParallelGeometry/include/ParallelGeometry/World.h index 6a29ebc82a95ba89da179fd39fa11aa46835b34e..c250d2967e39b3621e9ea9759563912b8717befb 100644 --- a/Sim/ParallelGeometry/ParallelGeometry/World.h +++ b/Sim/ParallelGeometry/include/ParallelGeometry/World.h @@ -11,7 +11,7 @@ #pragma once // Geant4 -#include "Geant4/G4VUserParallelWorld.hh" +#include "G4VUserParallelWorld.hh" class G4VPhysicalVolume; diff --git a/Sim/ParallelGeometry/ParallelGeometry/WorldFactory.h b/Sim/ParallelGeometry/include/ParallelGeometry/WorldFactory.h similarity index 95% rename from Sim/ParallelGeometry/ParallelGeometry/WorldFactory.h rename to Sim/ParallelGeometry/include/ParallelGeometry/WorldFactory.h index 89b04ac6c57d08e83f1aab2aa21a6733b8ec1e1f..1eb6a105fdeff01ee7043fea1fc1acf98f07acef 100644 --- a/Sim/ParallelGeometry/ParallelGeometry/WorldFactory.h +++ b/Sim/ParallelGeometry/include/ParallelGeometry/WorldFactory.h @@ -11,10 +11,10 @@ #pragma once // Geant4 -#include "Geant4/G4LogicalVolume.hh" -#include "Geant4/G4Material.hh" -#include "Geant4/G4VPhysicalVolume.hh" -#include "Geant4/G4VUserParallelWorld.hh" +#include "G4LogicalVolume.hh" +#include "G4Material.hh" +#include "G4VPhysicalVolume.hh" +#include "G4VUserParallelWorld.hh" // local #include "GaudiAlg/FunctionalDetails.h" #include "GiGaMTCoreDet/IExternalDetectorEmbedder.h" diff --git a/Sim/ParallelGeometry/ParallelGeometry/WorldFactory.icpp b/Sim/ParallelGeometry/include/ParallelGeometry/WorldFactory.icpp similarity index 99% rename from Sim/ParallelGeometry/ParallelGeometry/WorldFactory.icpp rename to Sim/ParallelGeometry/include/ParallelGeometry/WorldFactory.icpp index a4e7945b3a69472047960646d08a4850544f6745..b19c3fef7e8865a4b45a86fd59551408e46f60d9 100644 --- a/Sim/ParallelGeometry/ParallelGeometry/WorldFactory.icpp +++ b/Sim/ParallelGeometry/include/ParallelGeometry/WorldFactory.icpp @@ -8,7 +8,7 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include "Geant4/G4GDMLParser.hh" +#include "G4GDMLParser.hh" #include <filesystem> template <class ParallelWorld> diff --git a/Sim/ParallelGeometry/src/Lib/Physics.cpp b/Sim/ParallelGeometry/src/Lib/Physics.cpp index 8d7e5ef79b628a6e638f331e71ccd7c148518f27..3c1ee037a7202df14e8a59dc7db0ad8e4f414fbb 100644 --- a/Sim/ParallelGeometry/src/Lib/Physics.cpp +++ b/Sim/ParallelGeometry/src/Lib/Physics.cpp @@ -13,12 +13,12 @@ #include "ParallelGeometry/Physics.h" // Geant4 -#include "Geant4/G4ParallelWorldPhysics.hh" -#include "Geant4/G4ParallelWorldProcess.hh" -#include "Geant4/G4ParticleDefinition.hh" -#include "Geant4/G4ParticleTable.hh" -#include "Geant4/G4ProcessManager.hh" -#include "Geant4/G4TransportationManager.hh" +#include "G4ParallelWorldPhysics.hh" +#include "G4ParallelWorldProcess.hh" +#include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" +#include "G4ProcessManager.hh" +#include "G4TransportationManager.hh" ParallelGeometry::Physics::Physics( std::string parallelWorld, bool layeredMass ) : G4ParallelWorldPhysics( parallelWorld, layeredMass ), m_layeredMass( layeredMass ) {} diff --git a/Sim/SimInterfaces/CMakeLists.txt b/Sim/SimInterfaces/CMakeLists.txt index 51218c0968fd431626325a1bf84366586e607f46..7ee25dfce308bca63b0460e7a2ae647577c37dd4 100644 --- a/Sim/SimInterfaces/CMakeLists.txt +++ b/Sim/SimInterfaces/CMakeLists.txt @@ -8,9 +8,8 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -################################################################################ -# Package: SimInterface -################################################################################ -gaudi_subdir(SimInterfaces v1r0) - -gaudi_install_headers(SimInterfaces) +#[=======================================================================[.rst: +Sim/SimInterfaces +----------------- +#]=======================================================================] +gaudi_add_header_only_library(SimInterfacesLib) diff --git a/Sim/SimInterfaces/SimInterfaces/IG4MonitoringTool.h b/Sim/SimInterfaces/include/SimInterfaces/IG4MonitoringTool.h similarity index 100% rename from Sim/SimInterfaces/SimInterfaces/IG4MonitoringTool.h rename to Sim/SimInterfaces/include/SimInterfaces/IG4MonitoringTool.h diff --git a/Sim/SimInterfaces/SimInterfaces/IGaussinoTool.h b/Sim/SimInterfaces/include/SimInterfaces/IGaussinoTool.h similarity index 100% rename from Sim/SimInterfaces/SimInterfaces/IGaussinoTool.h rename to Sim/SimInterfaces/include/SimInterfaces/IGaussinoTool.h diff --git a/Sim/SimInterfaces/SimInterfaces/ISimSvc.h b/Sim/SimInterfaces/include/SimInterfaces/ISimSvc.h similarity index 100% rename from Sim/SimInterfaces/SimInterfaces/ISimSvc.h rename to Sim/SimInterfaces/include/SimInterfaces/ISimSvc.h diff --git a/Utils/CMakeLists.txt b/Utils/CMakeLists.txt index eb2d7f85b0084911004d3f898868fe626b48daba..8292b24659ca7b378b799b3a03e5090013e792a6 100644 --- a/Utils/CMakeLists.txt +++ b/Utils/CMakeLists.txt @@ -8,9 +8,8 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -################################################################################ -# Package: Utils -################################################################################ -gaudi_subdir(Utils v1r0) - -gaudi_install_headers(Utils) +#[=======================================================================[.rst: +Utils +----- +#]=======================================================================] +gaudi_add_header_only_library(UtilsLib) diff --git a/Utils/Utils/LocalTL.h b/Utils/include/Utils/LocalTL.h similarity index 100% rename from Utils/Utils/LocalTL.h rename to Utils/include/Utils/LocalTL.h diff --git a/Utils/Utils/ToolProperty.h b/Utils/include/Utils/ToolProperty.h similarity index 100% rename from Utils/Utils/ToolProperty.h rename to Utils/include/Utils/ToolProperty.h diff --git a/Utils/Utils/blockingconcurrentqueue.h b/Utils/include/Utils/blockingconcurrentqueue.h similarity index 100% rename from Utils/Utils/blockingconcurrentqueue.h rename to Utils/include/Utils/blockingconcurrentqueue.h diff --git a/Utils/Utils/concurrentqueue.h b/Utils/include/Utils/concurrentqueue.h similarity index 99% rename from Utils/Utils/concurrentqueue.h rename to Utils/include/Utils/concurrentqueue.h index 68f66df10da96f1e009071c0438568eda975157b..91eb9a6942ba24003eba188018fe18768f161d57 100644 --- a/Utils/Utils/concurrentqueue.h +++ b/Utils/include/Utils/concurrentqueue.h @@ -1,4 +1,4 @@ -// Provides a C++11 implementation of a multi-producer, multi-consumer lock-free queue. +// Provides a C++11 implementation of a multi-producer, multi-consumer lock-free queue. // An overview, including benchmark results, is provided here: // http://moodycamel.com/blog/2014/a-fast-general-purpose-lock-free-queue-for-c++ // The full design is also described in excruciating detail at: diff --git a/cmake/FindALPGEN.cmake b/cmake/FindALPGEN.cmake deleted file mode 100644 index 24d22f6fc4b0cf5cddc659579d25129a43f8f03d..0000000000000000000000000000000000000000 --- a/cmake/FindALPGEN.cmake +++ /dev/null @@ -1,60 +0,0 @@ -############################################################################### -# (c) Copyright 2021 CERN for the benefit of the LHCb and FCC Collaborations # -# # -# This software is distributed under the terms of the Apache License # -# version 2 (Apache-2.0), copied verbatim in the file "COPYING". # -# # -# In applying this licence, CERN does not waive the privileges and immunities # -# granted to it by virtue of its status as an Intergovernmental Organization # -# or submit itself to any jurisdiction. # -############################################################################### -# - Try to find ALPGEN -# Defines: -# -# ALPGEN_FOUND -# ALPGEN_INCLUDE_DIR -# ALPGEN_INCLUDE_DIRS (not cached) -# ALPGEN_<component>_LIBRARY -# ALPGEN_<component>_FOUND -# ALPGEN_LIBRARIES (not cached) -# ALPGEN_LIBRARY_DIRS (not cached) -# ALPGEN_PYTHON_PATH -# ALPGEN_BINARY_PATH (not cached) - -# Enforce a minimal list if none is explicitly requested -if(NOT ALPGEN_FIND_COMPONENTS) - set(ALPGEN_FIND_COMPONENTS alpgen alpsho) -endif() - -foreach(component ${ALPGEN_FIND_COMPONENTS}) - find_library(ALPGEN_${component}_LIBRARY NAMES ${component}) - if (ALPGEN_${component}_LIBRARY) - set(ALPGEN_${component}_FOUND 1) - list(APPEND ALPGEN_LIBRARIES ${ALPGEN_${component}_LIBRARY}) - - get_filename_component(libdir ${ALPGEN_${component}_LIBRARY} PATH) - list(APPEND ALPGEN_LIBRARY_DIRS ${libdir}) - else() - set(ALPGEN_${component}_FOUND 0) - endif() - mark_as_advanced(ALPGEN_${component}_LIBRARY) -endforeach() - -if(ALPGEN_LIBRARY_DIRS) - list(REMOVE_DUPLICATES ALPGEN_LIBRARY_DIRS) -endif() - -find_file(ALPGEN_AUTHOR_DIR alpgen-author - HINTS ${ALPGEN_LIBRARY_DIRS} - PATH_SUFFIXES share ../../share) -mark_as_advanced(ALPGEN_AUTHOR_DIR) -set(ALPGEN_INCLUDE_DIRS ${ALPGEN_AUTHOR_DIR} ${ALPGEN_AUTHOR_DIR}/alplib) - -# handle the QUIETLY and REQUIRED arguments and set ALPGEN_FOUND to TRUE if -# all listed variables are TRUE -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(ALPGEN DEFAULT_MSG ALPGEN_LIBRARY_DIRS ALPGEN_LIBRARIES ALPGEN_AUTHOR_DIR) - -mark_as_advanced(ALPGEN_FOUND) - -set(ALPGEN_ENVIRONMENT SET ALPGEN_AUTHOR_DIR "${ALPGEN_AUTHOR_DIR}") diff --git a/cmake/FindCRMC.cmake b/cmake/FindCRMC.cmake deleted file mode 100644 index a5ca3a181cd218755264fd4d1026eda34f4c8135..0000000000000000000000000000000000000000 --- a/cmake/FindCRMC.cmake +++ /dev/null @@ -1,44 +0,0 @@ -############################################################################### -# (c) Copyright 2021 CERN for the benefit of the LHCb and FCC Collaborations # -# # -# This software is distributed under the terms of the Apache License # -# version 2 (Apache-2.0), copied verbatim in the file "COPYING". # -# # -# In applying this licence, CERN does not waive the privileges and immunities # -# granted to it by virtue of its status as an Intergovernmental Organization # -# or submit itself to any jurisdiction. # -############################################################################### -# - Try to find CRMC -# Defines: -# -# CRMC_FOUND -# CRMC_HOME (not cached) -# CRMC_INCLUDE_DIR -# CRMC_INCLUDE_DIRS (not cached) -# CRMC_LIBRARY -# CRMC_LIBRARIES (not cached) -# CRMC_LIBRARY_DIRS (not cached) - - -find_path(CRMC_INCLUDE_DIR CRMCconfig.h - HINTS $ENV{CRMC_ROOT_DIR}/src - PATH_SUFFIXES src) - -if(CRMC_INCLUDE_DIR) - get_filename_component(CRMC_HOME "${CRMC_INCLUDE_DIR}" DIRECTORY) - set(CRMC_INCLUDE_DIRS "${CRMC_INCLUDE_DIR}") - set(CRMC_LIBRARY_DIRS "${CRMC_HOME}/lib") - set(CRMC_LIBRARIES "${CRMC_LIBRARY_DIRS}/libCrmcBasic.so" "${CRMC_LIBRARY_DIRS}/libHepEvtDummy.so") - -endif() - -mark_as_advanced(CRMC_INCLUDE_DIR) - -# handle the QUIETLY and REQUIRED arguments and set CRMC_FOUND to TRUE if -# all listed variables are TRUE -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(CRMC DEFAULT_MSG CRMC_INCLUDE_DIR) - -mark_as_advanced(CRMC_FOUND) - -set(CRMC_ENVIRONMENT SET CRMC_TABS ${CRMC_HOME}/tabs) diff --git a/cmake/FindHIJING.cmake b/cmake/FindHIJING.cmake deleted file mode 100644 index 1a5037f37880c7971900721a00377224340fc052..0000000000000000000000000000000000000000 --- a/cmake/FindHIJING.cmake +++ /dev/null @@ -1,51 +0,0 @@ -############################################################################### -# (c) Copyright 2021 CERN for the benefit of the LHCb and FCC Collaborations # -# # -# This software is distributed under the terms of the Apache License # -# version 2 (Apache-2.0), copied verbatim in the file "COPYING". # -# # -# In applying this licence, CERN does not waive the privileges and immunities # -# granted to it by virtue of its status as an Intergovernmental Organization # -# or submit itself to any jurisdiction. # -############################################################################### -# - Try to find HIJING -# Defines: -# -# HIJING_FOUND -# HIJING_INCLUDE_DIR -# HIJING_INCLUDE_DIRS (not cached) -# HIJING_<component>_LIBRARY -# HIJING_<component>_FOUND -# HIJING_LIBRARIES (not cached) -# HIJING_LIBRARY_DIRS (not cached) - -# Enforce a minimal list if none is explicitly requested -if(NOT HIJING_FIND_COMPONENTS) - set(HIJING_FIND_COMPONENTS hijing hijing_dummy) -endif() - -foreach(component ${HIJING_FIND_COMPONENTS}) - find_library(HIJING_${component}_LIBRARY NAMES ${component} - HINTS $ENV{HIJING_ROOT_DIR}/lib ${HIJING_ROOT_DIR}/lib) - if (HIJING_${component}_LIBRARY) - set(HIJING_${component}_FOUND 1) - list(APPEND HIJING_LIBRARIES ${HIJING_${component}_LIBRARY}) - - get_filename_component(libdir ${HIJING_${component}_LIBRARY} PATH) - list(APPEND HIJING_LIBRARY_DIRS ${libdir}) - else() - set(HIJING_${component}_FOUND 0) - endif() - mark_as_advanced(HIJING_${component}_LIBRARY) -endforeach() - -if(HIJING_LIBRARY_DIRS) - list(REMOVE_DUPLICATES HIJING_LIBRARY_DIRS) -endif() - -# handle the QUIETLY and REQUIRED arguments and set HIJING_FOUND to TRUE if -# all listed variables are TRUE -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(HIJING DEFAULT_MSG HIJING_LIBRARIES CMAKE_Fortran_COMPILER) - -mark_as_advanced(HIJING_FOUND) diff --git a/cmake/FindHepMC3.cmake b/cmake/FindHepMC3.cmake new file mode 100644 index 0000000000000000000000000000000000000000..3e1c5f2e59b91a996e90d5c72012d521e7634f24 --- /dev/null +++ b/cmake/FindHepMC3.cmake @@ -0,0 +1,61 @@ +############################################################################### +# (c) Copyright 2021 CERN for the benefit of the LHCb and FCC Collaborations # +# # +# This software is distributed under the terms of the Apache License # +# version 2 (Apache-2.0), copied verbatim in the file "COPYING". # +# # +# In applying this licence, CERN does not waive the privileges and immunities # +# granted to it by virtue of its status as an Intergovernmental Organization # +# or submit itself to any jurisdiction. # +############################################################################### +# - Locate HepMC3 library +# Defines: +# Variables: +# HepMC3_FOUND +# HepMC3_INCLUDE_DIR +# HepMC3_INCLUDE_DIRS (not cached) +# HepMC3_<component>_LIBRARY +# HepMC3_LIBRARIES (not cached) +# HepMC3_LIBRARY_DIRS (not cached) +# Targets: +# HepMC3::HepMC3 (default) +# HepMC3::HepMC3search + +if(NOT HepMC3_FIND_COMPONENTS) + set(HepMC3_FIND_COMPONENTS "HepMC3" "HepMC3search") +endif() + +set(HepMC3_INCLUDE_DIR ${GAUSSINOEXTLIBS_PREFIX_DIR}/include) +mark_as_advanced(HepMC3_INCLUDE_DIR) + +foreach(component IN LISTS HepMC3_FIND_COMPONENTS) + find_library(HepMC3_${component}_LIBRARY + ${component} + PATHS ${GAUSSINOEXTLIBS_PREFIX_DIR}/lib) + mark_as_advanced(HepMC3_${component}_LIBRARY) + if(HepMC3_${component}_LIBRARY) + set(HepMC3_${component}_FOUND ${HepMC3_${component}_LIBRARY}) + list(APPEND HepMC3_LIBRARIES ${HepMC3_${component}_LIBRARY}) + get_filename_component(_comp_dir ${HepMC3_${component}_LIBRARY} DIRECTORY) + list(APPEND HepMC3_LIBRARY_DIRS ${_comp_dir}) + endif() +endforeach() + +# handle the QUIETLY and REQUIRED arguments and set HepMC_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(FindPackageHandleStandardArgs) +find_package_handle_standard_args(HepMC3 + HANDLE_COMPONENTS + VERSION_VAR 0.1 + REQUIRED_VARS HepMC3_INCLUDE_DIR HepMC3_LIBRARIES +) + +foreach(component IN LISTS HepMC3_FIND_COMPONENTS) + if(NOT TARGET HepMC3::${component}) + add_library(HepMC3::${component} UNKNOWN IMPORTED) + set_target_properties(HepMC3::${component} PROPERTIES IMPORTED_LOCATION ${HepMC3_${component}_LIBRARY}) + target_include_directories(HepMC3::${component} + SYSTEM INTERFACE "${GAUSSINOEXTLIBS_PREFIX_DIR}/include" + "${GAUSSINOEXTLIBS_PREFIX_DIR}/share/HepMC3/interfaces") + endif() +endforeach() diff --git a/cmake/FindHerwig++.cmake b/cmake/FindHerwig++.cmake deleted file mode 100644 index dfd61d6d097ea42457010b477dedc037612edfec..0000000000000000000000000000000000000000 --- a/cmake/FindHerwig++.cmake +++ /dev/null @@ -1,51 +0,0 @@ -############################################################################### -# (c) Copyright 2021 CERN for the benefit of the LHCb and FCC Collaborations # -# # -# This software is distributed under the terms of the Apache License # -# version 2 (Apache-2.0), copied verbatim in the file "COPYING". # -# # -# In applying this licence, CERN does not waive the privileges and immunities # -# granted to it by virtue of its status as an Intergovernmental Organization # -# or submit itself to any jurisdiction. # -############################################################################### -# - Try to find Herwig++ -# Defines: -# -# HERWIG++_FOUND -# HERWIG++_EXECUTABLE -# HERWIG++_BINARY_PATH (not cached) -# HERWIG++_HOME (not cached) -# HERWIG++_INCLUDE_DIR -# HERWIG++_INCLUDE_DIRS (not cached) -# HERWIG++_LIBRARY_DIR -# HERWIG++_LIBRARY_DIRS (not cached) - -find_program(HERWIG++_EXECUTABLE Herwig++ - HINTS ${HERWIG++_ROOT_DIR}/bin - $ENV{HERWIGPP_ROOT_DIR}/bin - ${HERWIGPP_ROOT_DIR}/bin) -if(HERWIG++_EXECUTABLE) - get_filename_component(HERWIG++_BINARY_PATH ${HERWIG++_EXECUTABLE} PATH) -endif() - -find_file(HERWIG++_INCLUDE_DIR Herwig++ - HINTS ${HERWIG++_ROOT_DIR}/include - $ENV{HERWIGPP_ROOT_DIR}/include - ${HERWIGPP_ROOT_DIR}/include - PATH_SUFFIXES include) -set(HERWIG++_INCLUDE_DIRS ${HERWIG++_INCLUDE_DIR}) -find_file(HERWIG++_LIBRARY_DIR Herwig++ - HINTS ${HERWIG++_ROOT_DIR}/lib - $ENV{HERWIGPP_ROOT_DIR}/lib - ${HERWIGPP_ROOT_DIR}/lib - PATH_SUFFIXES lib) -set(HERWIG++_LIBRARY_DIRS ${HERWIG++_LIBRARY_DIR}) - -mark_as_advanced(HERWIG++_EXECUTABLE HERWIG++_INCLUDE_DIR HERWIG++_LIBRARY_DIR HERWIG++_EXECUTABLE) - -# handle the QUIETLY and REQUIRED arguments and set HERWIG++_FOUND to TRUE if -# all listed variables are TRUE -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(Herwig++ DEFAULT_MSG HERWIG++_INCLUDE_DIR HERWIG++_LIBRARY_DIR) - -mark_as_advanced(HERWIG++_FOUND) diff --git a/cmake/FindLHAPDF.cmake b/cmake/FindLHAPDF.cmake deleted file mode 100644 index 9db74a98fed0873083fff4a48bc89feb67a4f6cc..0000000000000000000000000000000000000000 --- a/cmake/FindLHAPDF.cmake +++ /dev/null @@ -1,39 +0,0 @@ -############################################################################### -# (c) Copyright 2021 CERN for the benefit of the LHCb and FCC Collaborations # -# # -# This software is distributed under the terms of the Apache License # -# version 2 (Apache-2.0), copied verbatim in the file "COPYING". # -# # -# In applying this licence, CERN does not waive the privileges and immunities # -# granted to it by virtue of its status as an Intergovernmental Organization # -# or submit itself to any jurisdiction. # -############################################################################### -# - Try to find LHAPDF -# Defines: -# -# LHAPDF_FOUND -# LHAPDF_INCLUDE_DIR -# LHAPDF_INCLUDE_DIRS (not cached) -# LHAPDF_LIBRARY -# LHAPDF_LIBRARIES (not cached) -# LHAPDF_LIBRARY_DIRS (not cached) - -find_library(LHAPDF_LIBRARY NAMES LHAPDF - HINTS $ENV{LHAPDF_ROOT_DIR}/lib ${LHAPDF_ROOT_DIR}/lib) - -find_path(LHAPDF_INCLUDE_DIR LHAPDF/LHAPDF.h - HINTS $ENV{LHAPDF_ROOT_DIR}/include ${LHAPDF_ROOT_DIR}/include) - -mark_as_advanced(LHAPDF_INCLUDE_DIR LHAPDF_LIBRARY) - -# handle the QUIETLY and REQUIRED arguments and set LHAPDF_FOUND to TRUE if -# all listed variables are TRUE -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(LHAPDF DEFAULT_MSG LHAPDF_INCLUDE_DIR LHAPDF_LIBRARY) - -set(LHAPDF_LIBRARIES ${LHAPDF_LIBRARY}) -get_filename_component(LHAPDF_LIBRARY_DIRS ${LHAPDF_LIBRARY} PATH) - -set(LHAPDF_INCLUDE_DIRS ${LHAPDF_INCLUDE_DIR}) - -mark_as_advanced(LHAPDF_FOUND) diff --git a/cmake/FindPOWHEG-BOX.cmake b/cmake/FindPOWHEG-BOX.cmake deleted file mode 100644 index 7d073cfcfb35bb94a9a2cd68afe9e6ca29afc52b..0000000000000000000000000000000000000000 --- a/cmake/FindPOWHEG-BOX.cmake +++ /dev/null @@ -1,25 +0,0 @@ -############################################################################### -# (c) Copyright 2021 CERN for the benefit of the LHCb and FCC Collaborations # -# # -# This software is distributed under the terms of the Apache License # -# version 2 (Apache-2.0), copied verbatim in the file "COPYING". # -# # -# In applying this licence, CERN does not waive the privileges and immunities # -# granted to it by virtue of its status as an Intergovernmental Organization # -# or submit itself to any jurisdiction. # -############################################################################### -# Try to find POWHEG-BOX -# Defines: -# -# POWHEG-BOX_BINARY_PATH - -find_path(POWHEG-BOX_BINARY_PATH NAMES ZZ Dijet - HINTS ${powhegbox_home}/bin - PATH_SUFFIXES bin) - -# handle the QUIETLY and REQUIRED arguments and set POWHEG-BOX_FOUND to TRUE if -# all listed variables are TRUE -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(POWHEG-BOX DEFAULT_MSG POWHEG-BOX_BINARY_PATH) - -mark_as_advanced(POWHEG-BOX_FOUND) diff --git a/cmake/FindPhotos++.cmake b/cmake/FindPhotos++.cmake deleted file mode 100644 index 2095a0ecef12ccc39a24fb55d36af23129a203cb..0000000000000000000000000000000000000000 --- a/cmake/FindPhotos++.cmake +++ /dev/null @@ -1,62 +0,0 @@ -############################################################################### -# (c) Copyright 2021 CERN for the benefit of the LHCb and FCC Collaborations # -# # -# This software is distributed under the terms of the Apache License # -# version 2 (Apache-2.0), copied verbatim in the file "COPYING". # -# # -# In applying this licence, CERN does not waive the privileges and immunities # -# granted to it by virtue of its status as an Intergovernmental Organization # -# or submit itself to any jurisdiction. # -############################################################################### -# - Try to find Photos++ -# Defines: -# -# PHOTOS++_FOUND -# PHOTOS++_INCLUDE_DIR -# PHOTOS++_INCLUDE_DIRS (not cached) -# PHOTOS++_<component>_LIBRARY -# PHOTOS++_<component>_FOUND -# PHOTOS++_LIBRARIES (not cached) -# PHOTOS++_LIBRARY_DIRS (not cached) - -# Enforce a minimal list if none is explicitly requested -if(NOT PHOTOS++_FIND_COMPONENTS) - set(PHOTOS++_FIND_COMPONENTS Fortran CxxInterface # versions <3.58 - pp HEPEVT ppHepMC) # versions >=3.58 -endif() - -foreach(component ${PHOTOS++_FIND_COMPONENTS}) - find_library(PHOTOS++_${component}_LIBRARY NAMES Photos${component} - HINTS ${PHOTOS++_ROOT_DIR}/lib - $ENV{PHOTOSPP_ROOT_DIR}/lib - ${PHOTOSPP_ROOT_DIR}/lib) - if (PHOTOS++_${component}_LIBRARY) - set(PHOTOS++_${component}_FOUND 1) - list(APPEND PHOTOS++_LIBRARIES ${PHOTOS++_${component}_LIBRARY}) - - get_filename_component(libdir ${PHOTOS++_${component}_LIBRARY} PATH) - list(APPEND PHOTOS++_LIBRARY_DIRS ${libdir}) - else() - set(PHOTOS++_${component}_FOUND 0) - endif() - mark_as_advanced(PHOTOS++_${component}_LIBRARY) -endforeach() - -if(PHOTOS++_LIBRARY_DIRS) - list(REMOVE_DUPLICATES PHOTOS++_LIBRARY_DIRS) -endif() - -find_path(PHOTOS++_INCLUDE_DIR Photos/Photos.h - HINTS ${PHOTOS++_ROOT_DIR}/include - $ENV{PHOTOSPP_ROOT_DIR}/include - ${PHOTOSPP_ROOT_DIR}/include) - -set(PHOTOS++_INCLUDE_DIRS ${PHOTOS++_INCLUDE_DIR}) -mark_as_advanced(PHOTOS++_INCLUDE_DIR) - -# handle the QUIETLY and REQUIRED arguments and set PHOTOS++_FOUND to TRUE if -# all listed variables are TRUE -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(Photos++ DEFAULT_MSG PHOTOS++_INCLUDE_DIR PHOTOS++_LIBRARIES) - -mark_as_advanced(PHOTOS++_FOUND) diff --git a/cmake/FindPythia6.cmake b/cmake/FindPythia6.cmake deleted file mode 100644 index 1883764457efc7e60d0e507168817eb8cbb6bf9d..0000000000000000000000000000000000000000 --- a/cmake/FindPythia6.cmake +++ /dev/null @@ -1,56 +0,0 @@ -############################################################################### -# (c) Copyright 2021 CERN for the benefit of the LHCb and FCC Collaborations # -# # -# This software is distributed under the terms of the Apache License # -# version 2 (Apache-2.0), copied verbatim in the file "COPYING". # -# # -# In applying this licence, CERN does not waive the privileges and immunities # -# granted to it by virtue of its status as an Intergovernmental Organization # -# or submit itself to any jurisdiction. # -############################################################################### -# - Try to find Pythia6 -# Defines: -# -# PYTHIA6_FOUND -# PYTHIA6_INCLUDE_DIR -# PYTHIA6_INCLUDE_DIRS (not cached) -# PYTHIA6_<component>_LIBRARY -# PYTHIA6_<component>_FOUND -# PYTHIA6_LIBRARIES (not cached) -# PYTHIA6_LIBRARY_DIRS (not cached) - -# Enforce a minimal list if none is explicitly requested -if(NOT Pythia6_FIND_COMPONENTS) - set(Pythia6_FIND_COMPONENTS pythia6 pythia6_dummy) -endif() - -foreach(component ${Pythia6_FIND_COMPONENTS}) - find_library(PYTHIA6_${component}_LIBRARY NAMES ${component} - HINTS $ENV{PYTHIA6_ROOT_DIR}/lib ${PYTHIA6_ROOT_DIR}/lib) - if (PYTHIA6_${component}_LIBRARY) - set(PYTHIA6_${component}_FOUND 1) - list(APPEND PYTHIA6_LIBRARIES ${PYTHIA6_${component}_LIBRARY}) - - get_filename_component(libdir ${PYTHIA6_${component}_LIBRARY} PATH) - list(APPEND PYTHIA6_LIBRARY_DIRS ${libdir}) - else() - set(PYTHIA6_${component}_FOUND 0) - endif() - mark_as_advanced(PYTHIA6_${component}_LIBRARY) -endforeach() - -if(PYTHIA6_LIBRARY_DIRS) - list(REMOVE_DUPLICATES PYTHIA6_LIBRARY_DIRS) -endif() - -find_path(PYTHIA6_INCLUDE_DIR general_pythia.inc - HINTS $ENV{PYTHIA6_ROOT_DIR}/include ${PYTHIA6_ROOT_DIR}/include) -set(PYTHIA6_INCLUDE_DIRS ${PYTHIA6_INCLUDE_DIR}) -mark_as_advanced(PYTHIA6_INCLUDE_DIR) - -# handle the QUIETLY and REQUIRED arguments and set PYTHIA6_FOUND to TRUE if -# all listed variables are TRUE -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(Pythia6 DEFAULT_MSG PYTHIA6_INCLUDE_DIR PYTHIA6_LIBRARIES CMAKE_Fortran_COMPILER) - -mark_as_advanced(PYTHIA6_FOUND) diff --git a/cmake/FindPythia8.cmake b/cmake/FindPythia8.cmake index d485487d736372d9d51db75239f30e36b7065e16..477d83bf2840378a4fce110fff0c507d0623f901 100644 --- a/cmake/FindPythia8.cmake +++ b/cmake/FindPythia8.cmake @@ -71,3 +71,8 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(Pythia8 DEFAULT_MSG PYTHIA8_INCLUDE_DIR PYTHIA set(PYTHIA8_INCLUDE_DIRS ${PYTHIA8_INCLUDE_DIR}) mark_as_advanced(PYTHIA8_FOUND) + +# FIXME: well-defined target +add_library(Pythia8::Pythia8 UNKNOWN IMPORTED) +set_target_properties(Pythia8::Pythia8 PROPERTIES IMPORTED_LOCATION ${PYTHIA8_LIBRARIES}) +target_include_directories(Pythia8::Pythia8 SYSTEM INTERFACE ${PYTHIA8_INCLUDE_DIR}) diff --git a/cmake/FindRivet.cmake b/cmake/FindRivet.cmake deleted file mode 100644 index 0610aadc239696b7282f0249114219b083a4830b..0000000000000000000000000000000000000000 --- a/cmake/FindRivet.cmake +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################### -# (c) Copyright 2021 CERN for the benefit of the LHCb and FCC Collaborations # -# # -# This software is distributed under the terms of the Apache License # -# version 2 (Apache-2.0), copied verbatim in the file "COPYING". # -# # -# In applying this licence, CERN does not waive the privileges and immunities # -# granted to it by virtue of its status as an Intergovernmental Organization # -# or submit itself to any jurisdiction. # -############################################################################### -# - Try to find Rivet -# Defines: -# -# RIVET_FOUND -# RIVET_INCLUDE_DIR -# RIVET_INCLUDE_DIRS (not cached) -# RIVET_LIBRARY -# RIVET_LIBRARIES (not cached) -# RIVET_LIBRARY_DIRS (not cached) - -find_library(RIVET_LIBRARY NAMES Rivet) - -find_path(RIVET_INCLUDE_DIR Rivet/Rivet.hh) - -find_program(RIVET_EXECUTABLE NAMES rivet) -find_program(RIVET_buildplugin_EXECUTABLE NAMES rivet-buildplugin) - -mark_as_advanced(RIVET_INCLUDE_DIR RIVET_LIBRARY RIVET_EXECUTABLE RIVET_buildplugin_EXECUTABLE) - -# handle the QUIETLY and REQUIRED arguments and set Rivet_FOUND to TRUE if -# all listed variables are TRUE -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(Rivet DEFAULT_MSG RIVET_INCLUDE_DIR RIVET_LIBRARY RIVET_EXECUTABLE RIVET_buildplugin_EXECUTABLE) - -set(RIVET_LIBRARIES ${RIVET_LIBRARY}) -get_filename_component(RIVET_LIBRARY_DIRS ${RIVET_LIBRARY} PATH) - -set(RIVET_INCLUDE_DIRS ${RIVET_INCLUDE_DIR}) - -get_filename_component(RIVET_BINARY_PATH ${RIVET_EXECUTABLE} PATH) - -mark_as_advanced(Rivet_FOUND) diff --git a/cmake/FindTauola++.cmake b/cmake/FindTauola++.cmake deleted file mode 100644 index 33eccf9c25c78a6cb60821bab791f38e26dc6a51..0000000000000000000000000000000000000000 --- a/cmake/FindTauola++.cmake +++ /dev/null @@ -1,63 +0,0 @@ -############################################################################### -# (c) Copyright 2021 CERN for the benefit of the LHCb and FCC Collaborations # -# # -# This software is distributed under the terms of the Apache License # -# version 2 (Apache-2.0), copied verbatim in the file "COPYING". # -# # -# In applying this licence, CERN does not waive the privileges and immunities # -# granted to it by virtue of its status as an Intergovernmental Organization # -# or submit itself to any jurisdiction. # -############################################################################### -# - Try to find Tauola++ -# Defines: -# -# TAUOLA++_FOUND -# TAUOLA++_INCLUDE_DIR -# TAUOLA++_INCLUDE_DIRS (not cached) -# TAUOLA++_<component>_LIBRARY -# TAUOLA++_<component>_FOUND -# TAUOLA++_LIBRARIES (not cached) -# TAUOLA++_LIBRARY_DIRS (not cached) - -# Enforce a minimal list if none is explicitly requested -if(NOT Tauola++_FIND_COMPONENTS) - set(Tauola++_FIND_COMPONENTS Fortran CxxInterface) -endif() - -#message(STATUS "Tauola++ CMAKE_PREFIX_PATH") -#foreach(_x ${CMAKE_PREFIX_PATH}) -# message(STATUS "Tauola++ -- ${_x}") -#endforeach() - -foreach(component ${Tauola++_FIND_COMPONENTS}) - find_library(TAUOLA++_${component}_LIBRARY NAMES Tauola${component} - HINTS ${TAUOLA++_ROOT_DIR}/lib - $ENV{TAUOLAPP_ROOT_DIR}/lib ${TAUOLAPP_ROOT_DIR}/lib) - if (TAUOLA++_${component}_LIBRARY) - set(TAUOLA++_${component}_FOUND 1) - list(APPEND TAUOLA++_LIBRARIES ${TAUOLA++_${component}_LIBRARY}) - - get_filename_component(libdir ${TAUOLA++_${component}_LIBRARY} PATH) - list(APPEND TAUOLA++_LIBRARY_DIRS ${libdir}) - else() - set(TAUOLA++_${component}_FOUND 0) - endif() - mark_as_advanced(TAUOLA++_${component}_LIBRARY) -endforeach() - -if(TAUOLA++_LIBRARY_DIRS) - list(REMOVE_DUPLICATES TAUOLA++_LIBRARY_DIRS) -endif() - -find_path(TAUOLA++_INCLUDE_DIR Tauola/Tauola.h - HINTS ${TAUOLA++_ROOT_DIR}/include - $ENV{TAUOLAPP_ROOT_DIR}/include ${TAUOLAPP_ROOT_DIR}/include) -set(TAUOLA++_INCLUDE_DIRS ${TAUOLA++_INCLUDE_DIR}) -mark_as_advanced(TAUOLA++_INCLUDE_DIR) - -# handle the QUIETLY and REQUIRED arguments and set TAUOLA++_FOUND to TRUE if -# all listed variables are TRUE -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(Tauola++ DEFAULT_MSG TAUOLA++_INCLUDE_DIR TAUOLA++_LIBRARIES) - -mark_as_advanced(TAUOLA++_FOUND) diff --git a/cmake/FindThePEG.cmake b/cmake/FindThePEG.cmake deleted file mode 100644 index c1a4e440f36561ebc387fa7263faaefff3db5e22..0000000000000000000000000000000000000000 --- a/cmake/FindThePEG.cmake +++ /dev/null @@ -1,40 +0,0 @@ -############################################################################### -# (c) Copyright 2021 CERN for the benefit of the LHCb and FCC Collaborations # -# # -# This software is distributed under the terms of the Apache License # -# version 2 (Apache-2.0), copied verbatim in the file "COPYING". # -# # -# In applying this licence, CERN does not waive the privileges and immunities # -# granted to it by virtue of its status as an Intergovernmental Organization # -# or submit itself to any jurisdiction. # -############################################################################### -# - Try to find ThePEG -# Defines: -# -# THEPEG_FOUND -# THEPEG_INCLUDE_DIR -# THEPEG_INCLUDE_DIRS (not cached) -# THEPEG_LIBRARY -# THEPEG_LIBRARIES (not cached) -# THEPEG_LIBRARY_DIRS (not cached) - -find_path(THEPEG_INCLUDE_DIR ThePEG/Config/ThePEG.h - HINTS $ENV{THEPEG_ROOT_DIR}/include ${THEPEG_ROOT_DIR}/include) - -find_library(THEPEG_LIBRARY NAMES ThePEG - HINTS $ENV{THEPEG_ROOT_DIR}/lib ${THEPEG_ROOT_DIR}/lib - PATH_SUFFIXES ThePEG) - -mark_as_advanced(THEPEG_INCLUDE_DIR THEPEG_LIBRARY) - -# handle the QUIETLY and REQUIRED arguments and set ThePEG_FOUND to TRUE if -# all listed variables are TRUE -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(ThePEG DEFAULT_MSG THEPEG_INCLUDE_DIR THEPEG_LIBRARY) - -mark_as_advanced(THEPEG_FOUND) - -set(THEPEG_LIBRARIES ${THEPEG_LIBRARY}) -get_filename_component(THEPEG_LIBRARY_DIRS ${THEPEG_LIBRARY} PATH) - -set(THEPEG_INCLUDE_DIRS ${THEPEG_INCLUDE_DIR}) diff --git a/cmake/FindYODA.cmake b/cmake/FindYODA.cmake deleted file mode 100644 index 6e3f042f8033336db1b749100841fa7c97c2323e..0000000000000000000000000000000000000000 --- a/cmake/FindYODA.cmake +++ /dev/null @@ -1,43 +0,0 @@ -############################################################################### -# (c) Copyright 2021 CERN for the benefit of the LHCb and FCC Collaborations # -# # -# This software is distributed under the terms of the Apache License # -# version 2 (Apache-2.0), copied verbatim in the file "COPYING". # -# # -# In applying this licence, CERN does not waive the privileges and immunities # -# granted to it by virtue of its status as an Intergovernmental Organization # -# or submit itself to any jurisdiction. # -############################################################################### -# - Try to find YODA -# Defines: -# -# YODA_FOUND -# YODA_HOME (not cached) -# YODA_INCLUDE_DIRS (not cached) -# YODA_LIBRARY -# YODA_LIBRARIES (not cached) -# YODA_LIBRARY_DIRS (not cached) - - -find_library(YODA_LIBRARY YODA - HINTS $ENV{YODA_ROOT_DIR}/lib) - -if(YODA_LIBRARY) - get_filename_component(YODA_LIBRARY_DIRS "${YODA_LIBRARY}" DIRECTORY) - get_filename_component(YODA_HOME "${YODA_LIBRARY_DIRS}" DIRECTORY) - set(YODA_INCLUDE_DIRS "${YODA_HOME}/include") - set(YODA_LIBRARIES "${YODA_LIBRARY}") - -endif() - -mark_as_advanced(YODA_LIBRARY) - -# handle the QUIETLY and REQUIRED arguments and set YODA_FOUND to TRUE if -# all listed variables are TRUE -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(YODA DEFAULT_MSG YODA_LIBRARY) - -mark_as_advanced(YODA_FOUND) - -set(YODA_PYTHON_PATH ${YODA_HOME}/lib/python${Python_config_version_twodigit}/site-packages) -set(YODA_BINARY_PATH ${YODA_HOME}/bin) diff --git a/cmake/GaussinoConfig.cmake.in b/cmake/GaussinoConfig.cmake.in new file mode 100644 index 0000000000000000000000000000000000000000..105ef0b49cbfdc8fdb796406662104dbdbabd226 --- /dev/null +++ b/cmake/GaussinoConfig.cmake.in @@ -0,0 +1,41 @@ +cmake_policy(PUSH) +cmake_policy(VERSION 3.15) + +@PACKAGE_INIT@ + +set(@PROJECT_NAME_UPCASE@_PREFIX_DIR "${PACKAGE_PREFIX_DIR}") + +if(PACKAGE_PREFIX_DIR MATCHES "/InstallArea/") + get_filename_component(@PROJECT_NAME_UPCASE@_PROJECT_ROOT "${PACKAGE_PREFIX_DIR}/../.." ABSOLUTE) +else() + set(@PROJECT_NAME_UPCASE@_PROJECT_ROOT "${PACKAGE_PREFIX_DIR}") +endif() +@CONFIG_OPTIONS@ +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) +include(${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Dependencies.cmake) +@CONFIG_IMPORT_TARGETS@ +# environment +gaussino_env(@ENVIRONMENT@) + +if(NOT TARGET target_runtime_paths) + add_custom_target(target_runtime_paths) +endif() +if(EXISTS "${@PROJECT_NAME_UPCASE@_PREFIX_DIR}/bin") + _gaudi_runtime_prepend(path ${@PROJECT_NAME_UPCASE@_PREFIX_DIR}/bin) +endif() +if(EXISTS "${@PROJECT_NAME_UPCASE@_PREFIX_DIR}/lib") + _gaudi_runtime_prepend(ld_library_path ${@PROJECT_NAME_UPCASE@_PREFIX_DIR}/lib) +endif() +if(EXISTS "${@PROJECT_NAME_UPCASE@_PREFIX_DIR}/python") + _gaudi_runtime_prepend(pythonpath ${@PROJECT_NAME_UPCASE@_PREFIX_DIR}/python) +endif() +if(EXISTS "${@PROJECT_NAME_UPCASE@_PREFIX_DIR}/include") + _gaudi_runtime_prepend(root_include_path ${@PROJECT_NAME_UPCASE@_PREFIX_DIR}/include) +endif() + +if(NOT @PROJECT_NAME@_FIND_QUIETLY) + message(STATUS "Found @PROJECT_NAME@: ${CMAKE_CURRENT_LIST_DIR} (found version @PROJECT_VERSION@)") +endif() + +cmake_policy(POP) + diff --git a/cmake/GaussinoConfigUtils.cmake b/cmake/GaussinoConfigUtils.cmake new file mode 100644 index 0000000000000000000000000000000000000000..1b9070a278c7e157079b7aaaecdcfaf9e9a0a208 --- /dev/null +++ b/cmake/GaussinoConfigUtils.cmake @@ -0,0 +1,309 @@ +############################################################################### +# (c) Copyright 2022 CERN for the benefit of the LHCb and FCC Collaborations # +# # +# This software is distributed under the terms of the Apache License # +# version 2 (Apache-2.0), copied verbatim in the file "COPYING". # +# # +# In applying this licence, CERN does not waive the privileges and immunities # +# granted to it by virtue of its status as an Intergovernmental Organization # +# or submit itself to any jurisdiction. # +############################################################################### + + +# copied & modified from LHCbConfigUtils.cmake +set(GAUSSINO_UNUSED_SUBDIR_MESSAGE_TYPE "WARNING" + CACHE STRING "Message type for detected unused subdirs") +# copied & modified from LHCbConfigUtils.cmake +set(GAUSSINO_UNUSED_SOURCE_MESSAGE_TYPE "WARNING" + CACHE STRING "Message type for detected unused source files") + + +function(gaussino_env) + # copied & modified from lhcb_env in LHCbConfigUtils.cmake + message(DEBUG "gaussino_env(${ARGV})") + if(ARGC GREATER 0 AND ARGV0 STREQUAL "PRIVATE") + # drop the flag and do not propagate the change downstream + list(REMOVE_AT ARGV 0) + else() + # not PRIVATE, so propagate the change downstream + set_property(GLOBAL APPEND PROPERTY ${PROJECT_NAME}_ENVIRONMENT ${ARGV}) + endif() + if(NOT TARGET target_runtime_paths) + # this usually means we are not using GaudiToolbox.cmake, like in old + # style projects + return() + endif() + while(ARGV) + list(POP_FRONT ARGV action variable value) + if(action STREQUAL "SET") + set_property(TARGET target_runtime_paths APPEND_STRING + PROPERTY extra_commands "export ${variable}=${value}\n") + elseif(action STREQUAL "PREPEND") + set_property(TARGET target_runtime_paths APPEND_STRING + PROPERTY extra_commands "export ${variable}=${value}:\$${variable}\n") + elseif(action STREQUAL "APPEND") + set_property(TARGET target_runtime_paths APPEND_STRING + PROPERTY extra_commands "export ${variable}=\$${variable}:${value}\n") + elseif(action STREQUAL "DEFAULT") + set_property(TARGET target_runtime_paths APPEND_STRING + PROPERTY extra_commands "export ${variable}=\${${variable}:-${value}}\n") + else() + message(FATAL_ERROR "invalid environment action ${action}") + endif() + endwhile() +endfunction() + +macro(gaussino_add_subdirectories) + # copied & modified from lhcb_add_subdirectories in LHCbConfigUtils.cmake + message(STATUS "Adding ${ARGC} subdirectories:") + set(gaussino_add_subdirectories_index 0) + foreach(subdir IN ITEMS ${ARGN}) + math(EXPR gaussino_add_subdirectories_index "${gaussino_add_subdirectories_index} + 1") + math(EXPR gaussino_add_subdirectories_progress "${gaussino_add_subdirectories_index} * 100 / ${ARGC}") + if(gaussino_add_subdirectories_progress LESS 10) + set(gaussino_add_subdirectories_progress " ${gaussino_add_subdirectories_progress}") + elseif(gaussino_add_subdirectories_progress LESS 100) + set(gaussino_add_subdirectories_progress " ${gaussino_add_subdirectories_progress}") + endif() + message(STATUS " (${gaussino_add_subdirectories_progress}%) ${subdir}") + add_subdirectory(${subdir}) + string(TOUPPER "${subdir}ROOT" root_var) + string(REGEX REPLACE ".*/" "" root_var "${root_var}") + gaussino_env(SET "${root_var}" "${CMAKE_CURRENT_SOURCE_DIR}/${subdir}") + endforeach() +endmacro() + +function(gaussino_initialize_configuration) + # copied & modified from lhcb_env in LHCbConfigUtils.cmake + + # Optionally enable compatibility with old-style CMake configurations, via helper module + option(GAUDI_LEGACY_CMAKE_SUPPORT "Enable compatibility with old-style CMake builds" "$ENV{GAUDI_LEGACY_CMAKE_SUPPORT}") + + # default install prefix when building in legacy mode + # note: this doplicates a bit of code in LegacyGaudiCMakeSupport.cmake, but we need to set CMAKE_INSTALL_PREFIX + # before we use it later in this macro (and before we can include LegacyGaudiCMakeSupport.cmake) + if(GAUDI_LEGACY_CMAKE_SUPPORT) + # make sure we have a BINARY_TAG CMake variable set + if(NOT BINARY_TAG) + if(NOT "$ENV{BINARY_TAG}" STREQUAL "") + set(BINARY_TAG $ENV{BINARY_TAG}) + elseif(LHCB_PLATFORM) + set(BINARY_TAG ${LHCB_PLATFORM}) + else() + message(AUTHOR_WARNING "BINARY_TAG not set") + endif() + endif() + + if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${CMAKE_SOURCE_DIR}/InstallArea/${BINARY_TAG}" + CACHE PATH "Install prefix" FORCE) + endif() + endif() + + # environment for the project + gaussino_env(PREPEND PATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}") + gaussino_env(PREPEND LD_LIBRARY_PATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") + if(NOT CMAKE_INSTALL_LIBDIR STREQUAL GAUDI_INSTALL_PLUGINDIR) + gaussino_env(PREPEND LD_LIBRARY_PATH "${CMAKE_INSTALL_PREFIX}/${GAUDI_INSTALL_PLUGINDIR}") + endif() + gaussino_env(PREPEND PYTHONPATH "${CMAKE_INSTALL_PREFIX}/${GAUDI_INSTALL_PYTHONDIR}") + gaussino_env(PREPEND ROOT_INCLUDE_PATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}") + + # override GaudiToolbox internal macro to use gaussino_env + macro(_gaudi_runtime_prepend runtime value) + string(TOUPPER "${runtime}" _runtime_var) + gaussino_env(PRIVATE PREPEND "${_runtime_var}" "${value}") + endmacro() +endfunction() + +function(gaussino_finalize_configuration) + # copied & modified from gaussino_finalize_configuration in LHCbConfigUtils.cmake + # environment for data packages + get_property(data_packages_found GLOBAL PROPERTY DATA_PACKAGES_FOUND) + foreach(data_package IN LISTS data_packages_found) + if(data_package MATCHES "^([^:]*):(.*)\$") + set(data_package ${CMAKE_MATCH_1}) + endif() + string(TOUPPER "${data_package}" DP_NAME) + string(REGEX REPLACE ".*/" "" DP_NAME "${DP_NAME}") + gaussino_env(PRIVATE DEFAULT "${DP_NAME}ROOT" "${${data_package}_ROOT_DIR}") + if(IS_DIRECTORY "${${data_package}_ROOT_DIR}/options") + gaussino_env(PRIVATE SET "${DP_NAME}OPTS" "\${${DP_NAME}ROOT}/options") + string(APPEND datapkg_env "export ${DP_NAME}OPTS=${${data_package}_ROOT_DIR}/options\n") + endif() + if(IS_DIRECTORY "${${data_package}_ROOT_DIR}/python") + gaussino_env(PRIVATE PREPEND "PYTHONPATH" "\${${DP_NAME}ROOT}/python") + endif() + endforeach() + + # environment used by lbexec + gaussino_env(PRIVATE DEFAULT "GAUDIAPPNAME" "${CMAKE_PROJECT_NAME}") + gaussino_env(PRIVATE DEFAULT "GAUDIAPPVERSION" "${CMAKE_PROJECT_VERSION}") + + set_property(TARGET target_runtime_paths APPEND_STRING + PROPERTY extra_commands "# remove duplicates\neval $(python3 -c \"import os; print(*('export {}={} ;'.format(n, ':'.join(dict.fromkeys(os.environ.get(n,'').split(':')))) for n in ('PATH','PYTHONPATH','LD_LIBRARY_PATH','ROOT_INCLUDE_PATH')),sep='\\n')\")\n") + + include(CMakePackageConfigHelpers) + # special variables needed in the config file + string(TOUPPER "${PROJECT_NAME}" PROJECT_NAME_UPCASE) + get_property(packages_found GLOBAL PROPERTY PACKAGES_FOUND) + get_property(ENVIRONMENT GLOBAL PROPERTY ${PROJECT_NAME}_ENVIRONMENT) + string(REPLACE "${PROJECT_SOURCE_DIR}" "\${${PROJECT_NAME_UPCASE}_PROJECT_ROOT}" + ENVIRONMENT "${ENVIRONMENT}") + foreach(pack IN LISTS packages_found) + string(TOUPPER "${pack}" PROJ) + if(DEFINED ${PROJ}_PROJECT_ROOT) + string(REPLACE "${${PROJ}_PROJECT_ROOT}" "\${${PROJ}_PROJECT_ROOT}" + ENVIRONMENT "${ENVIRONMENT}") + endif() + endforeach() + # record "persistent options" for downstream projects + set(CONFIG_OPTIONS "") + foreach(option IN LISTS ${PROJECT_NAME}_PERSISTENT_OPTIONS) + if(DEFINED ${option}) + string(APPEND CONFIG_OPTIONS "set(${option} ${${option}} CACHE BOOL \"value used at compile time for ${option}\" FORCE)\n") + endif() + endforeach() + if(CONFIG_OPTIONS) # this is just to make the generated file nicer + string(PREPEND CONFIG_OPTIONS "\n# Options used when compiling\n") + endif() + # record versions of upstream LHCb projects + set(DEPS_VERSIONS "") + foreach(pack IN LISTS packages_found) + # we want to record the versions of projects with /InstallArea/ + # as we usually have multiple versions available in the search path + # and we want to pick up the same version that was used during the build + if("${${pack}_DIR}${${pack}_ROOT_DIR}" MATCHES "/InstallArea/" AND "${${pack}_VERSION}" MATCHES "^[0-9.]+$") + string(APPEND DEPS_VERSIONS + "if(NOT DEFINED ${pack}_EXACT_VERSION)\n" + " set(${pack}_EXACT_VERSION ${${pack}_VERSION} CACHE STRING \"Version of ${pack} used in upstream builds\")\n" + " mark_as_advanced(${pack}_EXACT_VERSION)\n" + "elseif(NOT ${pack}_EXACT_VERSION STREQUAL \"${${pack}_VERSION}\")\n" + " message(WARNING \"Requested version of ${pack} (\${${pack}_EXACT_VERSION}) differs from that used for build (${${pack}_VERSION})\")\n" + "endif()\n") + endif() + endforeach() + if(DEPS_VERSIONS) + string(APPEND CONFIG_OPTIONS "\n# Versions of upstream projects used for the build\n${DEPS_VERSIONS}") + endif() + + if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR AND NOT "${ARGV0}" STREQUAL "NO_EXPORT") + # install exports only if we are a master project we were not given the "NO_EXPORT" option + install(EXPORT ${PROJECT_NAME} NAMESPACE ${PROJECT_NAME}:: + FILE "${PROJECT_NAME}Targets.cmake" + DESTINATION "${GAUDI_INSTALL_CONFIGDIR}") + set(CONFIG_IMPORT_TARGETS "include(\${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}Targets.cmake)\n") + endif() + + # generate config files + configure_package_config_file( + ${PROJECT_SOURCE_DIR}/cmake/GaussinoConfig.cmake.in ${PROJECT_NAME}Config.cmake + INSTALL_DESTINATION "${GAUDI_INSTALL_CONFIGDIR}" + PATH_VARS + CMAKE_INSTALL_BINDIR + CMAKE_INSTALL_LIBDIR + CMAKE_INSTALL_INCLUDEDIR + GAUDI_INSTALL_PLUGINDIR + GAUDI_INSTALL_PYTHONDIR + NO_CHECK_REQUIRED_COMPONENTS_MACRO + ) + write_basic_package_version_file(${PROJECT_NAME}ConfigVersion.cmake + COMPATIBILITY AnyNewerVersion) + + gaudi_generate_version_header_file() + + gaudi_install(CMAKE + cmake/${PROJECT_NAME}Dependencies.cmake + "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" + ) + if(EXISTS lhcbproject.yml) + gaudi_install(CMAKE lhcbproject.yml) + endif() + + # check that we actually build everything in the project + # - check all subdirs are included (except for those listed in GAUSSINO_IGNORE_SUBDIRS) + get_property(added_subdirs DIRECTORY PROPERTY SUBDIRECTORIES) + file(GLOB_RECURSE detected_subdirs "*/CMakeLists.txt") + if(detected_subdirs) + set(missed_subdirs) + list(TRANSFORM detected_subdirs REPLACE "/CMakeLists.txt" "") + list(SORT detected_subdirs) + foreach(subdir IN LISTS detected_subdirs) + list(FIND added_subdirs ${subdir} idx) + if(idx STREQUAL "-1" AND NOT subdir MATCHES "^${CMAKE_BINARY_DIR}/.*") + file(GLOB subdir RELATIVE "${PROJECT_SOURCE_DIR}" ${subdir}) + list(APPEND missed_subdirs ${subdir}) + endif() + endforeach() + if(missed_subdirs AND GAUSSINO_IGNORE_SUBDIRS) + list(REMOVE_ITEM missed_subdirs ${GAUSSINO_IGNORE_SUBDIRS}) + endif() + if(missed_subdirs) + list(JOIN missed_subdirs "\n - " missed_subdirs) + message(${GAUSSINO_UNUSED_SUBDIR_MESSAGE_TYPE} + "Project ${PROJECT_NAME} contains subdirectories that are not used:\n - ${missed_subdirs}\n") + endif() + endif() + # - check for all files (*.cpp and *.cxx in source directories) + if(NOT GAUSSINO_UNUSED_SOURCE_MESSAGE_TYPE STREQUAL "IGNORE") + # for each directory (including the top one) we get the targets and for + # each target we get the source files excluding absolute paths + # (which means also those in the build directory), then we prefix the subdir + # path + set(used_sources) + list(PREPEND added_subdirs ${PROJECT_SOURCE_DIR}) + foreach(subdir IN LISTS added_subdirs) + get_property(targets DIRECTORY ${subdir} PROPERTY BUILDSYSTEM_TARGETS) + foreach(target IN LISTS targets) + get_target_property(target_type ${target} TYPE) + if(target_type STREQUAL "INTERFACE_LIBRARY" AND CMAKE_VERSION VERSION_LESS "3.19") + continue() # sources for interface libraries were introduced only in cmake 3.19 + endif() + get_target_property(sources ${target} SOURCES) + list(FILTER sources EXCLUDE REGEX "^/") + list(TRANSFORM sources PREPEND "${subdir}/") + list(APPEND used_sources ${sources}) + endforeach() + endforeach() + list(REMOVE_DUPLICATES used_sources) + # from the list of of source files we guess the directories meant to contain + # source files + list(TRANSFORM used_sources REPLACE "/[^/]*$" "" + OUTPUT_VARIABLE source_dirs) + list(REMOVE_DUPLICATES source_dirs) + # and we look for all *.cpp and *.cxx files in these directories + list(TRANSFORM source_dirs APPEND "/*.cpp" OUTPUT_VARIABLE source_cpp_globs) + list(TRANSFORM source_dirs APPEND "/*.cxx" OUTPUT_VARIABLE source_cxx_globs) + file(GLOB all_sources ${source_cpp_globs} ${source_cxx_globs}) + # check if they are all used + set(missed_sources) + foreach(src IN LISTS all_sources) + list(FIND used_sources ${src} idx) + if(idx STREQUAL "-1") + file(GLOB src RELATIVE "${PROJECT_SOURCE_DIR}" ${src}) + list(APPEND missed_sources ${src}) + endif() + endforeach() + # and report any missing file + if(missed_sources) + list(JOIN missed_sources "\n - " missed_sources) + message(${GAUSSINO_UNUSED_SOURCE_MESSAGE_TYPE} + "Project ${PROJECT_NAME} contains source files which are not used in any target:\n - ${missed_sources}\n") + endif() + endif() + + + # Set the version of the project as a cache variable to be seen by other + # projects in the same super-project. + set(${PROJECT_NAME}_VERSION "${PROJECT_VERSION}" CACHE STRING "Version of ${PROJECT_NAME}" FORCE) + + if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR AND GAUDI_LEGACY_CMAKE_SUPPORT) + find_file(legacy_cmake_config_support NAMES LegacyGaudiCMakeSupport.cmake) + if(legacy_cmake_config_support) + include(${legacy_cmake_config_support}) + else() + message(FATAL_ERROR "GAUDI_LEGACY_CMAKE_SUPPORT set to TRUE, but cannot find LegacyGaudiCMakeSupport.cmake") + endif() + endif() +endfunction() diff --git a/cmake/GaussinoDependencies.cmake b/cmake/GaussinoDependencies.cmake new file mode 100644 index 0000000000000000000000000000000000000000..08d0f00935ff2a18f80dfd55a9aac6a7145b0825 --- /dev/null +++ b/cmake/GaussinoDependencies.cmake @@ -0,0 +1,59 @@ +############################################################################### +# (c) Copyright 2022 CERN for the benefit of the LHCb and FCC Collaborations # +# # +# This software is distributed under the terms of the Apache License # +# version 2 (Apache-2.0), copied verbatim in the file "COPYING". # +# # +# In applying this licence, CERN does not waive the privileges and immunities # +# granted to it by virtue of its status as an Intergovernmental Organization # +# or submit itself to any jurisdiction. # +############################################################################### +include(${CMAKE_CURRENT_LIST_DIR}/GaussinoConfigUtils.cmake) + +# TODO: [LHCb DEPENDENCY] +if(NOT COMMAND lhcb_find_package) + # Look for LHCb find_package wrapper + find_file(LHCbFindPackage_FILE LHCbFindPackage.cmake) + if(LHCbFindPackage_FILE) + include(${LHCbFindPackage_FILE}) + else() + # if not found, use the standard find_package + macro(lhcb_find_package) + find_package(${ARGV}) + endmacro() + endif() +endif() + +# -- Public dependencies +lhcb_find_package(GaussinoExtLibs REQUIRED) # TODO: [NEW CMAKE] temporary project + +if(Geant4_FOUND) + get_cmake_property(variables VARIABLES) + foreach(var ${variables}) + string(REGEX MATCH "Geant4_DATASET_([A-Za-z0-9]+)_ENVVAR" _ ${var}) + if(NOT CMAKE_MATCH_1 STREQUAL "") + # copy the Geant4Data variables using GaudiToolbox.cmake + lhcb_env(SET ${Geant4_DATASET_${CMAKE_MATCH_1}_ENVVAR} ${Geant4_DATASET_${CMAKE_MATCH_1}_PATH}) + endif() + endforeach() +endif() + +find_package(HepMC3 REQUIRED) +find_package(Pythia8 REQUIRED) + +if(USE_DD4HEP) + set(CMAKE_CXX_STANDARD ${GAUDI_CXX_STANDARD}) + find_package(DD4hep REQUIRED DDCore) + find_package(DD4hepDDG4 + REQUIRED + PATHS ${GAUSSINOEXTLIBS_PREFIX_DIR}/cmake + NO_DEFAULT_PATH + ) +endif() + +# -- Private dependencies +if(WITH_Gaussino_PRIVATE_DEPENDENCIES) + if(BUILD_TESTING) + find_package(Boost REQUIRED unit_test_framework) + endif() +endif() diff --git a/docs/conf.py b/docs/conf.py index 08c20735870608bad155e5196cebd26828f7da33..9138aa28f35a78f88e6fc0b1a629454c7207d7c4 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -10,14 +10,14 @@ # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # -# import os +import os # import sys # sys.path.insert(0, os.path.abspath('.')) # -- Project information ----------------------------------------------------- project = 'Gaussino' -copyright = '2021, LHCb Collaboration' +copyright = '2017-2022, CERN for the benefit of the LHCb and FCC collaborations' author = 'LHCb Collaboration' # The full version, including alpha/beta/rc tags @@ -55,6 +55,13 @@ master_doc = 'index' # html_theme = 'sphinx_rtd_theme' +html_logo = 'images/gaussino_logo.png' + +html_theme_options = { + 'logo_only': True, + 'style_nav_header_background': '#343131', +} + # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". @@ -76,19 +83,16 @@ napoleon_numpy_docstring = True # -- Custom Versioning settings ----------------------------------------------- # Implemented manually as READTHEDOCS handle them once already hosted -website_root = 'gaussino' html_context['display_lower_left'] = True # visible versions versions = [ 'master', 'v0r1', + 'FASTSIM', ] -# from git import Repo -# repo = Repo(search_parent_directories=True) -# current_version = repo.active_branch.name -current_version = 'master' +current_version = os.getenv("DOCS_VERSION", "master") # tell the theme which version we're currently on ('current_version' affects # the lower-left rtd menu and 'version' affects the logo-area version) @@ -98,9 +102,11 @@ html_context['version'] = current_version # POPULATE LINKS TO OTHER VERSIONS html_context['versions'] = list() +# Auto-generated header anchors +myst_heading_anchors = 3 + for version in versions: - html_context['versions'].append((version, - '/' + website_root + '/' + version + '/')) + html_context['versions'].append((version, '/' + version + '/')) from importlib import import_module from pprint import pformat diff --git a/docs/configuration/gdml.md b/docs/configuration/gdml.md new file mode 100644 index 0000000000000000000000000000000000000000..f4533141cd020b1dce6bde272a79708770008713 --- /dev/null +++ b/docs/configuration/gdml.md @@ -0,0 +1,84 @@ + +# Handling GDML files + +Handling of GDML files is performed via the `SimPhase()` configurable (this might change in the nearest future). + +## GDML import + +If you wish to import the logical volumes from the GDML file you have to provide all the necessary options in the `ImportGDML` property of `SimPhase`. All the imported volumes will be embedded in a `G4Assembly` that can be translated and rotated with respect to the existing world. For example: + +```python +from Gaudi.Configuration import DEBUG +from GaudiKernel.SystemOfUnits import m, deg +from Gaussino.Simulation import SimPhase +SimPhase().ImportGDML = [ + { + "GDMLFileName": "path_to_your_gdml_file_1.gdml", + "OutputLevel": DEBUG, + "GDMLTranslationX": 10. * mm, + "GDMLRotationX": 45. * deg, + }, + { + "GDMLFileName": "path_to_your_gdml_file_2.gdml", + "OutputLevel": DEBUG, + }, +] +``` + +It will import the volumes from the two files: `path_to_your_gdml_file_1.gdml` and `path_to_your_gdml_file_2.gdml`. Volumes from the first files will be embedded in a rotated and translated assembly. + + +### Making the imported volumes sensitive + +The sensitve detector classes have to be added manually to the imported sensitive volumes. Below you will find an example of how to add a generic `MCCollectorSensDet` factory to an imported volume `ImportedLVol`: + +```python +from Gaussino.Simulation import SimPhase +SimPhase().SensDetMap = { + "MCCollectorSensDet/ImportedSDet": ["ImportedLVol"], +} + +# and if you wish to change the default properties of the factory + +from Configurables import MCCollectorSensDet +MCCollectorSensDet( + "GiGaMT.DetConst.CubeToImportSDet", + OutputLevel=DEBUG, + PrintStats=True, +) +``` + +## GDML export + +If you wish to export the whole world to aGDML file you have to provide all the necessary options in the `ExportGDML` property of `SimPhase`. For example: + +```python +SimPhase().ExportGDML = { + "GDMLFileName": "export.gdml", + # G4 will crash if the file with same name already exists + "GDMLFileNameOverwrite": True, + # add unique references to the names + "GDMLAddReferences": True, + # export auxilliary information + "GDMLExportEnergyCuts": True, + "GDMLExportSD": True, +} +``` + +### GDML exporting of a parallel world + +Parallel worlds follow the same configuration as in the mass geometry case, but it has to be provided in the properties of you parallel world. For example: + +```python +ParallelGeometry().ParallelWorlds = { + 'ParallelWorld1': { + 'ExternalDetectorEmbedder': 'ParallelEmbedder', + 'ExportGDML': { + 'GDMLFileName': 'ParallelWorld1.gdml', + 'GDMLFileNameOverwrite': True, + 'GDMLExportSD': True, + 'GDMLExportEnergyCuts': True, + }, + }, +} +``` diff --git a/docs/examples/adding_subdetector_in_dd4hep.md b/docs/examples/adding_subdetector_in_dd4hep.md new file mode 100644 index 0000000000000000000000000000000000000000..17a8578db78817611bfb002ac0f39c16de081096 --- /dev/null +++ b/docs/examples/adding_subdetector_in_dd4hep.md @@ -0,0 +1,6 @@ +# Adding a new sub-detector with DD4hep standalone + +```{eval-rst} +.. attention:: + The generic way of doing this is a work-in-progress. +``` diff --git a/docs/examples/adding_subdetector_in_detector.md b/docs/examples/adding_subdetector_in_detector.md new file mode 100644 index 0000000000000000000000000000000000000000..fe07406d657a2c9add96cec85b01eeee7c663d61 --- /dev/null +++ b/docs/examples/adding_subdetector_in_detector.md @@ -0,0 +1,187 @@ +# Adding a new DD4hep sub-detector with Detector [TO BE MOVED] + +## Preparing Gauss for adding new sub-detectors + +```{eval-rst} +.. attention:: + This section will be moved to a new documentation website dedicated to Gauss. +``` + +Make sure that before you start this tutorial you have followed the examples that show how to build Gaussino with DD4hep support. In particular, the decision has to be made if you want work with your local copy of the Detector or the Detector project built in the nightly system: + +- [](../getting_started/gauss.md#example-3-working-with-dd4hep-and-detector-from-the-nightlies) +- [](../getting_started/gauss.md#example-4-working-with-dd4hep-and-detector-built-locally) + +```{eval-rst} +.. tip:: + Use ``x86_64_v2-centos7-gcc11+dd4hep-opt`` if you want to work with **Detector/DD4hep**. +``` + +## Checklist to activate a sub-detector + +Once you have correctly configured Gauss, you can start integrating your sub-detector with the simulation framework. We have prepared a list of the required tasks: + +1. [](./adding_subdetector_in_detector.md#modify-the-xml-geometry-description) +2. [](./adding_subdetector_in_detector.md#implement-python-configuration) +3. [](./adding_subdetector_in_detector.md#check-if-extra-modifications-are-needed) +4. [](./adding_subdetector_in_detector.md#create-a-mr-in-gauss-targeting-futurev4-branch) +5. [](./adding_subdetector_in_detector.md#put-the-sub-detector-in-the-nighlty-and-lhcbpr-tests) + +### Modify the XML geometry description + +In order to load the geometry in Gauss from the Detector project, you have to make sure that your sub-detector is completely described in XML files in `Detector/compact/trunk` directory of the Detector project. Therefore, Gauss has to know what is the hiararchy of the volumes in the geometry and this has to be implemented in [xml_writer.py](https://gitlab.cern.ch/lhcb/Gauss/-/blob/Futurev4/Sim/Gauss/python/Gauss/Geometry/xml_writer.py). We will use `VP` as an example. `VP` has to be added in `/world/BeforeMagnetRegion` and therefore the following changes + +```diff ++ ET.SubElement(define, "constant", name="VP:parent", ++ value="/world/BeforeMagnetRegion", type="string") +``` + +are needed in the `xml_writer.py`: + +```python +# Combine the includes into a valid LHCb DD4hep xml and return name of temporary +# file +def create_xml(includesfiles): + unique_includes = list(OrderedDict.fromkeys(includesfiles)) + detectorroot = os.path.join(os.environ['DETECTOR_PROJECT_ROOT'], 'compact/trunk/') + + def addroot(p): + if p[0] != '.' and p[0] != '/': + return detectorroot + p + return p + + root = ET.Element("lccdd") + ET.SubElement(root, "std_conditions", type="STP") + debug = ET.SubElement(root, "debug") + ET.SubElement(debug, "type", name="includes", value="0") + ET.SubElement(debug, "type", name="materials", value="0") + includes = ET.SubElement(root, "includes") + ET.SubElement(includes, "gdmlFile", ref=addroot("defaults.xml")) + define = ET.SubElement(root, "define") + ET.SubElement(define, "constant", name="Bls:parent", + value="/world/BeforeMagnetRegion/BeforeVelo", type="string") + ET.SubElement(define, "constant", name="BcmUp:parent", + value="/world/BeforeMagnetRegion/BeforeVelo", type="string") + ET.SubElement(define, "constant", name="BcmDown:parent", + value="/world/DownstreamRegion/AfterMuon", type="string") + ET.SubElement(define, "constant", name="GValve:parent", + value="/world/BeforeMagnetRegion/BeforeVelo", type="string") + ET.SubElement(define, "constant", name="MBXWUp:parent", + value="/world/UpstreamRegion", type="string") + ET.SubElement(define, "constant", name="Cavern:parent", + value="/world/Infrastructure", type="string") + ET.SubElement(define, "constant", name="Tunnel:parent", + value="/world/Infrastructure", type="string") + ET.SubElement(define, "constant", name="Bunker:parent", + value="/world/Infrastructure", type="string") + # here we added VP + ET.SubElement(define, "constant", name="VP:parent", + value="/world/BeforeMagnetRegion", type="string") + ET.SubElement(define, "constant", name="UT:parent", + value="/world/BeforeMagnetRegion", type="string") + ET.SubElement(define, "constant", name="FT:parent", + value="/world/AfterMagnetRegion/T", type="string") + ET.SubElement(define, "constant", name="Magnet:parent", + value="/world/MagnetRegion", type="string") + ET.SubElement(define, "constant", name="Magnet:ignore", value="0") + ET.SubElement(define, "constant", name="UpstreamRegion:ignore", value="0") + ET.SubElement(define, "constant", name="BeforeMagnetRegion:ignore", value="0") # NOQA + ET.SubElement(define, "constant", name="MagnetRegion:ignore", value="0") + ET.SubElement(define, "constant", name="AfterMagnetRegion:ignore", value="0") # NOQA + ET.SubElement(define, "constant", name="DownstreamRegion:ignore", value="0") + + ET.SubElement(root, "include", ref=addroot("global/conditions.xml")) + + # FIXME: Regions need something from this file + ET.SubElement(root, "include", ref=addroot("T/parameters.xml")) + ET.SubElement(root, "include", ref=addroot("Regions/detector.xml")) + + for inc in unique_includes: + ET.SubElement(root, "include", ref=addroot(inc)) + + _, tmpfile = tempfile.mkstemp('.xml') + xmlstr = minidom.parseString(ET.tostring(root)).toprettyxml(indent=" ") + with open(tmpfile, "w") as f: + f.write(xmlstr) + log.info('Wrote xml file to {}'.format(tmpfile)) + return tempfile.tempdir, tmpfile.replace(tempfile.tempdir + '/', '') +``` + +A temporary XML file will be created in `/tmp` on your local machine. + + +### Implement python configuration + + +What happens in Gauss is that we use the python configuration to decide which sub-detectors should be included and which not. If a sub-detector is added, then all of its XML files have to be imported. Please note that Gauss has to support both DD4hep and DetDesc geometries and therefore we need a separate configuration for each of them. Python configuration of each sub-detector should be handled in a separate python file in `Sim/Gauss/python/Gauss/Geometry/`. We will use `VP` again as an example. In this case, a file `VP.py` is already there. If the sub-detector is completely new, you should create a new file and add the following import in [__init__.py](https://gitlab.cern.ch/lhcb/Gauss/-/blob/Futurev4/Sim/Gauss/python/Gauss/Geometry/__init__.py): + +```diff ++ from Gauss.Geometry.VP import * +``` + +You have to make sure that you sub-detector class inherits from `det_base` and uses the `subdetector` decorator. There is also a set of functions that have to be implemented. For `VP`: + +```python +from Gauss.Geometry.det_base import det_base +from Gauss.Geometry.Helpers import subdetector + +@subdetector +class VP(det_base): + + def ApplyDetectorDetDesc(self, basePieces, detPieces): + # Add the necessary detector pieces for DetDesc + + def ApplyDetectorDD4hep(self, basePieces, detPieces): + # Add a list of all the necessary DD4hep includes + + def SetupExtractionImpl(self, slot=''): + # Configure the hit getter that transforms the Geant4 hit collection + # to our event model. Wrapping function in base class configures SimConf. + + def SetupMonitor(self, slot=''): + # Setup any necessary monitoring algorithms +``` + +Therefore, in order to use the DD4hep implementation of your sub-detector you have to implement `ApplyDetectorDetDesc` and populate the `LHCbGeo._listOfXMLIncludes_` list with the XML files required for your sub-detector. If your sub-detector is registering hits, then you should also provide a mapping between the name of the sensitive volume and the name of the factory used to construct the sensitive detector object. For `VP` we have: + +```python +def ApplyDetectorDD4hep(self, basePieces, detPieces): + # Configuring the DD4hep detector conversion. + # 1. Add the mapping to have the LHCbDD4hepCnvSvc instrument + # the G4 volume with the correct sensdet factory if marked with a + # dd4hep sensitive detector named VP + from Configurables import LHCbDD4hepCnvSvc + mappings = LHCbDD4hepCnvSvc().getProp('SensDetMappings') + mappings['VP'] = 'GiGaSensDetTrackerDD4hep/VPSDet' + LHCbDD4hepCnvSvc().SensDetMappings = mappings + + # Add the necessary dd4hep includes for the VP. Also added all the + # dependencies for material definitions that were identified using + # trial and error. As the list is made unique before being added to + # the xml this should be fine if they appear in multiple places + from Gauss.Geometry import LHCbGeo + go = LHCbGeo._listOfXMLIncludes_ + + go += ["Pipe/parameters.xml"] + go += ["Rich1/DetElem/RichRun3PropertySpecParam.xml"] + go += ["Rich1/RichMatDir/RichMaterials.xml"] + go += ["VP/parameters.xml"] + go += ["VP/visualization.xml"] + go += ["VP/detector.xml"] + go += ["VP/conditions.xml"] +``` + +### Check if extra modifications are needed + +This is more as a reminder. You have to make sure that the extraction hits classes and monitoring classes are implemented or modernized. Moreover, some sub-detectors use non-standard classes that might need additional changes for the Detector/DD4hep implementation. This has to be checked. + +### Create a MR in Gauss targeting Futurev4 branch + +Simply follow the same procedure as in: [](../getting_started/contributing.md#developing-gauss-on-gaussino). + +### Put the sub-detector in the nighlty and LHCbPR tests + +```{eval-rst} +.. attention:: + The generic way of doing this is a work-in-progress. +``` diff --git a/docs/getting_started/contributing.md b/docs/getting_started/contributing.md index 793616dc95f6b19888e4827ac377a0be88b962e8..c07af06a9d6bde0760d761f20feef8446226d70f 100644 --- a/docs/getting_started/contributing.md +++ b/docs/getting_started/contributing.md @@ -1,8 +1,35 @@ # Contributing -The future framework (for LHCb) consists of two components, Gaussino and Gauss. Gaussino contains all core functionality which should be independent of LHCb. It should incorporate all framework related issues and define all necessary interfaces and implement the interplay between them. Gauss itself is based on Gaussino and should only contain the specific implementations of the interfaces defined in Gaussino and the necessary configuration to setup the application. Changes should be introduced via merge requests targetting the `master` branch. Adding the label `lhcb-gaussino` will include them in the nightly build. +The future framework (for LHCb) consists of two components, Gaussino and Gauss. Gaussino contains all core functionality which should be independent of LHCb. It should incorporate all framework related issues and define all necessary interfaces and implement the interplay between them. Gauss itself is based on Gaussino and should only contain the specific implementations of the interfaces defined in Gaussino and the necessary configuration to setup the application. -## Documenting +## Developing Gaussino + +Please make sure that you followed the recipe described in [](./gaussino.md#working-with-gaussino) and make sure that you work on your local development branch. + +Changes should be introduced via merge requests targeting the `master` branch. If you wish to open a MR with your local branch (the name of the branch should start with your username, e.g. `username-some-changes`), then you can directly push the changes to the branch in the remote repository: + +```shell +git add file1 file2 +git commit -m "The description of your commit" +git push origin username-some-changes +``` + +In gitlab, open a MR targeting the `master` branch. Adding the `lhcb-gaussino` label will include your changes in the next nightly build of `lhcb-gaussino`. + +## Developing Gauss-on-Gaussino + +```{eval-rst} +.. attention:: + This sub-section will be moved to a new documentation website dedicated to Gauss. +``` + +The instructions are almost the same as for Gaussino in the previous section: [](./contributing.md#developing-gaussino). The only difference is that the MR should be targeting `Futurev5` branch. + +## Fast simulation developments with Geant4 10.7 + +All the developments related to fast simulations with Geant4 10.7 are tested in the `lhcb-gaussino-fastsim` nightly slot. We have a dedicated target branch in Gaussino and Gauss-on-Gaussino for these developments: `FASTSIM`. Therefore, you can follow the instructions as in [](./gaussino.md#working-with-gaussino), [](./gauss.md#working-with-gauss-on-gaussino-to-be-moved), [](./contributing.md#developing-gaussino) and [](./contributing.md#developing-gauss-on-gaussino) and change `lhcb-gaussino` to `lhcb-gaussino-fastsim` and `master` to `FASTSIM` (in Gauss: `Futurev5` to `FASTSIM`). + +## Documentation 1. Add a `Documentation` label to your MR. This will activate the gitlab CI pipeline. diff --git a/docs/getting_started/gauss.md b/docs/getting_started/gauss.md new file mode 100644 index 0000000000000000000000000000000000000000..41d4ebe084de850dfceb2bd9d07a9f274047c180 --- /dev/null +++ b/docs/getting_started/gauss.md @@ -0,0 +1,247 @@ +# Working with Gauss-on-Gaussino [TO BE MOVED] +```{eval-rst} +.. attention:: + This section will be moved to a new documentation website dedicated to Gauss. +``` + +## Using the LHCb nightly build system + +### Building Gauss and Gaussino from source + +If you wish to work with Gauss (LHCb simulation framework) based on Gaussino's core functionalities, follow the recipe in the section dedicated to Gaussino (see: [](./gaussino.md#working-with-gaussino)) and go back to the directory where your local copy of the nighly slot resides. + +```{eval-rst} +.. tip:: + If you do not have any changes in Gaussino, you can use Gaussino directly from the nightlies. Just follow the same recipe up to the section `Fetch the nightlies locally <./gaussino.md#fetch-the-nightlies-locally>`_ and add Gaussino to the list of copied projects: + + .. code-block:: shell + + lbn-install --verbose --platforms=x86_64_v2-centos7-gcc11-opt --projects=Gaudi,Geant4,DBASE,Detector,LHCb,Run2Support,Gaussino, GaussinoExtLibs lhcb-gaussino Today + +We really encourage you to use `lbn-install` as it generates a local copy of the nightly build directly on your machine and will create the most stable environment for your developments. +``` + + +#### Clone Gauss and prepare your local development branch +```shell +git clone ssh://git@gitlab.cern.ch:7999/lhcb/Gauss +cd Gauss +``` + +Gauss-on-Gaussino is develped on a dedicated branch: `Futurev5`. So your development has to start from this branch. + +```shell +git checkout Futurev5 +git checkout -b your_local_dev_branch +``` +The rest is very similar to the development in Gaussino: + +```{eval-rst} +.. attention:: + Don't forget to merge all pending merge requests with a label ``lhcb-gaussino`` (or any other MR that was picked up in the nightly)! +``` + +```{eval-rst} +.. hint:: + The list of open merge requests with the label ``lhcb-gaussino`` can be acquired automatically with this command: + + .. code-block:: shell-session + + curl -s "https://gitlab.cern.ch/api/v4/projects/2606/merge_requests?state=opened&labels=lhcb-gaussino" | jq '.[].iid' +``` + +In order to get the list of pending merge requests check the checkout report by clicking on the **black arrow** next to the **Gauss project** on the [website](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-gaussino). You will get a list of the MR ids that are needed to work with this build of Gauss. For example, if the MRs are Gauss!800 and Gauss!845, you can do the following: + +```shell +git fetch && git fetch origin '+refs/merge-requests/*/head:refs/remotes/*' +git merge --no-edit 800 845 +``` + + +#### Configure, build and install Gauss-on-Gaussino + +```shell +lb-project-init . +make -j4 install +``` + +#### Run Gauss + +```shell +./build.x86_64_v2-centos7-gcc11-opt/run gaudirun.py your_options.py +``` + +### Example 1 building Gauss only + +Below you will find a summary of the commands that should cover the majority of the use cases. + +```shell +source /cvmfs/lhcb.cern.ch/lib/LbEnv +lb-set-platform x86_64_v2-centos7-gcc11-opt +export LCG_VERSION=101a +lbn-install --verbose --platforms=x86_64_v2-centos7-gcc11-opt --projects=Gaudi,Geant4,DBASE,Detector,LHCb,Run2Support,GaussinoExtLibs,Gaussino lhcb-gaussino Today +cd lhcb-gaussino/Today +lb-set-workspace . +git clone ssh://git@gitlab.cern.ch:7999/lhcb/Gauss +cd Gauss +git checkout Futurev5 +git checkout -b your_local_dev_branch +# check the MRs! +# git fetch && git fetch origin '+refs/merge-requests/*/head:refs/remotes/*' +# git merge --no-edit 800 845 +lb-project-init . +make -j4 install +``` + +### Example 2 building Gauss and Gaussino + +Below you will find a summary of the commands that should cover the majority of the use cases in which we need to modify both Gauss & Gaussino. + +```shell +source /cvmfs/lhcb.cern.ch/lib/LbEnv +lb-set-platform x86_64_v2-centos7-gcc11-opt +export LCG_VERSION=101a +lbn-install --verbose --platforms=x86_64_v2-centos7-gcc11-opt --projects=Gaudi,Geant4,DBASE,Detector,LHCb,Run2Support,GaussinoExtLibs,Gaussino lhcb-gaussino Today +cd lhcb-gaussino/Today +lb-set-workspace . +git clone ssh://git@gitlab.cern.ch:7999/Gaussino/Gaussino.git +cd Gaussino +git checkout -b your_local_dev_branch +# check the MRs! +# git fetch && git fetch origin '+refs/merge-requests/*/head:refs/remotes/*' +# git merge --no-edit 23 45 +lb-project-init . +make -j4 install +cd .. +git clone ssh://git@gitlab.cern.ch:7999/lhcb/Gauss +cd Gauss +git checkout Futurev5 +git checkout -b your_local_dev_branch +# check the MRs! +# git fetch && git fetch origin '+refs/merge-requests/*/head:refs/remotes/*' +# git merge --no-edit 800 845 +lb-project-init . +make -j4 install +``` + +### Example 3 working with DD4hep and Detector from the nightlies + +Below you will find a summary of the commands needed to work with DD4hep/Detector that is taken from the nightlies. There should be ne need to change anything in Gaussino, so we will only build Gauss. + +```shell +source /cvmfs/lhcb.cern.ch/lib/LbEnv +lb-set-platform x86_64_v2-centos7-gcc11+dd4hep-opt +export LCG_VERSION=101a +lbn-install --verbose --platforms=x86_64_v2-centos7-gcc11+dd4hep-opt --projects=Gaudi,Geant4,DBASE,Detector,LHCb,Run2Support,GaussinoExtLibs,Gaussino lhcb-dd4hep Today +cd lhcb-dd4hep/Today +lb-set-workspace . +git clone ssh://git@gitlab.cern.ch:7999/lhcb/Gauss +cd Gauss +git checkout Futurev5 +git checkout -b your_local_dev_branch +# check the MRs! +# git fetch && git fetch origin '+refs/merge-requests/*/head:refs/remotes/*' +# git merge --no-edit 800 845 +lb-project-init . +make -j4 install +``` + +### Example 4 working with DD4hep and Detector built locally + +Below you will find a summary of the commands needed to work with DD4hep/Detector that is built locally. In this case, we have to rebuild all the projects downstream with respect to the Detector. + +```shell +source /cvmfs/lhcb.cern.ch/lib/LbEnv +lb-set-platform x86_64_v2-centos7-gcc11+dd4hep-opt +export LCG_VERSION=101a +lbn-install --verbose --platforms=x86_64_v2-centos7-gcc11+dd4hep-opt --projects=Gaudi,Geant4,DBASE lhcb-dd4hep Today +cd lhcb-dd4hep/Today +lb-set-workspace . +git clone ssh://git@gitlab.cern.ch:7999/lhcb/Detector.git +cd Detector +git checkout -b your_local_dev_branch +# check the MRs! +# git fetch && git fetch origin '+refs/merge-requests/*/head:refs/remotes/*' +# git merge --no-edit 800 845 +lb-project-init . +make -j4 install +cd .. +git clone ssh://git@gitlab.cern.ch:7999/lhcb/LHCb.git +cd LHCb +git checkout -b your_local_dev_branch +# check the MRs! +# git fetch && git fetch origin '+refs/merge-requests/*/head:refs/remotes/*' +# git merge --no-edit 800 845 +lb-project-init . +make -j4 install +cd .. +git clone ssh://git@gitlab.cern.ch:7999/lhcb/Run2Support.git +cd Run2Support +git checkout -b your_local_dev_branch +# check the MRs! +# git fetch && git fetch origin '+refs/merge-requests/*/head:refs/remotes/*' +# git merge --no-edit 800 845 +lb-project-init . +make -j4 install +cd .. +git clone ssh://git@gitlab.cern.ch:7999/Gaussino/GaussinoExtLibs.git +cd GaussinoExtLibs +git checkout -b your_local_dev_branch +# check the MRs! +# git fetch && git fetch origin '+refs/merge-requests/*/head:refs/remotes/*' +# git merge --no-edit 23 45 +lb-project-init . +make -j4 install +cd .. +git clone ssh://git@gitlab.cern.ch:7999/Gaussino/Gaussino.git +cd Gaussino +git checkout -b your_local_dev_branch +# check the MRs! +# git fetch && git fetch origin '+refs/merge-requests/*/head:refs/remotes/*' +# git merge --no-edit 23 45 +lb-project-init . +make -j4 install +cd .. +git clone ssh://git@gitlab.cern.ch:7999/lhcb/Gauss +cd Gauss +git checkout Futurev5 +git checkout -b your_local_dev_branch +# check the MRs! +# git fetch && git fetch origin '+refs/merge-requests/*/head:refs/remotes/*' +# git merge --no-edit 800 845 +lb-project-init . +make -j4 install +``` + +### Example 5: working with fast simulations with Geant4 10.7 + +Below you will find a summary of the commands needed to work with fast simulations with Geant4 10.7. In this example we will also build Gaussino as there might be some changes required in the generic fast simulation interface. + +```shell +source /cvmfs/lhcb.cern.ch/lib/LbEnv +lb-set-platform x86_64_v2-centos7-gcc11-opt +export LCG_VERSION=101a +lbn-install --verbose --platforms=x86_64_v2-centos7-gcc11-opt --projects=Gaudi,Geant4,DBASE,Detector,LHCb,Run2Support,GaussinoExtLibs +lhcb-gaussino-fastsim Today +cd lhcb-gaussino-fastsim/Today +lb-set-workspace . +git clone ssh://git@gitlab.cern.ch:7999/Gaussino/Gaussino.git +cd Gaussino +git checkout FASTSIM +git checkout -b your_local_dev_branch +# check the MRs! +# git fetch && git fetch origin '+refs/merge-requests/*/head:refs/remotes/*' +# git merge --no-edit 23 45 +lb-project-init . +make -j4 install +cd .. +git clone ssh://git@gitlab.cern.ch:7999/lhcb/Gauss +cd Gauss +git checkout FASTSIM +git checkout -b your_local_dev_branch +# check the MRs! +# git fetch && git fetch origin '+refs/merge-requests/*/head:refs/remotes/*' +# git merge --no-edit 800 845 +lb-project-init . +make -j4 install +``` diff --git a/docs/getting_started/gaussino.md b/docs/getting_started/gaussino.md new file mode 100644 index 0000000000000000000000000000000000000000..4efb9bd09c66c238f47adb41b48f4bdacbeeca84 --- /dev/null +++ b/docs/getting_started/gaussino.md @@ -0,0 +1,210 @@ +# Working with Gaussino + +Please note that Gaussino is an experiment-independent package. If you are looking for a concrete experiment implementation, here is the list: +- Gauss-on-Gaussino (LHCb Experiment, for now using the nightly build system) + +## Using the LHCb nightly build system + +### About the nightly system + +You can check the nighlty build status by visiting https://lhcb-nightlies.web.cern.ch/nightly/. There are a few nightly slots currently available for Gaussino: +- [```lhcb-gaussino```](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-gaussino/) standard slot for the majority of developments, +- [```lhcb-dd4hep```](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-gaussino/) the nightly slot used for the integration of DD4hep sub-detectors, +- [```lhcb-gaussino-fastsim```](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-gaussino-fastsim/) nightly slot dedicated to fast simulation developments with Geant4 10.7, +- [```lhcb-gaussino-prerelease```](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-gaussino-prerelease/) the most stable version of Gaussino used to prepare beta releases with LHCb stack, + +Gaussino is built in each nightly slots on 3 platforms: +- ```x86_64_v2-centos7-gcc11-opt``` release build with DetDesc geometry, +- ```x86_64_v2-centos7-gcc11-dbg``` debug build with DetDesc geometry, +- ```x86_64_v2-centos7-gcc11+dd4hep-opt``` release build with DD4Hep geometry, + +### Configuring the environment + +Make sure that you are using LbEnv on lxplus or similar. You can run this to be sure: + +```shell +source /cvmfs/lhcb.cern.ch/lib/LbEnv +``` + +### Configure the platform + +The following will make sure that you have the most recent platform. + +```shell +lb-set-platform x86_64_v2-centos7-gcc11-opt +export LCG_VERSION=101a +``` + +```{eval-rst} +.. tip:: + Use ``x86_64_v2-centos7-gcc11+dd4hep-opt`` on ``lhcb-dd4hep`` if you want to work with **Detector/DD4hep**. +``` + +### Building Gaussino from source + +```{eval-rst} +.. note:: + This is the recommended way for now. +``` + +#### Fetch the nightlies locally + +We're going to create a local copy of the projects used in the nightly slot. Gaussino requires Gaudi, Detector, LHCb, Run2Support and GaussinoExtLibs. LHCb and Run2Support are used when building Gaussino in the LHCb stack. + + +```shell +lbn-install --verbose --platforms=x86_64_v2-centos7-gcc11-opt --projects=Gaudi,Geant4,DBASE,Detector,LHCb,Run2Support,GaussinoExtLibs lhcb-gaussino Today +cd lhcb-gaussino/Today +lb-set-workspace . +``` + +```{eval-rst} +.. tip:: + Use ``x86_64_v2-centos7-gcc11+dd4hep-opt`` on ``lhcb-dd4hep`` if you want to work with **Detector/DD4hep**. +``` + +```{eval-rst} +.. attention:: + The ``Today`` version of the nightly slot might not always be available. Please, always check directly on the website if the build of Gaussino & Gauss was successful (cells in the `table <https://lhcb-nightlies.web.cern.ch/nightly/lhcb-gaussino/>`_ should be either orange or green, but not red!). Always use the latest version that was successful (``yesterday``, ``1222`` etc.). +``` + +#### Clone Gaussino and prepare your local development branch + +```shell +git clone ssh://git@gitlab.cern.ch:7999/Gaussino/Gaussino.git +cd Gaussino +git checkout -b your_local_dev_branch +``` + +```{eval-rst} +.. attention:: + Don't forget to merge all pending merge requests with a label ``lhcb-gaussino`` (or any other MR that was picked up in the nightly)! +``` + +In order to get the list of pending merge requests check the checkout report by clicking on the **black arrow** next to the **Gaussino project** on the [website](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-gaussino). You will get a list of the MR ids that are needed to work with this build of Gaussino. For example, if the MRs are Gaussino!24 and Gaussino!51, you can do the following: + +```shell +git fetch && git fetch origin '+refs/merge-requests/*/head:refs/remotes/*' +git merge --no-edit 24 51 +``` + +#### Configure, build and install Gaussino + +```shell +lb-project-init . +make -j4 install +``` + +#### Run Gaussino + +```shell +./build.x86_64_v2-centos7-gcc11-opt/run gaudirun.py your_options.py +``` + +### Working on a satellite project + +```{eval-rst} +.. error:: + This is not working yet and has to be updated. +``` + +#### Get a skeleton of your project + +```shell +lb-dev --nightly lhcb-gaussino/Today Gaussino/HEAD -c x86_64-centos7-gcc9-opt +``` +#### Additional configuration. + +```shell +cd GaussinoDev_HEAD +``` + +```shell +git lb-use Gaussino https://gitlab.cern.ch/Gaussino/Gaussino +``` + +#### Configure the package +Conifure the package you'd like to develop. Here `Sim/Gaussino` + +```shell +git lb-checkout Gaussino/master Sim/Gaussino +``` + +#### Build + +```shell +make +``` + +### Working on a satellite project with nightlies locally + +```{eval-rst} +.. error:: + This is not working yet and has to be updated. +``` + +This might be useful if you want a local copy of the projects in the nighlt slot or if you're looking for a nightly slot that is no longer present in `/cvmfs/lhcbdev.cern.ch/nightlies/lhcb-gaussino` + + +```shell +ll /cvmfs/lhcbdev.cern.ch/nightlies/lhcb-gaussino +``` + +Here is an exemplary list of nighlty slots: + +``` +total 5.0K +drwxr-xr-x. 12 cvmfs cvmfs 224 Apr 24 01:44 931 +drwxr-xr-x. 12 cvmfs cvmfs 224 Apr 26 01:05 932 +drwxr-xr-x. 12 cvmfs cvmfs 224 Apr 27 01:43 933 +drwxr-xr-x. 12 cvmfs cvmfs 224 Apr 29 01:20 934 +drwxr-xr-x. 12 cvmfs cvmfs 224 Apr 30 02:30 935 +drwxr-xr-x. 12 cvmfs cvmfs 224 May 2 02:53 936 +lrwxrwxrwx. 1 cvmfs cvmfs 3 Apr 30 01:11 Fri -> 935 +lrwxrwxrwx. 1 cvmfs cvmfs 3 May 2 00:10 latest -> 936 +lrwxrwxrwx. 1 cvmfs cvmfs 3 May 2 00:10 Sun -> 936 +lrwxrwxrwx. 1 cvmfs cvmfs 3 Apr 29 00:35 Thu -> 934 +``` + +`Today` nighlty slot will be used in further steps. + +#### Create a base directory for your nighlties + +```shell +mkdir gaussino_base +``` + +#### Install the nightlies in your base directory + +```shell +lbn-install --verbose --projects Gaussino --platforms x86_64-centos7-gcc9-opt --dest gaussino_base/lhcb-gaussino/Today lhcb-gaussino Today +``` + +#### Use the nightlies in your base directory + +```shell +lb-dev --nightly-base gaussino_base --nightly lhcb-gaussino/Today Gaussino/HEAD -c x86_64-centos7-gcc9-opt +``` + +#### Additional configuration + +```shell +cd GaussinoDev_HEAD +``` + +```shell +git lb-use Gaussino https://gitlab.cern.ch/Gaussino/Gaussino +``` + +#### Configure the package +Configure the package you'd like to develop. Here ```Sim/Gaussino``` + +```shell +git lb-checkout Gaussino/master Sim/Gaussino +``` + +#### Build + +```shell +make +``` diff --git a/docs/getting_started/installing.md b/docs/getting_started/installing.md deleted file mode 100644 index 8b55af2c7b5de4d47ff40051c1315ea721d37190..0000000000000000000000000000000000000000 --- a/docs/getting_started/installing.md +++ /dev/null @@ -1,184 +0,0 @@ -# Running Gaussino - -Please note that Gaussino is an experiment-independent package. If you are looking for a concrete experiment implementation, here is the list: -- Gauss-on-Gaussino (LHCb Experiment) - -## Running from the nighlties - -Currently it is only possible to build Gaussino with the help of nightly builds. - -You can check the nighlty build status by visiting https://lhcb-nightlies.web.cern.ch/nightly/. The nightly slot currently available for Gaussino is ```lhcb-gaussino```. You can either install the latest build or one from the past in case the current one is failed. - -### Configuring the environment - -1. Make sure you're using LbEnv on lxplus or similar. You can run this to be sure: - -``` -source /cvmfs/lhcb.cern.ch/lib/LbEnv -``` - -2. Configure the platform - -``` -lb-set-platform x86_64_v2-centos7-gcc11-opt -``` - -```{eval-rst} -.. note:: - Use `x86_64_v2-centos7-gcc10+dd4hep-opt` if you want work with Detector/DD4hep. -``` - -### Building from source - -```{eval-rst} -.. note:: - This is the recommended way for now. -``` - -1. Fetch the nightlies locally - - ``` - lbn-install --verbose --platforms=x86_64_v2-centos7-gcc11-opt --projects=Gaudi,Geant4,DBASE,Detector,LHCb,Run2Support lhcb-gaussino Today - export CMAKE_PREFIX_PATH=$PWD:${CMAKE_PREFIX_PATH} - ``` - - ```{eval-rst} - .. note:: - Use `x86_64_v2-centos7-gcc11+dd4hep-opt` if you want work with Detector/DD4hep. - ``` - - OR (less recommended) add the nightlies path to ```CMAKE_PREFIX_PATH``` directly from the destination - - ``` - export CMAKE_PREFIX_PATH=/cvmfs/lhcbdev.cern.ch/nightlies/lhcb-gaussino/latest:${CMAKE_PREFIX_PATH} - ``` - -2. Clone the repository. - - ``` - git clone ssh://git@gitlab.cern.ch:7999/Gaussino/Gaussino.git - cd Gaussino - ``` - - ```{eval-rst} - .. note:: - Don't forget to merge all pending merge requests with a label ```lhcb-gaussino```! - ``` - - -3. Configure, build and install: - ``` - cmake -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake -B build - make -C build -j4 install - ``` - -4. Run - - ``` - ./build/run gaudirun.py your_options.py - ``` - -### Working on a satellite project - -```{eval-rst} -.. warning:: - This is not working yet. -``` - -1. Get a skeleton of your project by typing: - - ```bash - lb-dev --nightly lhcb-gaussino/Today Gaussino/HEAD -c x86_64-centos7-gcc9-opt - ``` -2. Additional configuration. - - ```bash - cd GaussinoDev_HEAD - ``` - - ```bash - git lb-use Gaussino https://gitlab.cern.ch/Gaussino/Gaussino - ``` - -3. Configure the package you'd like to develop. Here ```Sim/Gaussino``` - - ```bash - git lb-checkout Gaussino/master Sim/Gaussino - ``` - -4. Build. - - ``` - make - ``` - -### Working on a satellite project with nightlies locally - -```{eval-rst} -.. warning:: - This is not working yet. -``` - -This might be useful if you want a local copy of the projects in the nighlt slot or if you're looking for a nightly slot that is no longer present in ```/cvmfs/lhcbdev.cern.ch/nightlies/lhcb-gaussino``` - - -```bash -ll /cvmfs/lhcbdev.cern.ch/nightlies/lhcb-gaussino -``` - -Here is an exemplary list of nighlty slots: - -``` -total 5.0K -drwxr-xr-x. 12 cvmfs cvmfs 224 Apr 24 01:44 931 -drwxr-xr-x. 12 cvmfs cvmfs 224 Apr 26 01:05 932 -drwxr-xr-x. 12 cvmfs cvmfs 224 Apr 27 01:43 933 -drwxr-xr-x. 12 cvmfs cvmfs 224 Apr 29 01:20 934 -drwxr-xr-x. 12 cvmfs cvmfs 224 Apr 30 02:30 935 -drwxr-xr-x. 12 cvmfs cvmfs 224 May 2 02:53 936 -lrwxrwxrwx. 1 cvmfs cvmfs 3 Apr 30 01:11 Fri -> 935 -lrwxrwxrwx. 1 cvmfs cvmfs 3 May 2 00:10 latest -> 936 -lrwxrwxrwx. 1 cvmfs cvmfs 3 May 2 00:10 Sun -> 936 -lrwxrwxrwx. 1 cvmfs cvmfs 3 Apr 29 00:35 Thu -> 934 -``` - -```Today```` nighlty slot will be used in further steps. - -1. Create a base directory for your nighlties. - - ```bash - mkdir gaussino_base - ``` - -2. Install the nightlies in your base directory. - - ```bash - lbn-install --verbose --projects Gaussino --platforms x86_64-centos7-gcc9-opt --dest gaussino_base/lhcb-gaussino/Today lhcb-gaussino Today - ``` - -3. Use the nightlies in your base directory to work on a satellite project. - - ```bash - lb-dev --nightly-base gaussino_base --nightly lhcb-gaussino/Today Gaussino/HEAD -c x86_64-centos7-gcc9-opt - ``` -4. Additional configuration. - - ```bash - cd GaussinoDev_HEAD - ``` - - ```bash - git lb-use Gaussino https://gitlab.cern.ch/Gaussino/Gaussino - ``` - -5. Configure the package you'd like to develop. Here ```Sim/Gaussino``` - - ```bash - git lb-checkout Gaussino/master Sim/Gaussino - ``` - -6. Build. - - ``` - make - ``` diff --git a/docs/images/gaussino_logo.png b/docs/images/gaussino_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..918a4f11d406b9ce40da51c87a72252a13d14af6 Binary files /dev/null and b/docs/images/gaussino_logo.png differ diff --git a/docs/index.rst b/docs/index.rst index 84dd8ae1d7c8de7232ea7ca37a187c8508cce1c4..d9fb3a662dc1447ca7ecb8ae0af3b131a60c2eaf 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -3,7 +3,7 @@ You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -Welcome to Gaussino's documentation! +Welcome to the Gaussino's documentation! ==================================== .. toctree:: :caption: About @@ -14,10 +14,10 @@ Welcome to Gaussino's documentation! .. toctree:: :caption: Getting started - :hidden: :maxdepth: 2 - getting_started/installing.md + getting_started/gaussino.md + getting_started/gauss.md getting_started/contributing.md .. toctree:: @@ -29,14 +29,16 @@ Welcome to Gaussino's documentation! configuration/simulation configuration/external_detector configuration/parallel_geometry + configuration/gdml .. toctree:: :caption: Examples - :hidden: :maxdepth: 2 examples/external_detector examples/parallel_geometry + examples/adding_subdetector_in_detector + examples/adding_subdetector_in_dd4hep Indices and tables diff --git a/lhcbproject.yml b/lhcbproject.yml new file mode 100644 index 0000000000000000000000000000000000000000..43f573511af248582b97e0db2e3bf2864635d0fc --- /dev/null +++ b/lhcbproject.yml @@ -0,0 +1,4 @@ +name: Gaussino +licence: Apache-2.0 +dependencies: + - GaussinoExtLibs diff --git a/toolchain.cmake b/toolchain.cmake deleted file mode 100644 index e5fd2055175f9ab4695d9e9c146cd4aeb6d9bd98..0000000000000000000000000000000000000000 --- a/toolchain.cmake +++ /dev/null @@ -1,55 +0,0 @@ -############################################################################### -# (c) Copyright 2018 CERN # -# # -# This software is distributed under the terms of the GNU General Public # -# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # -# # -# In applying this licence, CERN does not waive the privileges and immunities # -# granted to it by virtue of its status as an Intergovernmental Organization # -# or submit itself to any jurisdiction. # -############################################################################### -cmake_minimum_required(VERSION 3.6) - -set(LCG_LAYER LHCB_7 CACHE STRING "Specific set of version to use") -option(LCG_USE_GENERATORS "enable/disable use of LCG generators" ON) - - -# this check is needed because the toolchain is called when checking the -# compiler (without the proper cache) -if(NOT CMAKE_SOURCE_DIR MATCHES "CMakeTmp") - # Avoid using Gaudi's get_host_binary_tag.py script as it doesn't support Python 3.8 - # https://gitlab.cern.ch/gaudi/Gaudi/-/issues/123 - execute_process(COMMAND "lb-host-binary-tag" - OUTPUT_VARIABLE HOST_BINARY_TAG - RESULT_VARIABLE HOST_BINARY_RETURN - ERROR_VARIABLE HOST_BINARY_ERROR - OUTPUT_STRIP_TRAILING_WHITESPACE) - set(HOST_BINARY_TAG ${HOST_BINARY_TAG} CACHE STRING "BINARY_TAG of the host") - if(HOST_BINARY_RETURN OR NOT HOST_BINARY_TAG) - message(FATAL_ERROR "Error getting host binary tag\nFailed to execute ${HOST_BINARY_TAG_COMMAND}\n" - "HOST_BINARY_TAG value: ${HOST_BINARY_TAG}\n" - "Program Return Value: ${HOST_BINARY_RETURN}\n" - "Error Message: ${HOST_BINARY_ERROR}\n") - endif() - - find_file(default_toolchain NAMES GaudiDefaultToolchain.cmake - HINTS ${CMAKE_SOURCE_DIR}/cmake - ${CMAKE_CURRENT_LIST_DIR}/cmake) - if(default_toolchain) - include(${default_toolchain}) - if(NOT DEFINED CMAKE_USE_CCACHE) - set(CMAKE_USE_CCACHE "YES" CACHE BOOL "...") - endif() - else() - message(FATAL_ERROR "Cannot find GaudiDefaultToolchain.cmake") - endif() - - # FIXME: make sure we do not pick up unwanted/problematic projects from LCG - if(CMAKE_PREFIX_PATH) - # - ninja (it requires LD_LIBRARY_PATH set to run) - # - Gaudi (we do not want to use it from LCG) - # - Geant4 (we do not want to use it from LCG) - # - xenv (conflicts with the version in the build environment) - list(FILTER CMAKE_PREFIX_PATH EXCLUDE REGEX "(LCG_|lcg/nightlies).*(ninja|Gaudi|Geant4|xenv|git)/") - endif() -endif()