From d4514428700ffa847cf32449a2fab010f405545c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Lalik?= Date: Mon, 5 Jun 2023 17:19:46 +0200 Subject: [PATCH 01/12] Modernize build system * Split sources/headers to separate src/inlude dirs * Use cmake macros to create plugins instead of operating with string variables * Install in GNU-like manner, install all headers and plugin headers, install also macros * Installation creates also cmake-like targets for cmake projects --- CMakeLists.txt | 217 ++++++++++++------ Config.cmake.in | 19 ++ plugins/CMakeLists.txt | 23 +- plugins/beamline/CMakeLists.txt | 21 +- .../{ => include}/PBeamLineSimulation.h | 0 plugins/beamline/{ => macros}/dummy_macro.C | 0 plugins/beamline/{ => macros}/piony.C | 0 plugins/beamline/{ => macros}/rootlogon.C | 0 .../beamline/{ => src}/PBeamLineSimulation.cc | 0 plugins/brems/CMakeLists.txt | 21 +- plugins/brems/{ => include}/PBremsstrahlung.h | 0 .../{ => include}/PBremsstrahlungPlugin.h | 2 +- plugins/brems/{ => src}/PBremsstrahlung.cc | 0 .../brems/{ => src}/PBremsstrahlungPlugin.cc | 0 plugins/dalitz_mod/CMakeLists.txt | 21 +- .../{ => include}/PDalitzModPlugin.h | 0 .../dalitz_mod/{ => include}/PDeltaDalitzFF.h | 0 .../{ => include}/PDeltaDalitzKrivoruchenko.h | 0 .../{ => include}/PResonanceDalitz.h | 0 .../dalitz_mod/{ => src}/PDalitzModPlugin.cc | 0 .../dalitz_mod/{ => src}/PDeltaDalitzFF.cc | 0 .../{ => src}/PDeltaDalitzKrivoruchenko.cc | 0 .../dalitz_mod/{ => src}/PResonanceDalitz.cc | 0 plugins/elementary/CMakeLists.txt | 21 +- .../{ => include}/PElementaryPlugin.h | 0 plugins/elementary/{ => include}/PNNFSI.h | 0 .../elementary/{ => src}/PElementaryPlugin.cc | 0 plugins/elementary/{ => src}/PNNFSI.cc | 0 plugins/eta_decays/CMakeLists.txt | 23 +- .../{ => include}/PEtaDecaysPlugin.h | 0 .../{ => include}/PEtaDoubleDalitz.h | 0 .../{ => include}/PEtaDoubleDalitzEnv.h | 0 .../{ => include}/PEtaDoubleDalitzFF.h | 0 .../{ => include}/PEtaPiPiDilepton.h | 0 .../{ => include}/PEtaPiPiDileptonMass.h | 0 .../eta_decays/{ => include}/PEtaPiPiGamma.h | 0 .../eta_decays/{ => src}/PEtaDecaysPlugin.cc | 0 .../eta_decays/{ => src}/PEtaDoubleDalitz.cc | 0 .../{ => src}/PEtaDoubleDalitzEnv.cc | 0 .../{ => src}/PEtaDoubleDalitzFF.cc | 0 .../eta_decays/{ => src}/PEtaPiPiDilepton.cc | 0 .../{ => src}/PEtaPiPiDileptonMass.cc | 0 plugins/eta_decays/{ => src}/PEtaPiPiGamma.cc | 0 plugins/fairroot/CMakeLists.txt | 21 +- .../fairroot/{ => include}/PFairGenerator.h | 0 plugins/fairroot/{ => src}/PFairGenerator.cc | 0 plugins/hades/CMakeLists.txt | 21 +- plugins/hades/{ => include}/PHGeantOutput.h | 0 plugins/hades/{ => include}/PHUrAddon.h | 0 .../hades/{ => include}/PHUrCollisionHeader.h | 0 plugins/hades/{ => include}/PHUrDilep.h | 0 plugins/hades/{ => include}/PHUrEventHeader.h | 0 plugins/hades/{ => include}/PHUrParticle.h | 0 plugins/hades/{ => include}/PHUrReader.h | 0 .../{ => include}/PHadesParticleSmearer.h | 0 .../makeEmbeddedParticlesVertexHGeant.C | 0 plugins/hades/{ => macros}/urqmd_f15_input.C | 0 plugins/hades/{ => src}/PHGeantOutput.cc | 0 plugins/hades/{ => src}/PHUrAddon.cc | 0 .../hades/{ => src}/PHUrCollisionHeader.cc | 0 plugins/hades/{ => src}/PHUrDilep.cc | 0 plugins/hades/{ => src}/PHUrEventHeader.cc | 0 plugins/hades/{ => src}/PHUrParticle.cc | 0 plugins/hades/{ => src}/PHUrReader.cc | 0 .../hades/{ => src}/PHadesParticleSmearer.cc | 0 plugins/nucleus_fermi/CMakeLists.txt | 21 +- .../{ => include}/PFermiDistributions.h | 0 .../{ => include}/PFermiMomentumGA.h | 0 .../{ => include}/PNucleusFermiPlugin.h | 0 .../{ => macros}/C12_breakup_macro.C | 0 .../{ => macros}/Ca40_breakup_macro.C | 0 .../{ => macros}/DrawAllFermiDistributions.C | 0 .../{ => macros}/He3_breakup_macro.C | 0 .../{ => macros}/He4_breakup_macro.C | 0 .../{ => macros}/KineticRecoilEnergy.C | 0 .../{ => macros}/Li7_breakup_macro.C | 0 .../{ => macros}/Nb93_breakup_macro.C | 0 .../nucleus_fermi/{ => macros}/analyze_g12C.C | 0 .../nucleus_fermi/{ => macros}/analyze_g3He.C | 0 .../{ => macros}/analyze_g40Ca.C | 0 .../nucleus_fermi/{ => macros}/analyze_g4He.C | 0 .../nucleus_fermi/{ => macros}/analyze_g7Li.C | 0 .../{ => macros}/analyze_g93Nb.C | 0 .../{ => macros}/fermi_rescattering.C | 0 .../{ => macros}/proton_Li7_macro.C | 0 .../nucleus_fermi/{ => macros}/rootlogon.C | 0 .../{ => src}/PFermiDistributions.cc | 0 .../{ => src}/PFermiMomentumGA.cc | 0 .../{ => src}/PNucleusFermiPlugin.cc | 0 plugins/pdg_unigen/CMakeLists.txt | 21 +- plugins/pdg_unigen/{ => include}/PPDGPlugin.h | 0 .../pdg_unigen/{ => include}/PUniGenInput.h | 0 plugins/pdg_unigen/{ => include}/UEvent.h | 0 plugins/pdg_unigen/{ => include}/UParticle.h | 0 plugins/pdg_unigen/{ => include}/URun.h | 0 .../pdg_unigen/{ => macros}/unigen_input.C | 0 .../pdg_unigen/{ => macros}/using_pdg_code.C | 0 plugins/pdg_unigen/{ => src}/PPDGPlugin.cc | 0 plugins/pdg_unigen/{ => src}/PUniGenInput.cc | 0 plugins/pdg_unigen/{ => src}/UEvent.cc | 0 plugins/pdg_unigen/{ => src}/UParticle.cc | 0 plugins/pdg_unigen/{ => src}/URun.cc | 0 plugins/pion_beam/CMakeLists.txt | 21 +- .../{ => include}/PPionBeamAmplitude.h | 0 .../pion_beam/{ => include}/PPionBeamPlugin.h | 0 .../{ => macros}/pion_beam_example.C | 0 .../pion_beam/{ => src}/PPionBeamAmplitude.cc | 0 .../pion_beam/{ => src}/PPionBeamPlugin.cc | 0 plugins/scatter_mod/CMakeLists.txt | 21 +- .../{ => include}/PSaidLowEnergy.h | 0 plugins/scatter_mod/{ => include}/PSaidPN.h | 0 .../{ => include}/PScatterCrossSection.h | 0 .../{ => macros}/cross_section_example.C | 0 plugins/scatter_mod/{ => macros}/pn_ela.C | 0 plugins/scatter_mod/{ => macros}/pp_ela_4e.C | 0 plugins/scatter_mod/{ => macros}/rootlogon.C | 0 .../scatter_mod/{ => src}/PSaidLowEnergy.cc | 0 plugins/scatter_mod/{ => src}/PSaidPN.cc | 0 .../{ => src}/PScatterCrossSection.cc | 0 plugins/strangeness/CMakeLists.txt | 21 +- .../{ => include}/PStrangenessPlugin.h | 0 .../{ => src}/PStrangenessPlugin.cc | 4 +- plugins/tools/CMakeLists.txt | 21 +- .../tools/{ => include}/PGammaConversion.h | 0 plugins/tools/{ => macros}/conversion_demo.C | 0 plugins/tools/{ => macros}/rootlogon.C | 0 plugins/tools/{ => src}/PGammaConversion.cc | 0 plugins/w_decays/CMakeLists.txt | 21 +- plugins/w_decays/{ => include}/POmega3Pi.h | 0 .../w_decays/{ => macros}/w_hadronic_test.C | 0 plugins/w_decays/{ => src}/POmega3Pi.cc | 0 131 files changed, 196 insertions(+), 365 deletions(-) create mode 100644 Config.cmake.in rename plugins/beamline/{ => include}/PBeamLineSimulation.h (100%) rename plugins/beamline/{ => macros}/dummy_macro.C (100%) rename plugins/beamline/{ => macros}/piony.C (100%) rename plugins/beamline/{ => macros}/rootlogon.C (100%) rename plugins/beamline/{ => src}/PBeamLineSimulation.cc (100%) rename plugins/brems/{ => include}/PBremsstrahlung.h (100%) rename plugins/brems/{ => include}/PBremsstrahlungPlugin.h (97%) rename plugins/brems/{ => src}/PBremsstrahlung.cc (100%) rename plugins/brems/{ => src}/PBremsstrahlungPlugin.cc (100%) rename plugins/dalitz_mod/{ => include}/PDalitzModPlugin.h (100%) rename plugins/dalitz_mod/{ => include}/PDeltaDalitzFF.h (100%) rename plugins/dalitz_mod/{ => include}/PDeltaDalitzKrivoruchenko.h (100%) rename plugins/dalitz_mod/{ => include}/PResonanceDalitz.h (100%) rename plugins/dalitz_mod/{ => src}/PDalitzModPlugin.cc (100%) rename plugins/dalitz_mod/{ => src}/PDeltaDalitzFF.cc (100%) rename plugins/dalitz_mod/{ => src}/PDeltaDalitzKrivoruchenko.cc (100%) rename plugins/dalitz_mod/{ => src}/PResonanceDalitz.cc (100%) rename plugins/elementary/{ => include}/PElementaryPlugin.h (100%) rename plugins/elementary/{ => include}/PNNFSI.h (100%) rename plugins/elementary/{ => src}/PElementaryPlugin.cc (100%) rename plugins/elementary/{ => src}/PNNFSI.cc (100%) rename plugins/eta_decays/{ => include}/PEtaDecaysPlugin.h (100%) rename plugins/eta_decays/{ => include}/PEtaDoubleDalitz.h (100%) rename plugins/eta_decays/{ => include}/PEtaDoubleDalitzEnv.h (100%) rename plugins/eta_decays/{ => include}/PEtaDoubleDalitzFF.h (100%) rename plugins/eta_decays/{ => include}/PEtaPiPiDilepton.h (100%) rename plugins/eta_decays/{ => include}/PEtaPiPiDileptonMass.h (100%) rename plugins/eta_decays/{ => include}/PEtaPiPiGamma.h (100%) rename plugins/eta_decays/{ => src}/PEtaDecaysPlugin.cc (100%) rename plugins/eta_decays/{ => src}/PEtaDoubleDalitz.cc (100%) rename plugins/eta_decays/{ => src}/PEtaDoubleDalitzEnv.cc (100%) rename plugins/eta_decays/{ => src}/PEtaDoubleDalitzFF.cc (100%) rename plugins/eta_decays/{ => src}/PEtaPiPiDilepton.cc (100%) rename plugins/eta_decays/{ => src}/PEtaPiPiDileptonMass.cc (100%) rename plugins/eta_decays/{ => src}/PEtaPiPiGamma.cc (100%) rename plugins/fairroot/{ => include}/PFairGenerator.h (100%) rename plugins/fairroot/{ => src}/PFairGenerator.cc (100%) rename plugins/hades/{ => include}/PHGeantOutput.h (100%) rename plugins/hades/{ => include}/PHUrAddon.h (100%) rename plugins/hades/{ => include}/PHUrCollisionHeader.h (100%) rename plugins/hades/{ => include}/PHUrDilep.h (100%) rename plugins/hades/{ => include}/PHUrEventHeader.h (100%) rename plugins/hades/{ => include}/PHUrParticle.h (100%) rename plugins/hades/{ => include}/PHUrReader.h (100%) rename plugins/hades/{ => include}/PHadesParticleSmearer.h (100%) rename plugins/hades/{ => macros}/makeEmbeddedParticlesVertexHGeant.C (100%) rename plugins/hades/{ => macros}/urqmd_f15_input.C (100%) rename plugins/hades/{ => src}/PHGeantOutput.cc (100%) rename plugins/hades/{ => src}/PHUrAddon.cc (100%) rename plugins/hades/{ => src}/PHUrCollisionHeader.cc (100%) rename plugins/hades/{ => src}/PHUrDilep.cc (100%) rename plugins/hades/{ => src}/PHUrEventHeader.cc (100%) rename plugins/hades/{ => src}/PHUrParticle.cc (100%) rename plugins/hades/{ => src}/PHUrReader.cc (100%) rename plugins/hades/{ => src}/PHadesParticleSmearer.cc (100%) rename plugins/nucleus_fermi/{ => include}/PFermiDistributions.h (100%) rename plugins/nucleus_fermi/{ => include}/PFermiMomentumGA.h (100%) rename plugins/nucleus_fermi/{ => include}/PNucleusFermiPlugin.h (100%) rename plugins/nucleus_fermi/{ => macros}/C12_breakup_macro.C (100%) rename plugins/nucleus_fermi/{ => macros}/Ca40_breakup_macro.C (100%) rename plugins/nucleus_fermi/{ => macros}/DrawAllFermiDistributions.C (100%) rename plugins/nucleus_fermi/{ => macros}/He3_breakup_macro.C (100%) rename plugins/nucleus_fermi/{ => macros}/He4_breakup_macro.C (100%) rename plugins/nucleus_fermi/{ => macros}/KineticRecoilEnergy.C (100%) rename plugins/nucleus_fermi/{ => macros}/Li7_breakup_macro.C (100%) rename plugins/nucleus_fermi/{ => macros}/Nb93_breakup_macro.C (100%) rename plugins/nucleus_fermi/{ => macros}/analyze_g12C.C (100%) rename plugins/nucleus_fermi/{ => macros}/analyze_g3He.C (100%) rename plugins/nucleus_fermi/{ => macros}/analyze_g40Ca.C (100%) rename plugins/nucleus_fermi/{ => macros}/analyze_g4He.C (100%) rename plugins/nucleus_fermi/{ => macros}/analyze_g7Li.C (100%) rename plugins/nucleus_fermi/{ => macros}/analyze_g93Nb.C (100%) rename plugins/nucleus_fermi/{ => macros}/fermi_rescattering.C (100%) rename plugins/nucleus_fermi/{ => macros}/proton_Li7_macro.C (100%) rename plugins/nucleus_fermi/{ => macros}/rootlogon.C (100%) rename plugins/nucleus_fermi/{ => src}/PFermiDistributions.cc (100%) rename plugins/nucleus_fermi/{ => src}/PFermiMomentumGA.cc (100%) rename plugins/nucleus_fermi/{ => src}/PNucleusFermiPlugin.cc (100%) rename plugins/pdg_unigen/{ => include}/PPDGPlugin.h (100%) rename plugins/pdg_unigen/{ => include}/PUniGenInput.h (100%) rename plugins/pdg_unigen/{ => include}/UEvent.h (100%) rename plugins/pdg_unigen/{ => include}/UParticle.h (100%) rename plugins/pdg_unigen/{ => include}/URun.h (100%) rename plugins/pdg_unigen/{ => macros}/unigen_input.C (100%) rename plugins/pdg_unigen/{ => macros}/using_pdg_code.C (100%) rename plugins/pdg_unigen/{ => src}/PPDGPlugin.cc (100%) rename plugins/pdg_unigen/{ => src}/PUniGenInput.cc (100%) rename plugins/pdg_unigen/{ => src}/UEvent.cc (100%) rename plugins/pdg_unigen/{ => src}/UParticle.cc (100%) rename plugins/pdg_unigen/{ => src}/URun.cc (100%) rename plugins/pion_beam/{ => include}/PPionBeamAmplitude.h (100%) rename plugins/pion_beam/{ => include}/PPionBeamPlugin.h (100%) rename plugins/pion_beam/{ => macros}/pion_beam_example.C (100%) rename plugins/pion_beam/{ => src}/PPionBeamAmplitude.cc (100%) rename plugins/pion_beam/{ => src}/PPionBeamPlugin.cc (100%) rename plugins/scatter_mod/{ => include}/PSaidLowEnergy.h (100%) rename plugins/scatter_mod/{ => include}/PSaidPN.h (100%) rename plugins/scatter_mod/{ => include}/PScatterCrossSection.h (100%) rename plugins/scatter_mod/{ => macros}/cross_section_example.C (100%) rename plugins/scatter_mod/{ => macros}/pn_ela.C (100%) rename plugins/scatter_mod/{ => macros}/pp_ela_4e.C (100%) rename plugins/scatter_mod/{ => macros}/rootlogon.C (100%) rename plugins/scatter_mod/{ => src}/PSaidLowEnergy.cc (100%) rename plugins/scatter_mod/{ => src}/PSaidPN.cc (100%) rename plugins/scatter_mod/{ => src}/PScatterCrossSection.cc (100%) rename plugins/strangeness/{ => include}/PStrangenessPlugin.h (100%) rename plugins/strangeness/{ => src}/PStrangenessPlugin.cc (96%) rename plugins/tools/{ => include}/PGammaConversion.h (100%) rename plugins/tools/{ => macros}/conversion_demo.C (100%) rename plugins/tools/{ => macros}/rootlogon.C (100%) rename plugins/tools/{ => src}/PGammaConversion.cc (100%) rename plugins/w_decays/{ => include}/POmega3Pi.h (100%) rename plugins/w_decays/{ => macros}/w_hadronic_test.C (100%) rename plugins/w_decays/{ => src}/POmega3Pi.cc (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index ff389a1..16a1a06 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,70 +1,53 @@ # CMakeLists.txt for event package. It creates a library with dictionary and a main program cmake_minimum_required(VERSION 3.0 FATAL_ERROR) -project(pluto) +project(pluto + VERSION 6.1.9 + LANGUAGES CXX +) +include(GNUInstallDirs) include(CTest) -include_directories(include ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}) - -########################################################### -SET(PLUGIN_CLASSES "") -SET(PLUGIN_CLASSES_NAMES "") -SET(PLUGIN_COLLECTION "") - -FUNCTION(addprefix var prefix) - ##MESSAGE( STATUS "prefix: " ${prefix} ) - SET(listVar "") - FOREACH(f ${ARGN}) - LIST(APPEND listVar "${prefix}/${f}") - ENDFOREACH(f) - SET(${var} "${listVar}" PARENT_SCOPE) -ENDFUNCTION(addprefix) - -FUNCTION(addsuffix var suffix) - SET(listVar "") - FOREACH(f ${ARGN}) - LIST(APPEND listVar "${f}${suffix}") - ENDFOREACH(f) - SET(${var} "${listVar}" PARENT_SCOPE) -ENDFUNCTION(addsuffix) - -add_subdirectory(plugins) -##MESSAGE( STATUS "PLUGIN_CLASSES: " ${PLUGIN_CLASSES} ) - -addsuffix(PHDRS ".h" ${PLUGIN_CLASSES}) -addsuffix(PSRC ".cc" ${PLUGIN_CLASSES}) -##MESSAGE( STATUS "PHDRS: " ${PHDRS} ) -##MESSAGE( STATUS "PLUGIN_CLASSES_NAMES: " ${PLUGIN_CLASSES_NAMES} ) -##MESSAGE( STATUS "PLUGIN_COLLECTION: " ${PLUGIN_COLLECTION} ) - -########################################################### - -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/Plugins.h) -FOREACH(f ${PHDRS}) - file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/Plugins.h "\#include \"${f}\"\n") -ENDFOREACH(f) - -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/Plugins.cc) -FOREACH(f ${PLUGIN_COLLECTION}) - file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/Plugins.cc "\#include \"${f}\"\n") -ENDFOREACH(f) - -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/PluginLinkDef.h) -FOREACH(f ${PLUGIN_CLASSES_NAMES}) - file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/PluginLinkDef.h "\#pragma link C++ class ${f};\n") -ENDFOREACH(f) +option(MULTISLOT "Allow to install several Pluto versions ito same DESTDIR" OFF) +if (MULTISLOT) + set(PLUTO_SLOT Pluto-${PROJECT_VERSION}) +endif() ########################################################### - - -file(GLOB SOURCES "src/*.cc") -SET(SOURCES ${SOURCES} ${PLUGIN_CLASSES}) - -#file(GLOB INCL_FILES RELATIVE "${CMAKE_SOURCE_DIR}" "include/*.h" ) -file(GLOB INCL_FILES RELATIVE "${CMAKE_CURRENT_BINARY_DIR}" "include/*.h" ) -SET(INCL_FILES ${INCL_FILES} ${PHDRS}) - -MESSAGE( STATUS "INCL_FILES: " ${INCL_FILES} ) +SET(SOURCES src/PAdaptiveMesh.cc src/PAdaptiveMeshN.cc src/PAngularDistribution.cc src/PAnyDistribution.cc src/PArray.cc + src/PBatch.cc src/PBeamSmearing.cc src/PBreitWigner.cc src/PBulkInterface.cc src/PChannel.cc src/PChannelModel.cc + src/PCommandList.cc src/PComplexBreitWigner.cc src/PCross.cc src/PDalitzDecay.cc src/PDalitzDistribution.cc + src/PDataBase.cc src/PData.cc src/PDebugFileOutput.cc src/PDecayChannel.cc src/PDecayManager.cc + src/PDeltaAngularDistribution.cc src/PDensityMatrix.cc src/PDiLepton.cc src/PDistribution.cc + src/PDistributionCollection.cc src/PDistributionManager.cc src/PDistributionManagerUtil.cc src/PDynamicData.cc + src/PEEDirectDecay.cc src/PEmbeddedParticles.cc src/PF1.cc src/PF2.cc src/PF3.cc src/PFermiMomentum.cc + src/PFermiMomentumDD.cc src/PFileInput.cc src/PFileOutput.cc src/PFilter.cc src/PFireball.cc src/PFixedDecay.cc + src/PFixedProduction.cc src/PFormula.cc src/PFunction.cc src/PGenBod.cc src/PHadronDecay.cc src/PHadronDecayM1.cc + src/PHadronDecayM1N.cc src/PHadronDecayM2.cc src/PHadronDecayM3.cc src/PHadronModel.cc src/PInclusiveModel.cc + src/PMassSampling.cc src/PMesh.cc src/PParticle.cc src/PPiOmegaAngularDistribution.cc src/PPlutoBulkDecay.cc + src/PProjector.cc src/PPropagator.cc src/PReaction.cc src/PSaid.cc src/PScatterDistribution.cc src/PSimpleVMDFF.cc + src/PStaticData.cc src/PStdData.cc src/PStdModels.cc src/PTCrossWeight.cc src/PTGenPhaseSpace.cc src/PThermal.cc + src/PUtils.cc src/PValues.cc src/PVertexFile.cc +) + +set(HEADERS include/PAdaptiveMesh.h include/PAdaptiveMeshN.h include/PAngularDistribution.h include/PAnyDistribution.h + include/PArray.h include/PBatch.h include/PBeamSmearing.h include/PBreitWigner.h include/PBulkInterface.h + include/PChannel.h include/PChannelModel.h include/PCommandList.h include/PComplexBreitWigner.h include/PCross.h + include/PDalitzDecay.h include/PDalitzDistribution.h include/PDataBase.h include/PData.h include/PDebugFileOutput.h + include/PDecayChannel.h include/PDecayManager.h include/PDefines.h include/PDeltaAngularDistribution.h + include/PDensityMatrix.h include/PDiLepton.h include/PDistributionCollection.h include/PDistribution.h + include/PDistributionManager.h include/PDistributionManagerUtil.h include/PDynamicData.h include/PEEDirectDecay.h + include/PEmbeddedParticles.h include/PF1.h include/PF2.h include/PF3.h include/PFermiMomentumDD.h + include/PFermiMomentum.h include/PFileInput.h include/PFileOutput.h include/PFilter.h include/PFireball.h + include/PFixedDecay.h include/PFixedProduction.h include/PFormula.h include/PFunction.h include/PGenBod.h + include/PHadronDecay.h include/PHadronDecayM1.h include/PHadronDecayM1N.h include/PHadronDecayM2.h + include/PHadronDecayM3.h include/PHadronModel.h include/PInclusiveModel.h include/PKinematics.h + include/PMassSampling.h include/PMesh.h include/PParticle.h include/PPiOmegaAngularDistribution.h + include/PPlutoBulkDecay.h include/PProjector.h include/PPropagator.h include/PReaction.h include/PSaid.h + include/PScatterDistribution.h include/PSimpleVMDFF.h include/PStaticData.h include/PStdData.h include/PStdModels.h + include/PTCrossWeight.h include/PTGenPhaseSpace.h include/PThermal.h include/PUtils.h include/PValues.h + include/PVertexFile.h +) # You need to tell CMake where to find the ROOT installation. This can be done in a number of ways: # - ROOT built with classic configure/make use the provided $ROOTSYS/etc/cmake/FindROOT.cmake @@ -75,26 +58,82 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} $ENV{ROOTSYS}/etc/cmake) #---Locate the ROOT package and defines a number of variables (e.g. ROOT_INCLUDE_DIRS) find_package(ROOT "6.00" REQUIRED COMPONENTS RIO Net) if(ROOT_VERSION LESS 6.00) - message(FATAL_ERROR "The required ROOT version has to be at least 6.00, found " ${ROOT_VERSION}) + message(FATAL_ERROR "The required ROOT version has to be at least 6.00, found " ${ROOT_VERSION}) endif() message(STATUS "Found ROOT version: " ${ROOT_VERSION}) #---Define useful ROOT functions and macros (e.g. ROOT_GENERATE_DICTIONARY) include(${ROOT_USE_FILE}) -# explicitly tell the linker to use the EG library to resolve linker problems with TDatabasePDG::Instance() -set(DEFAULT_LINKER_FLAGS "-lEG") +#---Create a shared library with geneated dictionary +add_library(Pluto SHARED ${SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/Compiled.h) + +target_include_directories(Pluto + PUBLIC + $ + PRIVATE + $ + $ + ${CMAKE_CURRENT_BINARY_DIR} +) + +file(WRITE ${CMAKE_BINARY_DIR}/Plugins.h) +file(WRITE ${CMAKE_BINARY_DIR}/Plugins.cc) +file(WRITE ${CMAKE_BINARY_DIR}/PluginLinkDef.h) + +# This macro prepares whole Plugin logic: +# - if 'PDistributionManager.mod.cc' file exists adds it to `Plugins.cc' +# - for each of SOURCES adds it as source to `Pluto` target +# - for each of HEADERS adds it to headers collection (should be improved) +# - installs include and macros (if exists) directories +# - appends CLASSES to `PluginLinkDef.h` +macro(add_plugin plugin_target) + set(options) + set(oneValueArgs) + set(multiValueArgs SOURCES HEADERS CLASSES) + cmake_parse_arguments(PLUGIN "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) + + if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/PDistributionManager.mod.cc) + file(APPEND ${CMAKE_BINARY_DIR}/Plugins.cc "\#include \"${CMAKE_CURRENT_SOURCE_DIR}/PDistributionManager.mod.cc\"\n") + endif() + + foreach(f ${PLUGIN_SOURCES}) + target_sources(Pluto PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/${f}) + endforeach() + + foreach(f ${PLUGIN_HEADERS}) + list(APPEND PLUGIN_HEADERS_COLLECTION ${CMAKE_CURRENT_SOURCE_DIR}/${f}) + file(APPEND ${CMAKE_BINARY_DIR}/Plugins.h "\#include \"${CMAKE_CURRENT_SOURCE_DIR}/${f}\"\n") + endforeach() + + install(DIRECTORY include/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PLUTO_SLOT}/plugins + ) + + if (IS_DIRECTORY macros) + install(DIRECTORY macros/ + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PLUTO_SLOT}/plugins/${plugin_target}) + endif() + + target_include_directories(Pluto PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) + + # dynamically generate source files and Plugins LinkDef + foreach(f ${PLUGIN_CLASSES}) + file(APPEND ${CMAKE_BINARY_DIR}/PluginLinkDef.h "\#pragma link C++ class ${f};\n") + endforeach() +endmacro() -##LIST(APPEND INCL_FILES ${PHDRS}) +add_subdirectory(plugins) -#include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) -ROOT_GENERATE_DICTIONARY(G__Pluto ${INCL_FILES} LINKDEF PlutoLinkDef.h) +ROOT_GENERATE_DICTIONARY(G__Pluto MODULE Pluto ${PLUGIN_HEADERS_COLLECTION} ${HEADERS} Plugins.h LINKDEF PlutoLinkDef.h) #---Create a shared library with geneated dictionary -add_library(Pluto SHARED ${SOURCES} G__Pluto.cxx ${CMAKE_CURRENT_BINARY_DIR}/Compiled.h) -target_link_libraries(Pluto ${ROOT_LIBRARIES}) -#---Create a main program using the library +target_link_libraries(Pluto PRIVATE ROOT::Core ROOT::Tree ROOT::EG) + +########################################################### + +#---Create a main program using the library #add_executable(Main MainEvent.cxx) #target_link_libraries(Main Event) @@ -102,5 +141,43 @@ add_custom_target(Compiled.h) add_custom_command(OUTPUT Compiled.h COMMAND echo char *date_string = \\\(char*\\\) \\\"\$\$\(date +\"%e %B %Y\"\)\\\" > ${CMAKE_CURRENT_BINARY_DIR}/Compiled.h DEPENDS G__Pluto.cxx ${SOURCES}) +# Install logic +set(CMAKE_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME}-${PROJECT_VERSION}) + +install(TARGETS Pluto + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PLUTO_SLOT}) + +INSTALL(DIRECTORY macros/ + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PLUTO_SLOT}) +INSTALL(DIRECTORY include/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PLUTO_SLOT}) + +include(CMakePackageConfigHelpers) +configure_package_config_file(Config.cmake.in ${CMAKE_PROJECT_NAME}Config.cmake + INSTALL_DESTINATION ${CMAKE_INSTALL_CMAKEDIR} + PATH_VARS CMAKE_INSTALL_INCLUDEDIR CMAKE_INSTALL_LIBDIR CMAKE_INSTALL_BINDIR) + +write_basic_package_version_file(${CMAKE_PROJECT_NAME}ConfigVersion.cmake + VERSION ${PROJECT_VERSION} + COMPATIBILITY SameMajorVersion) + +install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}Config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}ConfigVersion.cmake + DESTINATION ${CMAKE_INSTALL_CMAKEDIR}) + +# Add all targets to the build-tree export set +export(TARGETS Pluto + FILE ${CMAKE_PROJECT_NAME}Targets.cmake) + +install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/libPluto.rootmap + ${CMAKE_CURRENT_BINARY_DIR}/libPluto_rdict.pcm + DESTINATION ${CMAKE_INSTALL_LIBDIR}) -#add_custom_target(PluginLinkdef.h) +# Install the export set for use with the install-tree +install(TARGETS Pluto + EXPORT ${CMAKE_PROJECT_NAME}Targets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + COMPONENT shlib COMPONENT dev) diff --git a/Config.cmake.in b/Config.cmake.in new file mode 100644 index 0000000..de1aacf --- /dev/null +++ b/Config.cmake.in @@ -0,0 +1,19 @@ +# - Config file for the @CMAKE_PROJECT_NAME@ package +# It defines the following variables +# @CAPS_PROJECT_NAME@_INCLUDE_DIR - include directories for @CMAKE_PROJECT_NAME@ +# @CAPS_PROJECT_NAME@_LIBRARY_DIR - library directories for @CMAKE_PROJECT_NAME@ +# @CAPS_PROJECT_NAME@_LIBRARIES - libraries to link against +# @CAPS_PROJECT_NAME@_EXECUTABLE - the bar executable + +set(@CAPS_PROJECT_NAME@_VERSION @PROJECT_VERSION@) + +@PACKAGE_INIT@ + +set_and_check(@CAPS_PROJECT_NAME@_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") +set_and_check(@CAPS_PROJECT_NAME@_LIBRARY_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@") + +# These are IMPORTED targets created by @CMAKE_PROJECT_NAME@Targets.cmake +set(@CAPS_PROJECT_NAME@_LIBRARIES "@PROJECT_NAME@") +set(@CAPS_PROJECT_NAME@_EXECUTABLE "") + +check_required_components(@PROJECT_VERSION@) diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt index 8795100..7bee80f 100644 --- a/plugins/CMakeLists.txt +++ b/plugins/CMakeLists.txt @@ -1,21 +1,22 @@ cmake_minimum_required(VERSION 3.0 FATAL_ERROR) -add_subdirectory(eta_decays) -add_subdirectory(w_decays) -add_subdirectory(strangeness) -add_subdirectory(pion_beam) add_subdirectory(beamline) -add_subdirectory(pdg_unigen) -add_subdirectory(tools) -add_subdirectory(scatter_mod) -add_subdirectory(fairroot) -add_subdirectory(elementary) -add_subdirectory(dalitz_mod) add_subdirectory(brems) +add_subdirectory(dalitz_mod) +add_subdirectory(elementary) +add_subdirectory(eta_decays) +add_subdirectory(fairroot) add_subdirectory(hades) add_subdirectory(nucleus_fermi) +add_subdirectory(pdg_unigen) +add_subdirectory(pion_beam) +add_subdirectory(scatter_mod) +add_subdirectory(strangeness) +add_subdirectory(tools) +add_subdirectory(w_decays) SET(PLUGIN_CLASSES "${PLUGIN_CLASSES}" PARENT_SCOPE) SET(PLUGIN_CLASSES_NAMES "${PLUGIN_CLASSES_NAMES}" PARENT_SCOPE) -SET(PLUGIN_COLLECTION "${PLUGIN_COLLECTION}" PARENT_SCOPE) +SET(PLUGIN_SOURCES_COLLECTION "${PLUGIN_SOURCES_COLLECTION}" PARENT_SCOPE) +SET(PLUGIN_HEADERS_COLLECTION "${PLUGIN_HEADERS_COLLECTION}" PARENT_SCOPE) diff --git a/plugins/beamline/CMakeLists.txt b/plugins/beamline/CMakeLists.txt index dc872ba..6b4ad76 100644 --- a/plugins/beamline/CMakeLists.txt +++ b/plugins/beamline/CMakeLists.txt @@ -1,20 +1 @@ -set(LOCAL_CLASSES PBeamLineSimulation) -set(LOCAL_COLLECTION PDistributionManager.mod.cc) - - -### do not change something below - -file (RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}") - -addprefix(LOCAL_PLUGIN_CLASSES ${_relPath} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES ${PLUGIN_CLASSES} ${LOCAL_PLUGIN_CLASSES}) -SET(PLUGIN_CLASSES "${PLUGIN_CLASSES}" PARENT_SCOPE) - -SET(PLUGIN_CLASSES_NAMES ${PLUGIN_CLASSES_NAMES} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES_NAMES "${PLUGIN_CLASSES_NAMES}" PARENT_SCOPE) - -addprefix(LOCAL_COLLECTION ${_relPath} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION ${PLUGIN_COLLECTION} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION "${PLUGIN_COLLECTION}" PARENT_SCOPE) - - +add_plugin(beamline SOURCES src/PBeamLineSimulation.cc HEADERS include/PBeamLineSimulation.h CLASSES PBeamLineSimulation) diff --git a/plugins/beamline/PBeamLineSimulation.h b/plugins/beamline/include/PBeamLineSimulation.h similarity index 100% rename from plugins/beamline/PBeamLineSimulation.h rename to plugins/beamline/include/PBeamLineSimulation.h diff --git a/plugins/beamline/dummy_macro.C b/plugins/beamline/macros/dummy_macro.C similarity index 100% rename from plugins/beamline/dummy_macro.C rename to plugins/beamline/macros/dummy_macro.C diff --git a/plugins/beamline/piony.C b/plugins/beamline/macros/piony.C similarity index 100% rename from plugins/beamline/piony.C rename to plugins/beamline/macros/piony.C diff --git a/plugins/beamline/rootlogon.C b/plugins/beamline/macros/rootlogon.C similarity index 100% rename from plugins/beamline/rootlogon.C rename to plugins/beamline/macros/rootlogon.C diff --git a/plugins/beamline/PBeamLineSimulation.cc b/plugins/beamline/src/PBeamLineSimulation.cc similarity index 100% rename from plugins/beamline/PBeamLineSimulation.cc rename to plugins/beamline/src/PBeamLineSimulation.cc diff --git a/plugins/brems/CMakeLists.txt b/plugins/brems/CMakeLists.txt index 30ec24f..b74b22f 100644 --- a/plugins/brems/CMakeLists.txt +++ b/plugins/brems/CMakeLists.txt @@ -1,20 +1 @@ -set(LOCAL_CLASSES PBremsstrahlung PBremsstrahlungPlugin) -set(LOCAL_COLLECTION PDistributionManager.mod.cc) - - -### do not change something below - -file (RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}") - -addprefix(LOCAL_PLUGIN_CLASSES ${_relPath} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES ${PLUGIN_CLASSES} ${LOCAL_PLUGIN_CLASSES}) -SET(PLUGIN_CLASSES "${PLUGIN_CLASSES}" PARENT_SCOPE) - -SET(PLUGIN_CLASSES_NAMES ${PLUGIN_CLASSES_NAMES} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES_NAMES "${PLUGIN_CLASSES_NAMES}" PARENT_SCOPE) - -addprefix(LOCAL_COLLECTION ${_relPath} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION ${PLUGIN_COLLECTION} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION "${PLUGIN_COLLECTION}" PARENT_SCOPE) - - +add_plugin(brems SOURCES src/PBremsstrahlung.cc src/PBremsstrahlungPlugin.cc HEADERS include/PBremsstrahlung.h include/PBremsstrahlungPlugin.h CLASSES PBremsstrahlung PBremsstrahlungPlugin) diff --git a/plugins/brems/PBremsstrahlung.h b/plugins/brems/include/PBremsstrahlung.h similarity index 100% rename from plugins/brems/PBremsstrahlung.h rename to plugins/brems/include/PBremsstrahlung.h diff --git a/plugins/brems/PBremsstrahlungPlugin.h b/plugins/brems/include/PBremsstrahlungPlugin.h similarity index 97% rename from plugins/brems/PBremsstrahlungPlugin.h rename to plugins/brems/include/PBremsstrahlungPlugin.h index bb77bf9..4a7f093 100644 --- a/plugins/brems/PBremsstrahlungPlugin.h +++ b/plugins/brems/include/PBremsstrahlungPlugin.h @@ -15,7 +15,7 @@ #include "PBremsstrahlung.h" #include "PInclusiveModel.h" -#include "../elementary/PNNFSI.h" +#include "PNNFSI.h" #include "PArray.h" using namespace std; diff --git a/plugins/brems/PBremsstrahlung.cc b/plugins/brems/src/PBremsstrahlung.cc similarity index 100% rename from plugins/brems/PBremsstrahlung.cc rename to plugins/brems/src/PBremsstrahlung.cc diff --git a/plugins/brems/PBremsstrahlungPlugin.cc b/plugins/brems/src/PBremsstrahlungPlugin.cc similarity index 100% rename from plugins/brems/PBremsstrahlungPlugin.cc rename to plugins/brems/src/PBremsstrahlungPlugin.cc diff --git a/plugins/dalitz_mod/CMakeLists.txt b/plugins/dalitz_mod/CMakeLists.txt index e28d96c..fd1a0ae 100644 --- a/plugins/dalitz_mod/CMakeLists.txt +++ b/plugins/dalitz_mod/CMakeLists.txt @@ -1,20 +1 @@ -set(LOCAL_CLASSES PDalitzModPlugin PDeltaDalitzFF PDeltaDalitzKrivoruchenko PResonanceDalitz) -set(LOCAL_COLLECTION PDistributionManager.mod.cc) - - -### do not change something below - -file (RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}") - -addprefix(LOCAL_PLUGIN_CLASSES ${_relPath} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES ${PLUGIN_CLASSES} ${LOCAL_PLUGIN_CLASSES}) -SET(PLUGIN_CLASSES "${PLUGIN_CLASSES}" PARENT_SCOPE) - -SET(PLUGIN_CLASSES_NAMES ${PLUGIN_CLASSES_NAMES} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES_NAMES "${PLUGIN_CLASSES_NAMES}" PARENT_SCOPE) - -addprefix(LOCAL_COLLECTION ${_relPath} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION ${PLUGIN_COLLECTION} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION "${PLUGIN_COLLECTION}" PARENT_SCOPE) - - +add_plugin(dalitz_mod SOURCES src/PDalitzModPlugin.cc src/PDeltaDalitzFF.cc src/PDeltaDalitzKrivoruchenko.cc src/PResonanceDalitz.cc HEADERS include/PDalitzModPlugin.h include/PDeltaDalitzFF.h include/PDeltaDalitzKrivoruchenko.h include/PResonanceDalitz.h CLASSES PDalitzModPlugin PDeltaDalitzFF PDeltaDalitzKrivoruchenko PResonanceDalitz) diff --git a/plugins/dalitz_mod/PDalitzModPlugin.h b/plugins/dalitz_mod/include/PDalitzModPlugin.h similarity index 100% rename from plugins/dalitz_mod/PDalitzModPlugin.h rename to plugins/dalitz_mod/include/PDalitzModPlugin.h diff --git a/plugins/dalitz_mod/PDeltaDalitzFF.h b/plugins/dalitz_mod/include/PDeltaDalitzFF.h similarity index 100% rename from plugins/dalitz_mod/PDeltaDalitzFF.h rename to plugins/dalitz_mod/include/PDeltaDalitzFF.h diff --git a/plugins/dalitz_mod/PDeltaDalitzKrivoruchenko.h b/plugins/dalitz_mod/include/PDeltaDalitzKrivoruchenko.h similarity index 100% rename from plugins/dalitz_mod/PDeltaDalitzKrivoruchenko.h rename to plugins/dalitz_mod/include/PDeltaDalitzKrivoruchenko.h diff --git a/plugins/dalitz_mod/PResonanceDalitz.h b/plugins/dalitz_mod/include/PResonanceDalitz.h similarity index 100% rename from plugins/dalitz_mod/PResonanceDalitz.h rename to plugins/dalitz_mod/include/PResonanceDalitz.h diff --git a/plugins/dalitz_mod/PDalitzModPlugin.cc b/plugins/dalitz_mod/src/PDalitzModPlugin.cc similarity index 100% rename from plugins/dalitz_mod/PDalitzModPlugin.cc rename to plugins/dalitz_mod/src/PDalitzModPlugin.cc diff --git a/plugins/dalitz_mod/PDeltaDalitzFF.cc b/plugins/dalitz_mod/src/PDeltaDalitzFF.cc similarity index 100% rename from plugins/dalitz_mod/PDeltaDalitzFF.cc rename to plugins/dalitz_mod/src/PDeltaDalitzFF.cc diff --git a/plugins/dalitz_mod/PDeltaDalitzKrivoruchenko.cc b/plugins/dalitz_mod/src/PDeltaDalitzKrivoruchenko.cc similarity index 100% rename from plugins/dalitz_mod/PDeltaDalitzKrivoruchenko.cc rename to plugins/dalitz_mod/src/PDeltaDalitzKrivoruchenko.cc diff --git a/plugins/dalitz_mod/PResonanceDalitz.cc b/plugins/dalitz_mod/src/PResonanceDalitz.cc similarity index 100% rename from plugins/dalitz_mod/PResonanceDalitz.cc rename to plugins/dalitz_mod/src/PResonanceDalitz.cc diff --git a/plugins/elementary/CMakeLists.txt b/plugins/elementary/CMakeLists.txt index a32dbdf..576a668 100644 --- a/plugins/elementary/CMakeLists.txt +++ b/plugins/elementary/CMakeLists.txt @@ -1,20 +1 @@ -set(LOCAL_CLASSES PElementaryPlugin PNNFSI) -set(LOCAL_COLLECTION PDistributionManager.mod.cc) - - -### do not change something below - -file (RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}") - -addprefix(LOCAL_PLUGIN_CLASSES ${_relPath} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES ${PLUGIN_CLASSES} ${LOCAL_PLUGIN_CLASSES}) -SET(PLUGIN_CLASSES "${PLUGIN_CLASSES}" PARENT_SCOPE) - -SET(PLUGIN_CLASSES_NAMES ${PLUGIN_CLASSES_NAMES} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES_NAMES "${PLUGIN_CLASSES_NAMES}" PARENT_SCOPE) - -addprefix(LOCAL_COLLECTION ${_relPath} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION ${PLUGIN_COLLECTION} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION "${PLUGIN_COLLECTION}" PARENT_SCOPE) - - +add_plugin(elementary SOURCES src/PElementaryPlugin.cc src/PNNFSI.cc HEADERS include/PElementaryPlugin.h include/PNNFSI.h CLASSES PElementaryPlugin PNNFSI) diff --git a/plugins/elementary/PElementaryPlugin.h b/plugins/elementary/include/PElementaryPlugin.h similarity index 100% rename from plugins/elementary/PElementaryPlugin.h rename to plugins/elementary/include/PElementaryPlugin.h diff --git a/plugins/elementary/PNNFSI.h b/plugins/elementary/include/PNNFSI.h similarity index 100% rename from plugins/elementary/PNNFSI.h rename to plugins/elementary/include/PNNFSI.h diff --git a/plugins/elementary/PElementaryPlugin.cc b/plugins/elementary/src/PElementaryPlugin.cc similarity index 100% rename from plugins/elementary/PElementaryPlugin.cc rename to plugins/elementary/src/PElementaryPlugin.cc diff --git a/plugins/elementary/PNNFSI.cc b/plugins/elementary/src/PNNFSI.cc similarity index 100% rename from plugins/elementary/PNNFSI.cc rename to plugins/elementary/src/PNNFSI.cc diff --git a/plugins/eta_decays/CMakeLists.txt b/plugins/eta_decays/CMakeLists.txt index d81c178..63eea15 100644 --- a/plugins/eta_decays/CMakeLists.txt +++ b/plugins/eta_decays/CMakeLists.txt @@ -1,22 +1 @@ -set(LOCAL_CLASSES PEtaDecaysPlugin PEtaDoubleDalitz PEtaDoubleDalitzFF PEtaDoubleDalitzEnv PEtaPiPiGamma PEtaPiPiDilepton PEtaPiPiDileptonMass) -set(LOCAL_COLLECTION PDistributionManager.mod.cc) - - -### do not change something below - -file (RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}") - -#addprefix(LOCAL_PLUGIN_CLASSES ${CMAKE_CURRENT_SOURCE_DIR} ${LOCAL_CLASSES}) -addprefix(LOCAL_PLUGIN_CLASSES ${_relPath} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES ${PLUGIN_CLASSES} ${LOCAL_PLUGIN_CLASSES}) -SET(PLUGIN_CLASSES "${PLUGIN_CLASSES}" PARENT_SCOPE) - -SET(PLUGIN_CLASSES_NAMES ${PLUGIN_CLASSES_NAMES} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES_NAMES "${PLUGIN_CLASSES_NAMES}" PARENT_SCOPE) - -#addprefix(LOCAL_COLLECTION ${CMAKE_CURRENT_SOURCE_DIR} ${LOCAL_COLLECTION}) -addprefix(LOCAL_COLLECTION ${_relPath} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION ${PLUGIN_COLLECTION} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION "${PLUGIN_COLLECTION}" PARENT_SCOPE) - - +add_plugin(eta_decays SOURCES src/PEtaDecaysPlugin.cc src/PEtaDoubleDalitz.cc src/PEtaDoubleDalitzEnv.cc src/PEtaDoubleDalitzFF.cc src/PEtaPiPiDilepton.cc src/PEtaPiPiDileptonMass.cc src/PEtaPiPiGamma.cc HEADERS include/PEtaDecaysPlugin.h include/PEtaDoubleDalitzEnv.h include/PEtaDoubleDalitzFF.h include/PEtaDoubleDalitz.h include/PEtaPiPiDilepton.h include/PEtaPiPiDileptonMass.h include/PEtaPiPiGamma.h CLASSES PEtaDecaysPlugin PEtaDoubleDalitz PEtaDoubleDalitzFF PEtaDoubleDalitzEnv PEtaPiPiGamma PEtaPiPiDilepton PEtaPiPiDileptonMass) diff --git a/plugins/eta_decays/PEtaDecaysPlugin.h b/plugins/eta_decays/include/PEtaDecaysPlugin.h similarity index 100% rename from plugins/eta_decays/PEtaDecaysPlugin.h rename to plugins/eta_decays/include/PEtaDecaysPlugin.h diff --git a/plugins/eta_decays/PEtaDoubleDalitz.h b/plugins/eta_decays/include/PEtaDoubleDalitz.h similarity index 100% rename from plugins/eta_decays/PEtaDoubleDalitz.h rename to plugins/eta_decays/include/PEtaDoubleDalitz.h diff --git a/plugins/eta_decays/PEtaDoubleDalitzEnv.h b/plugins/eta_decays/include/PEtaDoubleDalitzEnv.h similarity index 100% rename from plugins/eta_decays/PEtaDoubleDalitzEnv.h rename to plugins/eta_decays/include/PEtaDoubleDalitzEnv.h diff --git a/plugins/eta_decays/PEtaDoubleDalitzFF.h b/plugins/eta_decays/include/PEtaDoubleDalitzFF.h similarity index 100% rename from plugins/eta_decays/PEtaDoubleDalitzFF.h rename to plugins/eta_decays/include/PEtaDoubleDalitzFF.h diff --git a/plugins/eta_decays/PEtaPiPiDilepton.h b/plugins/eta_decays/include/PEtaPiPiDilepton.h similarity index 100% rename from plugins/eta_decays/PEtaPiPiDilepton.h rename to plugins/eta_decays/include/PEtaPiPiDilepton.h diff --git a/plugins/eta_decays/PEtaPiPiDileptonMass.h b/plugins/eta_decays/include/PEtaPiPiDileptonMass.h similarity index 100% rename from plugins/eta_decays/PEtaPiPiDileptonMass.h rename to plugins/eta_decays/include/PEtaPiPiDileptonMass.h diff --git a/plugins/eta_decays/PEtaPiPiGamma.h b/plugins/eta_decays/include/PEtaPiPiGamma.h similarity index 100% rename from plugins/eta_decays/PEtaPiPiGamma.h rename to plugins/eta_decays/include/PEtaPiPiGamma.h diff --git a/plugins/eta_decays/PEtaDecaysPlugin.cc b/plugins/eta_decays/src/PEtaDecaysPlugin.cc similarity index 100% rename from plugins/eta_decays/PEtaDecaysPlugin.cc rename to plugins/eta_decays/src/PEtaDecaysPlugin.cc diff --git a/plugins/eta_decays/PEtaDoubleDalitz.cc b/plugins/eta_decays/src/PEtaDoubleDalitz.cc similarity index 100% rename from plugins/eta_decays/PEtaDoubleDalitz.cc rename to plugins/eta_decays/src/PEtaDoubleDalitz.cc diff --git a/plugins/eta_decays/PEtaDoubleDalitzEnv.cc b/plugins/eta_decays/src/PEtaDoubleDalitzEnv.cc similarity index 100% rename from plugins/eta_decays/PEtaDoubleDalitzEnv.cc rename to plugins/eta_decays/src/PEtaDoubleDalitzEnv.cc diff --git a/plugins/eta_decays/PEtaDoubleDalitzFF.cc b/plugins/eta_decays/src/PEtaDoubleDalitzFF.cc similarity index 100% rename from plugins/eta_decays/PEtaDoubleDalitzFF.cc rename to plugins/eta_decays/src/PEtaDoubleDalitzFF.cc diff --git a/plugins/eta_decays/PEtaPiPiDilepton.cc b/plugins/eta_decays/src/PEtaPiPiDilepton.cc similarity index 100% rename from plugins/eta_decays/PEtaPiPiDilepton.cc rename to plugins/eta_decays/src/PEtaPiPiDilepton.cc diff --git a/plugins/eta_decays/PEtaPiPiDileptonMass.cc b/plugins/eta_decays/src/PEtaPiPiDileptonMass.cc similarity index 100% rename from plugins/eta_decays/PEtaPiPiDileptonMass.cc rename to plugins/eta_decays/src/PEtaPiPiDileptonMass.cc diff --git a/plugins/eta_decays/PEtaPiPiGamma.cc b/plugins/eta_decays/src/PEtaPiPiGamma.cc similarity index 100% rename from plugins/eta_decays/PEtaPiPiGamma.cc rename to plugins/eta_decays/src/PEtaPiPiGamma.cc diff --git a/plugins/fairroot/CMakeLists.txt b/plugins/fairroot/CMakeLists.txt index 63774ab..d19bda9 100644 --- a/plugins/fairroot/CMakeLists.txt +++ b/plugins/fairroot/CMakeLists.txt @@ -1,20 +1 @@ -set(LOCAL_CLASSES PFairGenerator) -set(LOCAL_COLLECTION ) - - -### do not change something below - -file (RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}") - -addprefix(LOCAL_PLUGIN_CLASSES ${_relPath} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES ${PLUGIN_CLASSES} ${LOCAL_PLUGIN_CLASSES}) -SET(PLUGIN_CLASSES "${PLUGIN_CLASSES}" PARENT_SCOPE) - -SET(PLUGIN_CLASSES_NAMES ${PLUGIN_CLASSES_NAMES} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES_NAMES "${PLUGIN_CLASSES_NAMES}" PARENT_SCOPE) - -addprefix(LOCAL_COLLECTION ${_relPath} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION ${PLUGIN_COLLECTION} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION "${PLUGIN_COLLECTION}" PARENT_SCOPE) - - +add_plugin(fairroot SOURCES src/PFairGenerator.cc HEADERS include/PFairGenerator.h CLASSES PFairGenerator) diff --git a/plugins/fairroot/PFairGenerator.h b/plugins/fairroot/include/PFairGenerator.h similarity index 100% rename from plugins/fairroot/PFairGenerator.h rename to plugins/fairroot/include/PFairGenerator.h diff --git a/plugins/fairroot/PFairGenerator.cc b/plugins/fairroot/src/PFairGenerator.cc similarity index 100% rename from plugins/fairroot/PFairGenerator.cc rename to plugins/fairroot/src/PFairGenerator.cc diff --git a/plugins/hades/CMakeLists.txt b/plugins/hades/CMakeLists.txt index 13e9303..6d42668 100644 --- a/plugins/hades/CMakeLists.txt +++ b/plugins/hades/CMakeLists.txt @@ -1,20 +1 @@ -set(LOCAL_CLASSES PHadesParticleSmearer PHGeantOutput PHUrCollisionHeader PHUrEventHeader PHUrParticle PHUrAddon PHUrDilep PHUrReader) -set(LOCAL_COLLECTION PDistributionManager.mod.cc) - - -### do not change something below - -file (RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}") - -addprefix(LOCAL_PLUGIN_CLASSES ${_relPath} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES ${PLUGIN_CLASSES} ${LOCAL_PLUGIN_CLASSES}) -SET(PLUGIN_CLASSES "${PLUGIN_CLASSES}" PARENT_SCOPE) - -SET(PLUGIN_CLASSES_NAMES ${PLUGIN_CLASSES_NAMES} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES_NAMES "${PLUGIN_CLASSES_NAMES}" PARENT_SCOPE) - -addprefix(LOCAL_COLLECTION ${_relPath} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION ${PLUGIN_COLLECTION} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION "${PLUGIN_COLLECTION}" PARENT_SCOPE) - - +add_plugin(hades SOURCES src/PHGeantOutput.cc src/PHUrCollisionHeader.cc src/PHUrEventHeader.cc src/PHUrReader.cc src/PHadesParticleSmearer.cc src/PHUrAddon.cc src/PHUrDilep.cc src/PHUrParticle.cc HEADERS include/PHadesParticleSmearer.h include/PHGeantOutput.h include/PHUrAddon.h include/PHUrCollisionHeader.h include/PHUrDilep.h include/PHUrEventHeader.h include/PHUrParticle.h include/PHUrReader.h CLASSES PHadesParticleSmearer PHGeantOutput PHUrCollisionHeader PHUrEventHeader PHUrParticle PHUrAddon PHUrDilep PHUrReader) diff --git a/plugins/hades/PHGeantOutput.h b/plugins/hades/include/PHGeantOutput.h similarity index 100% rename from plugins/hades/PHGeantOutput.h rename to plugins/hades/include/PHGeantOutput.h diff --git a/plugins/hades/PHUrAddon.h b/plugins/hades/include/PHUrAddon.h similarity index 100% rename from plugins/hades/PHUrAddon.h rename to plugins/hades/include/PHUrAddon.h diff --git a/plugins/hades/PHUrCollisionHeader.h b/plugins/hades/include/PHUrCollisionHeader.h similarity index 100% rename from plugins/hades/PHUrCollisionHeader.h rename to plugins/hades/include/PHUrCollisionHeader.h diff --git a/plugins/hades/PHUrDilep.h b/plugins/hades/include/PHUrDilep.h similarity index 100% rename from plugins/hades/PHUrDilep.h rename to plugins/hades/include/PHUrDilep.h diff --git a/plugins/hades/PHUrEventHeader.h b/plugins/hades/include/PHUrEventHeader.h similarity index 100% rename from plugins/hades/PHUrEventHeader.h rename to plugins/hades/include/PHUrEventHeader.h diff --git a/plugins/hades/PHUrParticle.h b/plugins/hades/include/PHUrParticle.h similarity index 100% rename from plugins/hades/PHUrParticle.h rename to plugins/hades/include/PHUrParticle.h diff --git a/plugins/hades/PHUrReader.h b/plugins/hades/include/PHUrReader.h similarity index 100% rename from plugins/hades/PHUrReader.h rename to plugins/hades/include/PHUrReader.h diff --git a/plugins/hades/PHadesParticleSmearer.h b/plugins/hades/include/PHadesParticleSmearer.h similarity index 100% rename from plugins/hades/PHadesParticleSmearer.h rename to plugins/hades/include/PHadesParticleSmearer.h diff --git a/plugins/hades/makeEmbeddedParticlesVertexHGeant.C b/plugins/hades/macros/makeEmbeddedParticlesVertexHGeant.C similarity index 100% rename from plugins/hades/makeEmbeddedParticlesVertexHGeant.C rename to plugins/hades/macros/makeEmbeddedParticlesVertexHGeant.C diff --git a/plugins/hades/urqmd_f15_input.C b/plugins/hades/macros/urqmd_f15_input.C similarity index 100% rename from plugins/hades/urqmd_f15_input.C rename to plugins/hades/macros/urqmd_f15_input.C diff --git a/plugins/hades/PHGeantOutput.cc b/plugins/hades/src/PHGeantOutput.cc similarity index 100% rename from plugins/hades/PHGeantOutput.cc rename to plugins/hades/src/PHGeantOutput.cc diff --git a/plugins/hades/PHUrAddon.cc b/plugins/hades/src/PHUrAddon.cc similarity index 100% rename from plugins/hades/PHUrAddon.cc rename to plugins/hades/src/PHUrAddon.cc diff --git a/plugins/hades/PHUrCollisionHeader.cc b/plugins/hades/src/PHUrCollisionHeader.cc similarity index 100% rename from plugins/hades/PHUrCollisionHeader.cc rename to plugins/hades/src/PHUrCollisionHeader.cc diff --git a/plugins/hades/PHUrDilep.cc b/plugins/hades/src/PHUrDilep.cc similarity index 100% rename from plugins/hades/PHUrDilep.cc rename to plugins/hades/src/PHUrDilep.cc diff --git a/plugins/hades/PHUrEventHeader.cc b/plugins/hades/src/PHUrEventHeader.cc similarity index 100% rename from plugins/hades/PHUrEventHeader.cc rename to plugins/hades/src/PHUrEventHeader.cc diff --git a/plugins/hades/PHUrParticle.cc b/plugins/hades/src/PHUrParticle.cc similarity index 100% rename from plugins/hades/PHUrParticle.cc rename to plugins/hades/src/PHUrParticle.cc diff --git a/plugins/hades/PHUrReader.cc b/plugins/hades/src/PHUrReader.cc similarity index 100% rename from plugins/hades/PHUrReader.cc rename to plugins/hades/src/PHUrReader.cc diff --git a/plugins/hades/PHadesParticleSmearer.cc b/plugins/hades/src/PHadesParticleSmearer.cc similarity index 100% rename from plugins/hades/PHadesParticleSmearer.cc rename to plugins/hades/src/PHadesParticleSmearer.cc diff --git a/plugins/nucleus_fermi/CMakeLists.txt b/plugins/nucleus_fermi/CMakeLists.txt index b837baf..2ae1c95 100644 --- a/plugins/nucleus_fermi/CMakeLists.txt +++ b/plugins/nucleus_fermi/CMakeLists.txt @@ -1,20 +1 @@ -set(LOCAL_CLASSES PFermiDistributions PFermiMomentumGA PNucleusFermiPlugin) -set(LOCAL_COLLECTION PDistributionManager.mod.cc) - - -### do not change something below - -file (RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}") - -addprefix(LOCAL_PLUGIN_CLASSES ${_relPath} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES ${PLUGIN_CLASSES} ${LOCAL_PLUGIN_CLASSES}) -SET(PLUGIN_CLASSES "${PLUGIN_CLASSES}" PARENT_SCOPE) - -SET(PLUGIN_CLASSES_NAMES ${PLUGIN_CLASSES_NAMES} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES_NAMES "${PLUGIN_CLASSES_NAMES}" PARENT_SCOPE) - -addprefix(LOCAL_COLLECTION ${_relPath} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION ${PLUGIN_COLLECTION} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION "${PLUGIN_COLLECTION}" PARENT_SCOPE) - - +add_plugin(nucleus_fermi SOURCES src/PFermiDistributions.cc src/PFermiMomentumGA.cc src/PNucleusFermiPlugin.cc HEADERS include/PFermiDistributions.h include/PFermiMomentumGA.h include/PNucleusFermiPlugin.h CLASSES PFermiDistributions PFermiMomentumGA PNucleusFermiPlugin) diff --git a/plugins/nucleus_fermi/PFermiDistributions.h b/plugins/nucleus_fermi/include/PFermiDistributions.h similarity index 100% rename from plugins/nucleus_fermi/PFermiDistributions.h rename to plugins/nucleus_fermi/include/PFermiDistributions.h diff --git a/plugins/nucleus_fermi/PFermiMomentumGA.h b/plugins/nucleus_fermi/include/PFermiMomentumGA.h similarity index 100% rename from plugins/nucleus_fermi/PFermiMomentumGA.h rename to plugins/nucleus_fermi/include/PFermiMomentumGA.h diff --git a/plugins/nucleus_fermi/PNucleusFermiPlugin.h b/plugins/nucleus_fermi/include/PNucleusFermiPlugin.h similarity index 100% rename from plugins/nucleus_fermi/PNucleusFermiPlugin.h rename to plugins/nucleus_fermi/include/PNucleusFermiPlugin.h diff --git a/plugins/nucleus_fermi/C12_breakup_macro.C b/plugins/nucleus_fermi/macros/C12_breakup_macro.C similarity index 100% rename from plugins/nucleus_fermi/C12_breakup_macro.C rename to plugins/nucleus_fermi/macros/C12_breakup_macro.C diff --git a/plugins/nucleus_fermi/Ca40_breakup_macro.C b/plugins/nucleus_fermi/macros/Ca40_breakup_macro.C similarity index 100% rename from plugins/nucleus_fermi/Ca40_breakup_macro.C rename to plugins/nucleus_fermi/macros/Ca40_breakup_macro.C diff --git a/plugins/nucleus_fermi/DrawAllFermiDistributions.C b/plugins/nucleus_fermi/macros/DrawAllFermiDistributions.C similarity index 100% rename from plugins/nucleus_fermi/DrawAllFermiDistributions.C rename to plugins/nucleus_fermi/macros/DrawAllFermiDistributions.C diff --git a/plugins/nucleus_fermi/He3_breakup_macro.C b/plugins/nucleus_fermi/macros/He3_breakup_macro.C similarity index 100% rename from plugins/nucleus_fermi/He3_breakup_macro.C rename to plugins/nucleus_fermi/macros/He3_breakup_macro.C diff --git a/plugins/nucleus_fermi/He4_breakup_macro.C b/plugins/nucleus_fermi/macros/He4_breakup_macro.C similarity index 100% rename from plugins/nucleus_fermi/He4_breakup_macro.C rename to plugins/nucleus_fermi/macros/He4_breakup_macro.C diff --git a/plugins/nucleus_fermi/KineticRecoilEnergy.C b/plugins/nucleus_fermi/macros/KineticRecoilEnergy.C similarity index 100% rename from plugins/nucleus_fermi/KineticRecoilEnergy.C rename to plugins/nucleus_fermi/macros/KineticRecoilEnergy.C diff --git a/plugins/nucleus_fermi/Li7_breakup_macro.C b/plugins/nucleus_fermi/macros/Li7_breakup_macro.C similarity index 100% rename from plugins/nucleus_fermi/Li7_breakup_macro.C rename to plugins/nucleus_fermi/macros/Li7_breakup_macro.C diff --git a/plugins/nucleus_fermi/Nb93_breakup_macro.C b/plugins/nucleus_fermi/macros/Nb93_breakup_macro.C similarity index 100% rename from plugins/nucleus_fermi/Nb93_breakup_macro.C rename to plugins/nucleus_fermi/macros/Nb93_breakup_macro.C diff --git a/plugins/nucleus_fermi/analyze_g12C.C b/plugins/nucleus_fermi/macros/analyze_g12C.C similarity index 100% rename from plugins/nucleus_fermi/analyze_g12C.C rename to plugins/nucleus_fermi/macros/analyze_g12C.C diff --git a/plugins/nucleus_fermi/analyze_g3He.C b/plugins/nucleus_fermi/macros/analyze_g3He.C similarity index 100% rename from plugins/nucleus_fermi/analyze_g3He.C rename to plugins/nucleus_fermi/macros/analyze_g3He.C diff --git a/plugins/nucleus_fermi/analyze_g40Ca.C b/plugins/nucleus_fermi/macros/analyze_g40Ca.C similarity index 100% rename from plugins/nucleus_fermi/analyze_g40Ca.C rename to plugins/nucleus_fermi/macros/analyze_g40Ca.C diff --git a/plugins/nucleus_fermi/analyze_g4He.C b/plugins/nucleus_fermi/macros/analyze_g4He.C similarity index 100% rename from plugins/nucleus_fermi/analyze_g4He.C rename to plugins/nucleus_fermi/macros/analyze_g4He.C diff --git a/plugins/nucleus_fermi/analyze_g7Li.C b/plugins/nucleus_fermi/macros/analyze_g7Li.C similarity index 100% rename from plugins/nucleus_fermi/analyze_g7Li.C rename to plugins/nucleus_fermi/macros/analyze_g7Li.C diff --git a/plugins/nucleus_fermi/analyze_g93Nb.C b/plugins/nucleus_fermi/macros/analyze_g93Nb.C similarity index 100% rename from plugins/nucleus_fermi/analyze_g93Nb.C rename to plugins/nucleus_fermi/macros/analyze_g93Nb.C diff --git a/plugins/nucleus_fermi/fermi_rescattering.C b/plugins/nucleus_fermi/macros/fermi_rescattering.C similarity index 100% rename from plugins/nucleus_fermi/fermi_rescattering.C rename to plugins/nucleus_fermi/macros/fermi_rescattering.C diff --git a/plugins/nucleus_fermi/proton_Li7_macro.C b/plugins/nucleus_fermi/macros/proton_Li7_macro.C similarity index 100% rename from plugins/nucleus_fermi/proton_Li7_macro.C rename to plugins/nucleus_fermi/macros/proton_Li7_macro.C diff --git a/plugins/nucleus_fermi/rootlogon.C b/plugins/nucleus_fermi/macros/rootlogon.C similarity index 100% rename from plugins/nucleus_fermi/rootlogon.C rename to plugins/nucleus_fermi/macros/rootlogon.C diff --git a/plugins/nucleus_fermi/PFermiDistributions.cc b/plugins/nucleus_fermi/src/PFermiDistributions.cc similarity index 100% rename from plugins/nucleus_fermi/PFermiDistributions.cc rename to plugins/nucleus_fermi/src/PFermiDistributions.cc diff --git a/plugins/nucleus_fermi/PFermiMomentumGA.cc b/plugins/nucleus_fermi/src/PFermiMomentumGA.cc similarity index 100% rename from plugins/nucleus_fermi/PFermiMomentumGA.cc rename to plugins/nucleus_fermi/src/PFermiMomentumGA.cc diff --git a/plugins/nucleus_fermi/PNucleusFermiPlugin.cc b/plugins/nucleus_fermi/src/PNucleusFermiPlugin.cc similarity index 100% rename from plugins/nucleus_fermi/PNucleusFermiPlugin.cc rename to plugins/nucleus_fermi/src/PNucleusFermiPlugin.cc diff --git a/plugins/pdg_unigen/CMakeLists.txt b/plugins/pdg_unigen/CMakeLists.txt index 03e0028..76eabeb 100644 --- a/plugins/pdg_unigen/CMakeLists.txt +++ b/plugins/pdg_unigen/CMakeLists.txt @@ -1,20 +1 @@ -set(LOCAL_CLASSES UEvent UParticle URun PUniGenInput PPDGPlugin) -set(LOCAL_COLLECTION PDistributionManager.mod.cc) - - -### do not change something below - -file (RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}") - -addprefix(LOCAL_PLUGIN_CLASSES ${_relPath} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES ${PLUGIN_CLASSES} ${LOCAL_PLUGIN_CLASSES}) -SET(PLUGIN_CLASSES "${PLUGIN_CLASSES}" PARENT_SCOPE) - -SET(PLUGIN_CLASSES_NAMES ${PLUGIN_CLASSES_NAMES} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES_NAMES "${PLUGIN_CLASSES_NAMES}" PARENT_SCOPE) - -addprefix(LOCAL_COLLECTION ${_relPath} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION ${PLUGIN_COLLECTION} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION "${PLUGIN_COLLECTION}" PARENT_SCOPE) - - +add_plugin(pdg_unigen SOURCES src/PPDGPlugin.cc src/PUniGenInput.cc src/UEvent.cc src/UParticle.cc src/URun.cc HEADERS include/PPDGPlugin.h include/PUniGenInput.h include/UEvent.h include/UParticle.h include/URun.h CLASSES UEvent UParticle URun PUniGenInput PPDGPlugin) diff --git a/plugins/pdg_unigen/PPDGPlugin.h b/plugins/pdg_unigen/include/PPDGPlugin.h similarity index 100% rename from plugins/pdg_unigen/PPDGPlugin.h rename to plugins/pdg_unigen/include/PPDGPlugin.h diff --git a/plugins/pdg_unigen/PUniGenInput.h b/plugins/pdg_unigen/include/PUniGenInput.h similarity index 100% rename from plugins/pdg_unigen/PUniGenInput.h rename to plugins/pdg_unigen/include/PUniGenInput.h diff --git a/plugins/pdg_unigen/UEvent.h b/plugins/pdg_unigen/include/UEvent.h similarity index 100% rename from plugins/pdg_unigen/UEvent.h rename to plugins/pdg_unigen/include/UEvent.h diff --git a/plugins/pdg_unigen/UParticle.h b/plugins/pdg_unigen/include/UParticle.h similarity index 100% rename from plugins/pdg_unigen/UParticle.h rename to plugins/pdg_unigen/include/UParticle.h diff --git a/plugins/pdg_unigen/URun.h b/plugins/pdg_unigen/include/URun.h similarity index 100% rename from plugins/pdg_unigen/URun.h rename to plugins/pdg_unigen/include/URun.h diff --git a/plugins/pdg_unigen/unigen_input.C b/plugins/pdg_unigen/macros/unigen_input.C similarity index 100% rename from plugins/pdg_unigen/unigen_input.C rename to plugins/pdg_unigen/macros/unigen_input.C diff --git a/plugins/pdg_unigen/using_pdg_code.C b/plugins/pdg_unigen/macros/using_pdg_code.C similarity index 100% rename from plugins/pdg_unigen/using_pdg_code.C rename to plugins/pdg_unigen/macros/using_pdg_code.C diff --git a/plugins/pdg_unigen/PPDGPlugin.cc b/plugins/pdg_unigen/src/PPDGPlugin.cc similarity index 100% rename from plugins/pdg_unigen/PPDGPlugin.cc rename to plugins/pdg_unigen/src/PPDGPlugin.cc diff --git a/plugins/pdg_unigen/PUniGenInput.cc b/plugins/pdg_unigen/src/PUniGenInput.cc similarity index 100% rename from plugins/pdg_unigen/PUniGenInput.cc rename to plugins/pdg_unigen/src/PUniGenInput.cc diff --git a/plugins/pdg_unigen/UEvent.cc b/plugins/pdg_unigen/src/UEvent.cc similarity index 100% rename from plugins/pdg_unigen/UEvent.cc rename to plugins/pdg_unigen/src/UEvent.cc diff --git a/plugins/pdg_unigen/UParticle.cc b/plugins/pdg_unigen/src/UParticle.cc similarity index 100% rename from plugins/pdg_unigen/UParticle.cc rename to plugins/pdg_unigen/src/UParticle.cc diff --git a/plugins/pdg_unigen/URun.cc b/plugins/pdg_unigen/src/URun.cc similarity index 100% rename from plugins/pdg_unigen/URun.cc rename to plugins/pdg_unigen/src/URun.cc diff --git a/plugins/pion_beam/CMakeLists.txt b/plugins/pion_beam/CMakeLists.txt index 7cb4235..92b5afa 100644 --- a/plugins/pion_beam/CMakeLists.txt +++ b/plugins/pion_beam/CMakeLists.txt @@ -1,20 +1 @@ -set(LOCAL_CLASSES PPionBeamPlugin PPionBeamAmplitude) -set(LOCAL_COLLECTION PDistributionManager.mod.cc) - - -### do not change something below - -file (RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}") - -addprefix(LOCAL_PLUGIN_CLASSES ${_relPath} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES ${PLUGIN_CLASSES} ${LOCAL_PLUGIN_CLASSES}) -SET(PLUGIN_CLASSES "${PLUGIN_CLASSES}" PARENT_SCOPE) - -SET(PLUGIN_CLASSES_NAMES ${PLUGIN_CLASSES_NAMES} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES_NAMES "${PLUGIN_CLASSES_NAMES}" PARENT_SCOPE) - -addprefix(LOCAL_COLLECTION ${_relPath} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION ${PLUGIN_COLLECTION} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION "${PLUGIN_COLLECTION}" PARENT_SCOPE) - - +add_plugin(pion_beam SOURCES src/PPionBeamAmplitude.cc src/PPionBeamPlugin.cc HEADERS include/PPionBeamAmplitude.h include/PPionBeamPlugin.h CLASSES PPionBeamPlugin PPionBeamAmplitude) diff --git a/plugins/pion_beam/PPionBeamAmplitude.h b/plugins/pion_beam/include/PPionBeamAmplitude.h similarity index 100% rename from plugins/pion_beam/PPionBeamAmplitude.h rename to plugins/pion_beam/include/PPionBeamAmplitude.h diff --git a/plugins/pion_beam/PPionBeamPlugin.h b/plugins/pion_beam/include/PPionBeamPlugin.h similarity index 100% rename from plugins/pion_beam/PPionBeamPlugin.h rename to plugins/pion_beam/include/PPionBeamPlugin.h diff --git a/plugins/pion_beam/pion_beam_example.C b/plugins/pion_beam/macros/pion_beam_example.C similarity index 100% rename from plugins/pion_beam/pion_beam_example.C rename to plugins/pion_beam/macros/pion_beam_example.C diff --git a/plugins/pion_beam/PPionBeamAmplitude.cc b/plugins/pion_beam/src/PPionBeamAmplitude.cc similarity index 100% rename from plugins/pion_beam/PPionBeamAmplitude.cc rename to plugins/pion_beam/src/PPionBeamAmplitude.cc diff --git a/plugins/pion_beam/PPionBeamPlugin.cc b/plugins/pion_beam/src/PPionBeamPlugin.cc similarity index 100% rename from plugins/pion_beam/PPionBeamPlugin.cc rename to plugins/pion_beam/src/PPionBeamPlugin.cc diff --git a/plugins/scatter_mod/CMakeLists.txt b/plugins/scatter_mod/CMakeLists.txt index 5c40715..21bdafa 100644 --- a/plugins/scatter_mod/CMakeLists.txt +++ b/plugins/scatter_mod/CMakeLists.txt @@ -1,20 +1 @@ -set(LOCAL_CLASSES PSaidLowEnergy PSaidPN PScatterCrossSection) -set(LOCAL_COLLECTION PDistributionManager.mod.cc) - - -### do not change something below - -file (RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}") - -addprefix(LOCAL_PLUGIN_CLASSES ${_relPath} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES ${PLUGIN_CLASSES} ${LOCAL_PLUGIN_CLASSES}) -SET(PLUGIN_CLASSES "${PLUGIN_CLASSES}" PARENT_SCOPE) - -SET(PLUGIN_CLASSES_NAMES ${PLUGIN_CLASSES_NAMES} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES_NAMES "${PLUGIN_CLASSES_NAMES}" PARENT_SCOPE) - -addprefix(LOCAL_COLLECTION ${_relPath} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION ${PLUGIN_COLLECTION} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION "${PLUGIN_COLLECTION}" PARENT_SCOPE) - - +add_plugin(scatter_mod SOURCES src/PSaidLowEnergy.cc src/PSaidPN.cc src/PScatterCrossSection.cc HEADERS include/PSaidLowEnergy.h include/PSaidPN.h include/PScatterCrossSection.h CLASSES PSaidLowEnergy PSaidPN PScatterCrossSection) diff --git a/plugins/scatter_mod/PSaidLowEnergy.h b/plugins/scatter_mod/include/PSaidLowEnergy.h similarity index 100% rename from plugins/scatter_mod/PSaidLowEnergy.h rename to plugins/scatter_mod/include/PSaidLowEnergy.h diff --git a/plugins/scatter_mod/PSaidPN.h b/plugins/scatter_mod/include/PSaidPN.h similarity index 100% rename from plugins/scatter_mod/PSaidPN.h rename to plugins/scatter_mod/include/PSaidPN.h diff --git a/plugins/scatter_mod/PScatterCrossSection.h b/plugins/scatter_mod/include/PScatterCrossSection.h similarity index 100% rename from plugins/scatter_mod/PScatterCrossSection.h rename to plugins/scatter_mod/include/PScatterCrossSection.h diff --git a/plugins/scatter_mod/cross_section_example.C b/plugins/scatter_mod/macros/cross_section_example.C similarity index 100% rename from plugins/scatter_mod/cross_section_example.C rename to plugins/scatter_mod/macros/cross_section_example.C diff --git a/plugins/scatter_mod/pn_ela.C b/plugins/scatter_mod/macros/pn_ela.C similarity index 100% rename from plugins/scatter_mod/pn_ela.C rename to plugins/scatter_mod/macros/pn_ela.C diff --git a/plugins/scatter_mod/pp_ela_4e.C b/plugins/scatter_mod/macros/pp_ela_4e.C similarity index 100% rename from plugins/scatter_mod/pp_ela_4e.C rename to plugins/scatter_mod/macros/pp_ela_4e.C diff --git a/plugins/scatter_mod/rootlogon.C b/plugins/scatter_mod/macros/rootlogon.C similarity index 100% rename from plugins/scatter_mod/rootlogon.C rename to plugins/scatter_mod/macros/rootlogon.C diff --git a/plugins/scatter_mod/PSaidLowEnergy.cc b/plugins/scatter_mod/src/PSaidLowEnergy.cc similarity index 100% rename from plugins/scatter_mod/PSaidLowEnergy.cc rename to plugins/scatter_mod/src/PSaidLowEnergy.cc diff --git a/plugins/scatter_mod/PSaidPN.cc b/plugins/scatter_mod/src/PSaidPN.cc similarity index 100% rename from plugins/scatter_mod/PSaidPN.cc rename to plugins/scatter_mod/src/PSaidPN.cc diff --git a/plugins/scatter_mod/PScatterCrossSection.cc b/plugins/scatter_mod/src/PScatterCrossSection.cc similarity index 100% rename from plugins/scatter_mod/PScatterCrossSection.cc rename to plugins/scatter_mod/src/PScatterCrossSection.cc diff --git a/plugins/strangeness/CMakeLists.txt b/plugins/strangeness/CMakeLists.txt index 826650e..558b80c 100644 --- a/plugins/strangeness/CMakeLists.txt +++ b/plugins/strangeness/CMakeLists.txt @@ -1,20 +1 @@ -set(LOCAL_CLASSES PStrangenessPlugin) -set(LOCAL_COLLECTION PDistributionManager.mod.cc) - - -### do not change something below - -file (RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}") - -addprefix(LOCAL_PLUGIN_CLASSES ${_relPath} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES ${PLUGIN_CLASSES} ${LOCAL_PLUGIN_CLASSES}) -SET(PLUGIN_CLASSES "${PLUGIN_CLASSES}" PARENT_SCOPE) - -SET(PLUGIN_CLASSES_NAMES ${PLUGIN_CLASSES_NAMES} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES_NAMES "${PLUGIN_CLASSES_NAMES}" PARENT_SCOPE) - -addprefix(LOCAL_COLLECTION ${_relPath} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION ${PLUGIN_COLLECTION} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION "${PLUGIN_COLLECTION}" PARENT_SCOPE) - - +add_plugin(strangeness SOURCES src/PStrangenessPlugin.cc HEADERS include/PStrangenessPlugin.h CLASSES PStrangenessPlugin) diff --git a/plugins/strangeness/PStrangenessPlugin.h b/plugins/strangeness/include/PStrangenessPlugin.h similarity index 100% rename from plugins/strangeness/PStrangenessPlugin.h rename to plugins/strangeness/include/PStrangenessPlugin.h diff --git a/plugins/strangeness/PStrangenessPlugin.cc b/plugins/strangeness/src/PStrangenessPlugin.cc similarity index 96% rename from plugins/strangeness/PStrangenessPlugin.cc rename to plugins/strangeness/src/PStrangenessPlugin.cc index 721c3dd..96ba5de 100644 --- a/plugins/strangeness/PStrangenessPlugin.cc +++ b/plugins/strangeness/src/PStrangenessPlugin.cc @@ -11,6 +11,8 @@ #include "PStrangenessPlugin.h" +#include "PDistributionManager.h" +#include "PResonanceDalitz.h" PStrangenessPlugin::PStrangenessPlugin(const Char_t *id, const Char_t *de): PDistributionCollection(id, de) { @@ -81,7 +83,7 @@ Bool_t PStrangenessPlugin::ExecCommand(const char *command, Double_t) { - makeStaticData()->AddParticle(73,"Sigma13850", 1.3837); + makeStaticData()->AddParticle(73, "Sigma13850", 1.3837); makeStaticData()->AddAlias("Sigma13850", "Sigma(1385)0"); makeStaticData()->SetParticleTotalWidth("Sigma13850", 0.0365); makeStaticData()->SetParticleBaryon("Sigma13850", 1); diff --git a/plugins/tools/CMakeLists.txt b/plugins/tools/CMakeLists.txt index 32cafca..1a76bd3 100644 --- a/plugins/tools/CMakeLists.txt +++ b/plugins/tools/CMakeLists.txt @@ -1,20 +1 @@ -set(LOCAL_CLASSES PGammaConversion) -set(LOCAL_COLLECTION ) - - -### do not change something below - -file (RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}") - -addprefix(LOCAL_PLUGIN_CLASSES ${_relPath} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES ${PLUGIN_CLASSES} ${LOCAL_PLUGIN_CLASSES}) -SET(PLUGIN_CLASSES "${PLUGIN_CLASSES}" PARENT_SCOPE) - -SET(PLUGIN_CLASSES_NAMES ${PLUGIN_CLASSES_NAMES} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES_NAMES "${PLUGIN_CLASSES_NAMES}" PARENT_SCOPE) - -addprefix(LOCAL_COLLECTION ${_relPath} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION ${PLUGIN_COLLECTION} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION "${PLUGIN_COLLECTION}" PARENT_SCOPE) - - +add_plugin(tools SOURCES src/PGammaConversion.cc HEADERS include/PGammaConversion.h CLASSES PGammaConversion) diff --git a/plugins/tools/PGammaConversion.h b/plugins/tools/include/PGammaConversion.h similarity index 100% rename from plugins/tools/PGammaConversion.h rename to plugins/tools/include/PGammaConversion.h diff --git a/plugins/tools/conversion_demo.C b/plugins/tools/macros/conversion_demo.C similarity index 100% rename from plugins/tools/conversion_demo.C rename to plugins/tools/macros/conversion_demo.C diff --git a/plugins/tools/rootlogon.C b/plugins/tools/macros/rootlogon.C similarity index 100% rename from plugins/tools/rootlogon.C rename to plugins/tools/macros/rootlogon.C diff --git a/plugins/tools/PGammaConversion.cc b/plugins/tools/src/PGammaConversion.cc similarity index 100% rename from plugins/tools/PGammaConversion.cc rename to plugins/tools/src/PGammaConversion.cc diff --git a/plugins/w_decays/CMakeLists.txt b/plugins/w_decays/CMakeLists.txt index e5433f6..27f0c53 100644 --- a/plugins/w_decays/CMakeLists.txt +++ b/plugins/w_decays/CMakeLists.txt @@ -1,20 +1 @@ -set(LOCAL_CLASSES POmega3Pi) -set(LOCAL_COLLECTION PDistributionManager.mod.cc) - - -### do not change something below - -file (RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}") - -#addprefix(LOCAL_PLUGIN_CLASSES ${CMAKE_CURRENT_SOURCE_DIR} ${LOCAL_CLASSES}) -addprefix(LOCAL_PLUGIN_CLASSES ${_relPath} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES ${PLUGIN_CLASSES} ${LOCAL_PLUGIN_CLASSES}) -SET(PLUGIN_CLASSES "${PLUGIN_CLASSES}" PARENT_SCOPE) - -SET(PLUGIN_CLASSES_NAMES ${PLUGIN_CLASSES_NAMES} ${LOCAL_CLASSES}) -SET(PLUGIN_CLASSES_NAMES "${PLUGIN_CLASSES_NAMES}" PARENT_SCOPE) - -#addprefix(LOCAL_COLLECTION ${CMAKE_CURRENT_SOURCE_DIR} ${LOCAL_COLLECTION}) -addprefix(LOCAL_COLLECTION ${_relPath} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION ${PLUGIN_COLLECTION} ${LOCAL_COLLECTION}) -SET(PLUGIN_COLLECTION "${PLUGIN_COLLECTION}" PARENT_SCOPE) +add_plugin(w_decays SOURCES src/POmega3Pi.cc HEADERS include/POmega3Pi.h CLASSES POmega3Pi) diff --git a/plugins/w_decays/POmega3Pi.h b/plugins/w_decays/include/POmega3Pi.h similarity index 100% rename from plugins/w_decays/POmega3Pi.h rename to plugins/w_decays/include/POmega3Pi.h diff --git a/plugins/w_decays/w_hadronic_test.C b/plugins/w_decays/macros/w_hadronic_test.C similarity index 100% rename from plugins/w_decays/w_hadronic_test.C rename to plugins/w_decays/macros/w_hadronic_test.C diff --git a/plugins/w_decays/POmega3Pi.cc b/plugins/w_decays/src/POmega3Pi.cc similarity index 100% rename from plugins/w_decays/POmega3Pi.cc rename to plugins/w_decays/src/POmega3Pi.cc From 7643bd507f2facb320d1dff13e6613361ace649f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Lalik?= Date: Fri, 9 Jun 2023 16:31:43 +0200 Subject: [PATCH 02/12] Fix targets file exporting and installing --- CMakeLists.txt | 47 +++++++++++++++++++++++++++-------------------- Config.cmake.in | 21 +++------------------ 2 files changed, 30 insertions(+), 38 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 16a1a06..5afc6ac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ # CMakeLists.txt for event package. It creates a library with dictionary and a main program cmake_minimum_required(VERSION 3.0 FATAL_ERROR) -project(pluto +project(Pluto VERSION 6.1.9 LANGUAGES CXX ) @@ -67,6 +67,7 @@ include(${ROOT_USE_FILE}) #---Create a shared library with geneated dictionary add_library(Pluto SHARED ${SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/Compiled.h) +add_library(Pluto::Pluto ALIAS Pluto) target_include_directories(Pluto PUBLIC @@ -115,7 +116,10 @@ macro(add_plugin plugin_target) DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PLUTO_SLOT}/plugins/${plugin_target}) endif() - target_include_directories(Pluto PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) + target_include_directories(Pluto + PUBLIC + $ + $) # dynamically generate source files and Plugins LinkDef foreach(f ${PLUGIN_CLASSES}) @@ -140,44 +144,47 @@ target_link_libraries(Pluto PRIVATE ROOT::Core ROOT::Tree ROOT::EG) add_custom_target(Compiled.h) add_custom_command(OUTPUT Compiled.h COMMAND echo char *date_string = \\\(char*\\\) \\\"\$\$\(date +\"%e %B %Y\"\)\\\" > ${CMAKE_CURRENT_BINARY_DIR}/Compiled.h DEPENDS G__Pluto.cxx ${SOURCES}) +export(PACKAGE Pluto) # Install logic set(CMAKE_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME}-${PROJECT_VERSION}) install(TARGETS Pluto - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PLUTO_SLOT}) + EXPORT PlutoTargets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PLUTO_SLOT}) + +install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/libPluto.rootmap + ${CMAKE_CURRENT_BINARY_DIR}/libPluto_rdict.pcm + DESTINATION ${CMAKE_INSTALL_LIBDIR}) INSTALL(DIRECTORY macros/ - DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PLUTO_SLOT}) + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PLUTO_SLOT}) INSTALL(DIRECTORY include/ - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PLUTO_SLOT}) + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PLUTO_SLOT}) include(CMakePackageConfigHelpers) -configure_package_config_file(Config.cmake.in ${CMAKE_PROJECT_NAME}Config.cmake +configure_package_config_file(Config.cmake.in PlutoConfig.cmake INSTALL_DESTINATION ${CMAKE_INSTALL_CMAKEDIR} PATH_VARS CMAKE_INSTALL_INCLUDEDIR CMAKE_INSTALL_LIBDIR CMAKE_INSTALL_BINDIR) -write_basic_package_version_file(${CMAKE_PROJECT_NAME}ConfigVersion.cmake +write_basic_package_version_file(PlutoConfigVersion.cmake VERSION ${PROJECT_VERSION} COMPATIBILITY SameMajorVersion) install(FILES - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}Config.cmake - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}ConfigVersion.cmake + ${CMAKE_CURRENT_BINARY_DIR}/PlutoConfig.cmake + ${CMAKE_CURRENT_BINARY_DIR}/PlutoConfigVersion.cmake DESTINATION ${CMAKE_INSTALL_CMAKEDIR}) # Add all targets to the build-tree export set export(TARGETS Pluto - FILE ${CMAKE_PROJECT_NAME}Targets.cmake) - -install(FILES - ${CMAKE_CURRENT_BINARY_DIR}/libPluto.rootmap - ${CMAKE_CURRENT_BINARY_DIR}/libPluto_rdict.pcm - DESTINATION ${CMAKE_INSTALL_LIBDIR}) + FILE PlutoTargets.cmake + NAMESPACE Pluto::) # Install the export set for use with the install-tree -install(TARGETS Pluto - EXPORT ${CMAKE_PROJECT_NAME}Targets - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - COMPONENT shlib COMPONENT dev) +install(EXPORT PlutoTargets + NAMESPACE Pluto:: + DESTINATION ${CMAKE_INSTALL_CMAKEDIR} + COMPONENT dev) diff --git a/Config.cmake.in b/Config.cmake.in index de1aacf..ebdda96 100644 --- a/Config.cmake.in +++ b/Config.cmake.in @@ -1,19 +1,4 @@ -# - Config file for the @CMAKE_PROJECT_NAME@ package -# It defines the following variables -# @CAPS_PROJECT_NAME@_INCLUDE_DIR - include directories for @CMAKE_PROJECT_NAME@ -# @CAPS_PROJECT_NAME@_LIBRARY_DIR - library directories for @CMAKE_PROJECT_NAME@ -# @CAPS_PROJECT_NAME@_LIBRARIES - libraries to link against -# @CAPS_PROJECT_NAME@_EXECUTABLE - the bar executable +include(CMakeFindDependencyMacro) -set(@CAPS_PROJECT_NAME@_VERSION @PROJECT_VERSION@) - -@PACKAGE_INIT@ - -set_and_check(@CAPS_PROJECT_NAME@_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") -set_and_check(@CAPS_PROJECT_NAME@_LIBRARY_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@") - -# These are IMPORTED targets created by @CMAKE_PROJECT_NAME@Targets.cmake -set(@CAPS_PROJECT_NAME@_LIBRARIES "@PROJECT_NAME@") -set(@CAPS_PROJECT_NAME@_EXECUTABLE "") - -check_required_components(@PROJECT_VERSION@) +find_dependency(ROOT QUIET REQUIRED COMPONENTS Core Hist Physics Tree) +include(${CMAKE_CURRENT_LIST_DIR}/@CMAKE_PROJECT_NAME@Targets.cmake) From 6ff3b1b2e4775a9bd1f985eab978298e0e2e870d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Lalik?= Date: Mon, 12 Jun 2023 21:23:32 +0200 Subject: [PATCH 03/12] Fix targets exporting and issues with include paths --- CMakeLists.txt | 60 ++++++++++++++++++++++++++++++------------------- Config.cmake.in | 4 ++-- 2 files changed, 39 insertions(+), 25 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5afc6ac..ecdfe0d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,8 +65,10 @@ message(STATUS "Found ROOT version: " ${ROOT_VERSION}) #---Define useful ROOT functions and macros (e.g. ROOT_GENERATE_DICTIONARY) include(${ROOT_USE_FILE}) +SET(ROOT_VERSION_LEGACY 6.22.00) + #---Create a shared library with geneated dictionary -add_library(Pluto SHARED ${SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/Compiled.h) +add_library(Pluto SHARED ${SOURCES} ${CMAKE_BINARY_DIR}/Compiled.h) add_library(Pluto::Pluto ALIAS Pluto) target_include_directories(Pluto @@ -75,9 +77,13 @@ target_include_directories(Pluto PRIVATE $ $ - ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_BINARY_DIR} ) +if (${ROOT_VERSION} VERSION_LESS ${ROOT_VERSION_LEGACY}) + include_directories(${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/include) +endif() + file(WRITE ${CMAKE_BINARY_DIR}/Plugins.h) file(WRITE ${CMAKE_BINARY_DIR}/Plugins.cc) file(WRITE ${CMAKE_BINARY_DIR}/PluginLinkDef.h) @@ -111,19 +117,25 @@ macro(add_plugin plugin_target) DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PLUTO_SLOT}/plugins ) + target_include_directories(Pluto + PUBLIC + $ + PRIVATE + $ + ) + if (${ROOT_VERSION} VERSION_LESS ${ROOT_VERSION_LEGACY}) + get_property(incdir DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES) + set_property(DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/include;${incdir}") + endif() + if (IS_DIRECTORY macros) install(DIRECTORY macros/ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PLUTO_SLOT}/plugins/${plugin_target}) endif() - target_include_directories(Pluto - PUBLIC - $ - $) - # dynamically generate source files and Plugins LinkDef foreach(f ${PLUGIN_CLASSES}) - file(APPEND ${CMAKE_BINARY_DIR}/PluginLinkDef.h "\#pragma link C++ class ${f};\n") + file(APPEND ${CMAKE_BINARY_DIR}/PluginLinkDef.h "\#pragma link C++ class ${f};\n") endforeach() endmacro() @@ -137,22 +149,16 @@ target_link_libraries(Pluto PRIVATE ROOT::Core ROOT::Tree ROOT::EG) ########################################################### -#---Create a main program using the library -#add_executable(Main MainEvent.cxx) -#target_link_libraries(Main Event) - add_custom_target(Compiled.h) add_custom_command(OUTPUT Compiled.h COMMAND echo char *date_string = \\\(char*\\\) \\\"\$\$\(date +\"%e %B %Y\"\)\\\" > ${CMAKE_CURRENT_BINARY_DIR}/Compiled.h DEPENDS G__Pluto.cxx ${SOURCES}) -export(PACKAGE Pluto) - # Install logic -set(CMAKE_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME}-${PROJECT_VERSION}) +set(CMAKE_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/Pluto-${PROJECT_VERSION}) install(TARGETS Pluto - EXPORT PlutoTargets - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PLUTO_SLOT}) + EXPORT PlutoTargets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PLUTO_SLOT}) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libPluto.rootmap @@ -164,6 +170,12 @@ INSTALL(DIRECTORY macros/ INSTALL(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PLUTO_SLOT}) +install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/libPluto.rootmap + ${CMAKE_CURRENT_BINARY_DIR}/libPluto_rdict.pcm + DESTINATION ${CMAKE_INSTALL_LIBDIR}) + +# Install Cionfig files include(CMakePackageConfigHelpers) configure_package_config_file(Config.cmake.in PlutoConfig.cmake INSTALL_DESTINATION ${CMAKE_INSTALL_CMAKEDIR} @@ -178,13 +190,15 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/PlutoConfigVersion.cmake DESTINATION ${CMAKE_INSTALL_CMAKEDIR}) +# Create and install export/targets package +export(PACKAGE Pluto) + # Add all targets to the build-tree export set export(TARGETS Pluto - FILE PlutoTargets.cmake - NAMESPACE Pluto::) + NAMESPACE Pluto + FILE PlutoTargets.cmake) -# Install the export set for use with the install-tree install(EXPORT PlutoTargets + FILE PlutoTargets.cmake NAMESPACE Pluto:: - DESTINATION ${CMAKE_INSTALL_CMAKEDIR} - COMPONENT dev) + DESTINATION ${CMAKE_INSTALL_CMAKEDIR}) diff --git a/Config.cmake.in b/Config.cmake.in index ebdda96..ba045d1 100644 --- a/Config.cmake.in +++ b/Config.cmake.in @@ -1,4 +1,4 @@ include(CMakeFindDependencyMacro) -find_dependency(ROOT QUIET REQUIRED COMPONENTS Core Hist Physics Tree) -include(${CMAKE_CURRENT_LIST_DIR}/@CMAKE_PROJECT_NAME@Targets.cmake) +find_dependency(ROOT QUIET REQUIRED COMPONENTS Core EG Hist Physics Tree) +include(${CMAKE_CURRENT_LIST_DIR}/PlutoTargets.cmake) From 8ecff711ece9abe0b4936b5de5738f9fb921ef22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Lalik?= Date: Thu, 8 Jun 2023 13:51:50 +0200 Subject: [PATCH 04/12] Strangeness plugin with new resonances and decay branches --- .../strangeness/include/PStrangenessPlugin.h | 11 + plugins/strangeness/src/PStrangenessPlugin.cc | 266 ++++++++++++++---- 2 files changed, 218 insertions(+), 59 deletions(-) diff --git a/plugins/strangeness/include/PStrangenessPlugin.h b/plugins/strangeness/include/PStrangenessPlugin.h index d20b8bd..4a2963e 100644 --- a/plugins/strangeness/include/PStrangenessPlugin.h +++ b/plugins/strangeness/include/PStrangenessPlugin.h @@ -1,6 +1,8 @@ // Author: I. Froehlich // Written: 12.10.2008 // Revised: +// Updates: RafaƂ Lalik, 05.06.2023 - New Y* decays channels +// - Software switches to modify decays // @@ -27,10 +29,19 @@ class PStrangenessPlugin : public PDistributionCollection { Bool_t ExecCommand(const char *command, Double_t value); Bool_t Activate(void); + static void EnableHadronDecays(Bool_t enabled) { hyperon_hadron_decays = enabled; } + static void EnablePhotonDecays(Bool_t enabled) { hyperon_photon_decays = enabled; } + static void EnableDalitzDecays(Bool_t enabled) { hyperon_dalitz_decays = enabled; } + static void EnableExperimentalDecays(Bool_t enabled) { hyperon_experimental_decays = enabled; } private: Int_t is_initialized; + static Bool_t hyperon_hadron_decays; + static Bool_t hyperon_photon_decays; + static Bool_t hyperon_dalitz_decays; + static Bool_t hyperon_experimental_decays; + ClassDef(PStrangenessPlugin, 0) //Plugin to add new particles with strangeness and their decays }; diff --git a/plugins/strangeness/src/PStrangenessPlugin.cc b/plugins/strangeness/src/PStrangenessPlugin.cc index 96ba5de..57ff9fb 100644 --- a/plugins/strangeness/src/PStrangenessPlugin.cc +++ b/plugins/strangeness/src/PStrangenessPlugin.cc @@ -14,9 +14,14 @@ #include "PDistributionManager.h" #include "PResonanceDalitz.h" -PStrangenessPlugin::PStrangenessPlugin(const Char_t *id, const Char_t *de): - PDistributionCollection(id, de) { - is_initialized = 0; + +Bool_t PStrangenessPlugin::hyperon_hadron_decays{kTRUE}; +Bool_t PStrangenessPlugin::hyperon_photon_decays{kTRUE}; +Bool_t PStrangenessPlugin::hyperon_dalitz_decays{kTRUE}; +Bool_t PStrangenessPlugin::hyperon_experimental_decays{kFALSE}; + +PStrangenessPlugin::PStrangenessPlugin(const Char_t *id, const Char_t *de): PDistributionCollection(id, de), + is_initialized(0) { // RequiresPlugin("elementary"); } @@ -31,80 +36,223 @@ PStrangenessPlugin::~PStrangenessPlugin() { Bool_t PStrangenessPlugin::ExecCommand(const char *command, Double_t) { if (strcmp (command,"init") == 0) { - if (!is_initialized) { - is_initialized = 1; + if (!is_initialized) { + is_initialized = 1; + + fprintf(stderr, "Strangeness plugin - flags status:\n" + "- Hadron: %d\n" + "- Photon: %d\n" + "- Dalitz: %d\n" + "- Experimental: %d\n", + hyperon_hadron_decays, hyperon_photon_decays, hyperon_dalitz_decays, hyperon_experimental_decays); + + Double_t *system_alloc_verbosity = makeStaticData()->GetBatchValue("_system_alloc_verbosity"); + Double_t old = (*system_alloc_verbosity); + (*system_alloc_verbosity) = 0; + + if (makeStaticData()->AddParticle(70, "Lambda1405", 1.406) > 0) { + makeStaticData()->AddAlias("Lambda1405", "Lambda(1405)"); + + makeStaticData()->SetParticleTotalWidth("Lambda1405", 0.05); + makeStaticData()->SetParticleBaryon("Lambda1405", 1); + makeStaticData()->SetParticleSpin("Lambda1405", 1); + makeStaticData()->SetParticleParity("Lambda1405", -1); + + if (hyperon_hadron_decays) { + makeStaticData()->AddDecay("Lambda(1405) --> Sigma+ + pi-", "Lambda1405", "Sigma+,pi-", 1. / 3); + makeStaticData()->AddDecay("Lambda(1405) --> Sigma- + pi+", "Lambda1405", "Sigma-,pi+", 1. / 3); + makeStaticData()->AddDecay("Lambda(1405) --> Sigma0 + pi0", "Lambda1405", "Sigma0,pi0", 1. / 3); + } + + if (hyperon_photon_decays) { + makeStaticData()->AddDecay("Lambda(1405) --> Lambda + gamma", "Lambda1405", "Lambda,g", 0.0085); + } + + if (hyperon_dalitz_decays) { + makeStaticData()->AddDecay("Lambda(1405) --> Lambda + dilepton", "Lambda1405", "Lambda,dilepton", 0.0085 / 137.); + + PResonanceDalitz * dalitz = new PResonanceDalitz("Lambda1405_dalitz@Lambda1405_to_Lambda_dilepton", "dgdm from Zetenyi/Wolf", -1); + dalitz->setGm(0.719); + makeDistributionManager()->Add(dalitz); + } + } else { + Error("ExecCommand", "PIDs blocked, plugin disabled"); + } + + + if (makeStaticData()->AddParticle(-1, "Sigma1385+", 1.3828) > 0) { + makeStaticData()->AddAlias("Sigma1385+", "Sigma(1385)+"); + + makeStaticData()->SetParticleTotalWidth("Sigma1385+", 0.0358); + makeStaticData()->SetParticleBaryon("Sigma1385+", 1); + makeStaticData()->SetParticleLMass("Sigma1385+", 1.2); + + if (hyperon_hadron_decays) { + makeStaticData()->AddDecay("Sigma(1385)+ --> Lambda + pi+", "Sigma1385+", "Lambda,pi+", 0.8815); + makeStaticData()->AddDecay("Sigma(1385)+ --> Sigma+ + pi0", "Sigma1385+", "Sigma+,pi0", 0.05925); + makeStaticData()->AddDecay("Sigma(1385)+ --> Sigma0 + pi+", "Sigma1385+", "Sigma0,pi+", 0.05925); + } + } else { + Error("ExecCommand", "PIDs blocked, plugin disabled"); + } + + + if (makeStaticData()->AddParticle(-1, "Sigma1385-", 1.3872) > 0) { + makeStaticData()->AddAlias("Sigma1385-", "Sigma(1385)-"); + + makeStaticData()->SetParticleTotalWidth("Sigma1385-", 0.0394); + makeStaticData()->SetParticleBaryon("Sigma1385-", 1); + makeStaticData()->SetParticleLMass("Sigma1385-", 1.2); + + if (hyperon_hadron_decays) { + makeStaticData()->AddDecay("Sigma(1385)- --> Lambda + pi-", "Sigma1385-", "Lambda,pi-", 0.8815 ); + makeStaticData()->AddDecay("Sigma(1385)- --> Sigma- + pi0", "Sigma1385-", "Sigma-,pi0", 0.05925); + makeStaticData()->AddDecay("Sigma(1385)- --> Sigma0 + pi-", "Sigma1385-", "Sigma0,pi-", 0.05925); + } + } else { + Error("ExecCommand", "PIDs blocked, plugin disabled"); + } + + + if (makeStaticData()->AddParticle(-1, "Sigma13850", 1.3837) > 0) { + makeStaticData()->AddAlias("Sigma13850", "Sigma(1385)0"); + + makeStaticData()->SetParticleTotalWidth("Sigma13850", 0.0365); + makeStaticData()->SetParticleBaryon("Sigma13850", 1); + makeStaticData()->SetParticleLMass("Sigma13850", 1.2); + makeStaticData()->SetParticleSpin("Sigma13850", 3); + makeStaticData()->SetParticleParity("Sigma13850", 1); + + if (hyperon_hadron_decays) { + makeStaticData()->AddDecay("Sigma(1385)0 --> Lambda + pi0", "Sigma13850", "Lambda,pi0", 0.87000); + makeStaticData()->AddDecay("Sigma(1385)0 --> Lambda + g", "Sigma13850", "Lambda,g", 0.01300 * (1. - 1./137.)); + makeStaticData()->AddDecay("Sigma(1385)0 --> Sigma+ + pi-", "Sigma13850", "Sigma+,pi-", 0.117 / 3); + makeStaticData()->AddDecay("Sigma(1385)0 --> Sigma- + pi+", "Sigma13850", "Sigma-,pi+", 0.117 / 3); + makeStaticData()->AddDecay("Sigma(1385)0 --> Sigma0 + pi0", "Sigma13850", "Sigma0,pi0", 0.117 / 3); + } + + if (hyperon_dalitz_decays) { + makeStaticData()->AddDecay("Sigma(1385)0 --> Lambda + dilepton", "Sigma13850", "Lambda,dilepton", 0.013 / 137.); + PResonanceDalitz * dalitz = new PResonanceDalitz("Sigma13850_dalitz@Sigma13850_to_Lambda_dilepton", "dgdm from Zetenyi/Wolf", -1); + dalitz->setGm(0.719); + makeDistributionManager()->Add(dalitz); + } + } else { + Error("ExecCommand", "PIDs blocked, plugin disabled"); + } + + + if (makeStaticData()->AddParticle(-1,"Lambda1520", 1.5195) > 0) { + makeStaticData()->AddAlias("Lambda1520","Lambda(1520)"); + + makeStaticData()->SetParticleTotalWidth("Lambda1520", 0.0156); + makeStaticData()->SetParticleBaryon("Lambda1520", 1); + makeStaticData()->SetParticleSpin("Lambda1520", 3); + makeStaticData()->SetParticleParity("Lambda1520", 1); + + if (hyperon_hadron_decays) { + makeStaticData()->AddDecay("Lambda(1520) --> Lambda + pi0 + pi0", "Lambda1520", "Lambda,pi0,pi0", 0.2 / 3); // - + makeStaticData()->AddDecay("Lambda(1520) --> Lambda + pi+ + pi-", "Lambda1520", "Lambda,pi+,pi-", 0.1 / 3); // old BR .014638 + } + + if (hyperon_photon_decays) { + makeStaticData()->AddDecay("Lambda(1520) --> Lambda + g", "Lambda1520", "Lambda,g", 0.0085); + } + + if (hyperon_experimental_decays) { + makeStaticData()->AddDecay("Lambda(1520) --> Sigma0 + pi0", "Lambda1520", "Sigma0,pi0", 0.139096); // - + makeStaticData()->AddDecay("Lambda(1520) --> Sigma+ + pi-", "Lambda1520", "Sigma+,pi-", 0.139096); // - + makeStaticData()->AddDecay("Lambda(1520) --> Sigma- + pi+", "Lambda1520", "Sigma-,pi+", 0.139096); // - + makeStaticData()->AddDecay("Lambda(1520) --> Sigma0 + pi0 + pi0", "Lambda1520", "Sigma0,pi0,pi0", 0.009/5.0); // - + makeStaticData()->AddDecay("Lambda(1520) --> Sigma0 + pi+ + pi-", "Lambda1520", "Sigma0,pi+,pi-", 0.009/5.0); // - + } + + if (hyperon_dalitz_decays) { + makeStaticData()->AddDecay("Lambda(1520) --> Lambda + dilepton", "Lambda1520", "Lambda,dilepton", .007948/137.); + + PResonanceDalitz * dalitz = new PResonanceDalitz("Lambda1520_dalitz@Lambda1520_to_Lambda_dilepton", "dgdm from Zetenyi/Wolf", -1); + dalitz->setGm(0.719); + makeDistributionManager()->Add(dalitz); + } + } else { + Error("ExecCommand", "PIDs blocked, plugin disabled"); + } + - Double_t *system_alloc_verbosity = makeStaticData()->GetBatchValue("_system_alloc_verbosity"); - Double_t old = (*system_alloc_verbosity); - (*system_alloc_verbosity) = 0; + if (makeStaticData()->AddParticle(75,"Xi1530-", 1.5352) > 0) { + makeStaticData()->AddAlias("Xi1530-","Xi(1530)-"); - if (makeStaticData()->AddParticle(70, "Lambda1405", 1.406) > 0) { - makeStaticData()->AddAlias("Lambda1405", "Lambda(1405)"); + makeStaticData()->SetParticleTotalWidth("Xi1530-", 0.091); + makeStaticData()->SetParticleBaryon("Xi1530-", 1); + makeStaticData()->SetParticleSpin("Xi1530-", 2); + makeStaticData()->SetParticleParity("Xi1530-", 1); - makeStaticData()->SetParticleTotalWidth("Lambda1405", 0.05); - makeStaticData()->SetParticleBaryon("Lambda1405", 1); + if (hyperon_hadron_decays) { + makeStaticData()->AddDecay("Xi(1530)- --> Xi0 + pi-", "Xi1530-", "Xi0,pi-", 1. / 2.0); + makeStaticData()->AddDecay("Xi(1530)- --> Xi- + pi0", "Xi1530-", "Xi-,pi0", 1. / 2.0); + } + if (hyperon_photon_decays) { + makeStaticData()->AddDecay("Xi(1530)- --> Xi- + g", "Xi1530-", "Xi-,g", .037); + } - makeStaticData()->AddDecay("Lambda(1405)0 --> Sigma+ + pi-", "Lambda1405", - "Sigma+,pi-", .3333 ); - makeStaticData()->AddDecay("Lambda(1405)0 --> Sigma- + pi+", "Lambda1405", - "Sigma-,pi+", .3333 ); - makeStaticData()->AddDecay("Lambda(1405)0 --> Sigma0 + pi0", "Lambda1405", - "Sigma0,pi0", .3333 ); + if (hyperon_dalitz_decays) { + makeStaticData()->AddDecay("Xi(1530)- --> Xi- + dilepton", "Xi1530-", "Xi-,dilepton", .037/137.); + PResonanceDalitz * dalitz = new PResonanceDalitz("Xi1530-_dalitz@Xi1530-_to_Xi-_dilepton", "dgdm from Zetenyi/Wolf", -1); + dalitz->setGm(0.719); + makeDistributionManager()->Add(dalitz); + } + } else { + Error("ExecCommand", "PIDs blocked, plugin disabled"); + } - makeStaticData()->AddParticle(71, "Sigma1385+", 1.3828); - makeStaticData()->AddAlias("Sigma1385+", "Sigma(1385)+"); - makeStaticData()->SetParticleTotalWidth("Sigma1385+", 0.0358); - makeStaticData()->SetParticleBaryon("Sigma1385+", 1); - makeStaticData()->SetParticleLMass("Sigma1385+", 1.2); - makeStaticData()->AddDecay("Sigma(1385)+ --> Lambda + pi+", "Sigma1385+", - "Lambda,pi+", .8815 ); - makeStaticData()->AddDecay("Sigma(1385)+ --> Sigma+ + pi0", "Sigma1385+", - "Sigma+, pi0", .05925); - makeStaticData()->AddDecay("Sigma(1385)+ --> Sigma0 + pi+", "Sigma1385+", - "Sigma0, pi+", .05925); + if (makeStaticData()->AddParticle(76,"Xi15300", 1.53178) > 0) { + makeStaticData()->AddAlias("Xi15300","Xi(1530)0"); + makeStaticData()->SetParticleTotalWidth("Xi15300", 0.099); + makeStaticData()->SetParticleBaryon("Xi15300", 1); + makeStaticData()->SetParticleSpin("Xi15300", 2); + makeStaticData()->SetParticleParity("Xi15300", 1); + if (hyperon_hadron_decays) { + makeStaticData()->AddDecay("Xi(1530)0 --> Xi0 + pi0", "Xi15300", "Xi0,pi0", 1. / 2.0); + makeStaticData()->AddDecay("Xi(1530)0 --> Xi- + pi+", "Xi15300", "Xi-,pi+", 1. / 2.0); + } - makeStaticData()->AddParticle(72, "Sigma1385-", 1.3872); - makeStaticData()->AddAlias("Sigma1385-", "Sigma(1385)-"); - makeStaticData()->SetParticleTotalWidth("Sigma1385-", 0.0394); - makeStaticData()->SetParticleBaryon("Sigma1385-", 1); - makeStaticData()->SetParticleLMass("Sigma1385-", 1.2); + if (hyperon_photon_decays) { + makeStaticData()->AddDecay("Xi(1530)0 --> Xi0 + g", "Xi15300", "Xi0,g", .037); + } - makeStaticData()->AddDecay("Sigma(1385)- --> Lambda + pi-", "Sigma1385-", - "Lambda,pi-", .8815 ); - makeStaticData()->AddDecay("Sigma(1385)- --> Sigma- + pi0", "Sigma1385-", - "Sigma-, pi0", .05925); - makeStaticData()->AddDecay("Sigma(1385)- --> Sigma0 + pi-", "Sigma1385-", - "Sigma0, pi-", .05925); + if (hyperon_dalitz_decays) { + makeStaticData()->AddDecay("Xi(1530)0 --> Xi0 + dilepton", "Xi15300", "Xi0,dilepton", .037/137.); + PResonanceDalitz * dalitz = new PResonanceDalitz("Xi15300_dalitz@Xi15300_to_Xi0_dilepton", "dgdm from Zetenyi/Wolf", -1); + dalitz->setGm(0.719); + makeDistributionManager()->Add(dalitz); + } + } else { + Error("ExecCommand", "PIDs blocked, plugin disabled"); + } - makeStaticData()->AddParticle(73, "Sigma13850", 1.3837); - makeStaticData()->AddAlias("Sigma13850", "Sigma(1385)0"); - makeStaticData()->SetParticleTotalWidth("Sigma13850", 0.0365); - makeStaticData()->SetParticleBaryon("Sigma13850", 1); - makeStaticData()->SetParticleLMass("Sigma13850", 1.2); + if (makeStaticData()->AddParticle(79, "Delta2050++", 2.05) > 0) { + makeStaticData()->AddAlias("Delta2050++", "Delta(2050)++"); - makeStaticData()->AddDecay("Sigma(1385)0 --> Lambda + pi0", "Sigma13850", - "Lambda,pi0", .87000 ); - makeStaticData()->AddDecay("Sigma(1385)0 --> Lambda + g", "Sigma13850", - "Lambda,g", .01300 ); - makeStaticData()->AddDecay("Sigma(1385)0 --> Sigma+ + pi-", "Sigma13850", - "Sigma+, pi-", .05850); - makeStaticData()->AddDecay("Sigma(1385)0 --> Sigma- + pi+", "Sigma13850", - "Sigma-, pi+", .05850); + makeStaticData()->SetParticleTotalWidth("Delta2050++", 0.25); + makeStaticData()->SetParticleBaryon("Delta2050++", 1); - } else { - Error("ExecCommand", "PIDs blocked, plugin disabled"); - } + if (hyperon_hadron_decays) { + makeStaticData()->AddDecay("Delta(2050)++ --> Sigma(1385)+ + K+", "Delta2050++", "Sigma1385+,K+", 1.0); + } + } else { + Error("ExecCommand", "PIDs blocked, plugin disabled"); + } - (*system_alloc_verbosity) = old; - } - return kTRUE; + (*system_alloc_verbosity) = old; + } + return kTRUE; } return kFALSE; From 83b40327e8e362b52422e7aad2d0f95c34e8d06c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Lalik?= Date: Thu, 8 Jun 2023 18:24:19 +0200 Subject: [PATCH 05/12] Add NK decay channel for L1520 with BR=0.45 as of PDG --- plugins/strangeness/src/PStrangenessPlugin.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/strangeness/src/PStrangenessPlugin.cc b/plugins/strangeness/src/PStrangenessPlugin.cc index 57ff9fb..c48f35f 100644 --- a/plugins/strangeness/src/PStrangenessPlugin.cc +++ b/plugins/strangeness/src/PStrangenessPlugin.cc @@ -151,8 +151,10 @@ Bool_t PStrangenessPlugin::ExecCommand(const char *command, Double_t) { makeStaticData()->SetParticleParity("Lambda1520", 1); if (hyperon_hadron_decays) { - makeStaticData()->AddDecay("Lambda(1520) --> Lambda + pi0 + pi0", "Lambda1520", "Lambda,pi0,pi0", 0.2 / 3); // - - makeStaticData()->AddDecay("Lambda(1520) --> Lambda + pi+ + pi-", "Lambda1520", "Lambda,pi+,pi-", 0.1 / 3); // old BR .014638 + makeStaticData()->AddDecay("Lambda(1520) --> n + K0S", "Lambda1520", "n,K0S", 0.45 / 2); // N + /K from PDG + makeStaticData()->AddDecay("Lambda(1520) --> n + K0L", "Lambda1520", "n,K0L", 0.45 / 2); // N + /K from PDG + makeStaticData()->AddDecay("Lambda(1520) --> Lambda + pi0 + pi0", "Lambda1520", "Lambda,pi0,pi0", 0.2 / 3); // - + makeStaticData()->AddDecay("Lambda(1520) --> Lambda + pi+ + pi-", "Lambda1520", "Lambda,pi+,pi-", 0.1 / 3); // old BR .014638 } if (hyperon_photon_decays) { From 568b83931602a8f88f4be6be1b6e046d5a507856 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Lalik?= Date: Fri, 9 Jun 2023 16:30:06 +0200 Subject: [PATCH 06/12] Make strangeness flags printing as optional --- .../strangeness/include/PStrangenessPlugin.h | 2 ++ plugins/strangeness/src/PStrangenessPlugin.cc | 17 ++++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/plugins/strangeness/include/PStrangenessPlugin.h b/plugins/strangeness/include/PStrangenessPlugin.h index 4a2963e..268206c 100644 --- a/plugins/strangeness/include/PStrangenessPlugin.h +++ b/plugins/strangeness/include/PStrangenessPlugin.h @@ -33,6 +33,8 @@ class PStrangenessPlugin : public PDistributionCollection { static void EnablePhotonDecays(Bool_t enabled) { hyperon_photon_decays = enabled; } static void EnableDalitzDecays(Bool_t enabled) { hyperon_dalitz_decays = enabled; } static void EnableExperimentalDecays(Bool_t enabled) { hyperon_experimental_decays = enabled; } + static void ShowFlags(); + private: Int_t is_initialized; diff --git a/plugins/strangeness/src/PStrangenessPlugin.cc b/plugins/strangeness/src/PStrangenessPlugin.cc index c48f35f..bece206 100644 --- a/plugins/strangeness/src/PStrangenessPlugin.cc +++ b/plugins/strangeness/src/PStrangenessPlugin.cc @@ -20,6 +20,16 @@ Bool_t PStrangenessPlugin::hyperon_photon_decays{kTRUE}; Bool_t PStrangenessPlugin::hyperon_dalitz_decays{kTRUE}; Bool_t PStrangenessPlugin::hyperon_experimental_decays{kFALSE}; +void PStrangenessPlugin::ShowFlags() +{ + fprintf(stderr, "Strangeness plugin - flags status:\n" + "- Hadron: %d\n" + "- Photon: %d\n" + "- Dalitz: %d\n" + "- Experimental: %d\n", + hyperon_hadron_decays, hyperon_photon_decays, hyperon_dalitz_decays, hyperon_experimental_decays); +} + PStrangenessPlugin::PStrangenessPlugin(const Char_t *id, const Char_t *de): PDistributionCollection(id, de), is_initialized(0) { // RequiresPlugin("elementary"); @@ -39,13 +49,6 @@ Bool_t PStrangenessPlugin::ExecCommand(const char *command, Double_t) { if (!is_initialized) { is_initialized = 1; - fprintf(stderr, "Strangeness plugin - flags status:\n" - "- Hadron: %d\n" - "- Photon: %d\n" - "- Dalitz: %d\n" - "- Experimental: %d\n", - hyperon_hadron_decays, hyperon_photon_decays, hyperon_dalitz_decays, hyperon_experimental_decays); - Double_t *system_alloc_verbosity = makeStaticData()->GetBatchValue("_system_alloc_verbosity"); Double_t old = (*system_alloc_verbosity); (*system_alloc_verbosity) = 0; From 78a3a3dd012c3a33138d5cee49a8fcc843cfba16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Lalik?= Date: Mon, 12 Jun 2023 15:42:48 +0200 Subject: [PATCH 07/12] Fix hyperons order and move experimental to main production group --- plugins/strangeness/src/PStrangenessPlugin.cc | 84 +++++++++---------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/plugins/strangeness/src/PStrangenessPlugin.cc b/plugins/strangeness/src/PStrangenessPlugin.cc index bece206..5a31fd9 100644 --- a/plugins/strangeness/src/PStrangenessPlugin.cc +++ b/plugins/strangeness/src/PStrangenessPlugin.cc @@ -53,28 +53,27 @@ Bool_t PStrangenessPlugin::ExecCommand(const char *command, Double_t) { Double_t old = (*system_alloc_verbosity); (*system_alloc_verbosity) = 0; - if (makeStaticData()->AddParticle(70, "Lambda1405", 1.406) > 0) { - makeStaticData()->AddAlias("Lambda1405", "Lambda(1405)"); - makeStaticData()->SetParticleTotalWidth("Lambda1405", 0.05); - makeStaticData()->SetParticleBaryon("Lambda1405", 1); - makeStaticData()->SetParticleSpin("Lambda1405", 1); - makeStaticData()->SetParticleParity("Lambda1405", -1); + if (makeStaticData()->AddParticle(70, "Sigma13850", 1.3837) > 0) { + makeStaticData()->AddAlias("Sigma13850", "Sigma(1385)0"); - if (hyperon_hadron_decays) { - makeStaticData()->AddDecay("Lambda(1405) --> Sigma+ + pi-", "Lambda1405", "Sigma+,pi-", 1. / 3); - makeStaticData()->AddDecay("Lambda(1405) --> Sigma- + pi+", "Lambda1405", "Sigma-,pi+", 1. / 3); - makeStaticData()->AddDecay("Lambda(1405) --> Sigma0 + pi0", "Lambda1405", "Sigma0,pi0", 1. / 3); - } + makeStaticData()->SetParticleTotalWidth("Sigma13850", 0.0365); + makeStaticData()->SetParticleBaryon("Sigma13850", 1); + makeStaticData()->SetParticleLMass("Sigma13850", 1.2); + makeStaticData()->SetParticleSpin("Sigma13850", 3); + makeStaticData()->SetParticleParity("Sigma13850", 1); - if (hyperon_photon_decays) { - makeStaticData()->AddDecay("Lambda(1405) --> Lambda + gamma", "Lambda1405", "Lambda,g", 0.0085); + if (hyperon_hadron_decays) { + makeStaticData()->AddDecay("Sigma(1385)0 --> Lambda + pi0", "Sigma13850", "Lambda,pi0", 0.87000); + makeStaticData()->AddDecay("Sigma(1385)0 --> Lambda + g", "Sigma13850", "Lambda,g", 0.01300 * (1. - 1./137.)); + makeStaticData()->AddDecay("Sigma(1385)0 --> Sigma+ + pi-", "Sigma13850", "Sigma+,pi-", 0.117 / 3); + makeStaticData()->AddDecay("Sigma(1385)0 --> Sigma- + pi+", "Sigma13850", "Sigma-,pi+", 0.117 / 3); + makeStaticData()->AddDecay("Sigma(1385)0 --> Sigma0 + pi0", "Sigma13850", "Sigma0,pi0", 0.117 / 3); } if (hyperon_dalitz_decays) { - makeStaticData()->AddDecay("Lambda(1405) --> Lambda + dilepton", "Lambda1405", "Lambda,dilepton", 0.0085 / 137.); - - PResonanceDalitz * dalitz = new PResonanceDalitz("Lambda1405_dalitz@Lambda1405_to_Lambda_dilepton", "dgdm from Zetenyi/Wolf", -1); + makeStaticData()->AddDecay("Sigma(1385)0 --> Lambda + dilepton", "Sigma13850", "Lambda,dilepton", 0.013 / 137.); + PResonanceDalitz * dalitz = new PResonanceDalitz("Sigma13850_dalitz@Sigma13850_to_Lambda_dilepton", "dgdm from Zetenyi/Wolf", -1); dalitz->setGm(0.719); makeDistributionManager()->Add(dalitz); } @@ -117,26 +116,29 @@ Bool_t PStrangenessPlugin::ExecCommand(const char *command, Double_t) { } - if (makeStaticData()->AddParticle(-1, "Sigma13850", 1.3837) > 0) { - makeStaticData()->AddAlias("Sigma13850", "Sigma(1385)0"); + if (makeStaticData()->AddParticle(-1, "Lambda1405", 1.406) > 0) { + makeStaticData()->AddAlias("Lambda1405", "Lambda(1405)"); - makeStaticData()->SetParticleTotalWidth("Sigma13850", 0.0365); - makeStaticData()->SetParticleBaryon("Sigma13850", 1); - makeStaticData()->SetParticleLMass("Sigma13850", 1.2); - makeStaticData()->SetParticleSpin("Sigma13850", 3); - makeStaticData()->SetParticleParity("Sigma13850", 1); + makeStaticData()->SetParticleTotalWidth("Lambda1405", 0.05); + makeStaticData()->SetParticleBaryon("Lambda1405", 1); + makeStaticData()->SetParticleSpin("Lambda1405", 1); + makeStaticData()->SetParticleParity("Lambda1405", -1); if (hyperon_hadron_decays) { - makeStaticData()->AddDecay("Sigma(1385)0 --> Lambda + pi0", "Sigma13850", "Lambda,pi0", 0.87000); - makeStaticData()->AddDecay("Sigma(1385)0 --> Lambda + g", "Sigma13850", "Lambda,g", 0.01300 * (1. - 1./137.)); - makeStaticData()->AddDecay("Sigma(1385)0 --> Sigma+ + pi-", "Sigma13850", "Sigma+,pi-", 0.117 / 3); - makeStaticData()->AddDecay("Sigma(1385)0 --> Sigma- + pi+", "Sigma13850", "Sigma-,pi+", 0.117 / 3); - makeStaticData()->AddDecay("Sigma(1385)0 --> Sigma0 + pi0", "Sigma13850", "Sigma0,pi0", 0.117 / 3); + makeStaticData()->AddDecay("Lambda(1405) --> Sigma+ + pi-", "Lambda1405", "Sigma+,pi-", 1. / 3); + makeStaticData()->AddDecay("Lambda(1405) --> Sigma- + pi+", "Lambda1405", "Sigma-,pi+", 1. / 3); + makeStaticData()->AddDecay("Lambda(1405) --> Sigma0 + pi0", "Lambda1405", "Sigma0,pi0", 1. / 3); + } + + if (hyperon_photon_decays) { + makeStaticData()->AddDecay("Lambda(1405) --> Lambda + gamma", "Lambda1405", "Lambda,g", 0.0085); + makeStaticData()->AddDecay("Lambda(1405) --> Sigma(1385)0 + gamma", "Lambda1405", "Sigma13850,g", 0.0085); } if (hyperon_dalitz_decays) { - makeStaticData()->AddDecay("Sigma(1385)0 --> Lambda + dilepton", "Sigma13850", "Lambda,dilepton", 0.013 / 137.); - PResonanceDalitz * dalitz = new PResonanceDalitz("Sigma13850_dalitz@Sigma13850_to_Lambda_dilepton", "dgdm from Zetenyi/Wolf", -1); + makeStaticData()->AddDecay("Lambda(1405) --> Lambda + dilepton", "Lambda1405", "Lambda,dilepton", 0.0085 / 137.); + + PResonanceDalitz * dalitz = new PResonanceDalitz("Lambda1405_dalitz@Lambda1405_to_Lambda_dilepton", "dgdm from Zetenyi/Wolf", -1); dalitz->setGm(0.719); makeDistributionManager()->Add(dalitz); } @@ -154,24 +156,22 @@ Bool_t PStrangenessPlugin::ExecCommand(const char *command, Double_t) { makeStaticData()->SetParticleParity("Lambda1520", 1); if (hyperon_hadron_decays) { - makeStaticData()->AddDecay("Lambda(1520) --> n + K0S", "Lambda1520", "n,K0S", 0.45 / 2); // N + /K from PDG - makeStaticData()->AddDecay("Lambda(1520) --> n + K0L", "Lambda1520", "n,K0L", 0.45 / 2); // N + /K from PDG - makeStaticData()->AddDecay("Lambda(1520) --> Lambda + pi0 + pi0", "Lambda1520", "Lambda,pi0,pi0", 0.2 / 3); // - - makeStaticData()->AddDecay("Lambda(1520) --> Lambda + pi+ + pi-", "Lambda1520", "Lambda,pi+,pi-", 0.1 / 3); // old BR .014638 + makeStaticData()->AddDecay("Lambda(1520) --> n + K0S", "Lambda1520", "n,K0S", 0.45 / 3); // N + /K from PDG + makeStaticData()->AddDecay("Lambda(1520) --> n + K0L", "Lambda1520", "n,K0L", 0.45 / 3); // N + /K from PDG + makeStaticData()->AddDecay("Lambda(1520) --> p + K-", "Lambda1520", "p,K-", 0.45 / 3); // N + /K from PDG + makeStaticData()->AddDecay("Lambda(1520) --> Lambda + pi0 + pi0", "Lambda1520", "Lambda,pi0,pi0", 0.2 / 3); // 10% * 2/3 + makeStaticData()->AddDecay("Lambda(1520) --> Lambda + pi+ + pi-", "Lambda1520", "Lambda,pi+,pi-", 0.1 / 3); // 10% * 1/3 , old BR .014638 + makeStaticData()->AddDecay("Lambda(1520) --> Sigma0 + pi0", "Lambda1520", "Sigma0,pi0", 0.139096); // 42% / 3 + makeStaticData()->AddDecay("Lambda(1520) --> Sigma+ + pi-", "Lambda1520", "Sigma+,pi-", 0.139096); // 42% / 3 + makeStaticData()->AddDecay("Lambda(1520) --> Sigma- + pi+", "Lambda1520", "Sigma-,pi+", 0.139096); // 42% / 3 + makeStaticData()->AddDecay("Lambda(1520) --> Sigma0 + pi0 + pi0", "Lambda1520", "Sigma0,pi0,pi0", 0.009/5.0); // + makeStaticData()->AddDecay("Lambda(1520) --> Sigma0 + pi+ + pi-", "Lambda1520", "Sigma0,pi+,pi-", 0.009/5.0); // } if (hyperon_photon_decays) { makeStaticData()->AddDecay("Lambda(1520) --> Lambda + g", "Lambda1520", "Lambda,g", 0.0085); } - if (hyperon_experimental_decays) { - makeStaticData()->AddDecay("Lambda(1520) --> Sigma0 + pi0", "Lambda1520", "Sigma0,pi0", 0.139096); // - - makeStaticData()->AddDecay("Lambda(1520) --> Sigma+ + pi-", "Lambda1520", "Sigma+,pi-", 0.139096); // - - makeStaticData()->AddDecay("Lambda(1520) --> Sigma- + pi+", "Lambda1520", "Sigma-,pi+", 0.139096); // - - makeStaticData()->AddDecay("Lambda(1520) --> Sigma0 + pi0 + pi0", "Lambda1520", "Sigma0,pi0,pi0", 0.009/5.0); // - - makeStaticData()->AddDecay("Lambda(1520) --> Sigma0 + pi+ + pi-", "Lambda1520", "Sigma0,pi+,pi-", 0.009/5.0); // - - } - if (hyperon_dalitz_decays) { makeStaticData()->AddDecay("Lambda(1520) --> Lambda + dilepton", "Lambda1520", "Lambda,dilepton", .007948/137.); From 083608c0fc63e24754cc94a998008bccab60b441 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Lalik?= Date: Mon, 12 Jun 2023 23:08:56 +0200 Subject: [PATCH 08/12] Add MESONS plugin with X17 particle --- plugins/CMakeLists.txt | 1 + plugins/mesons/CMakeLists.txt | 1 + plugins/mesons/PDistributionManager.mod.cc | 7 +++ plugins/mesons/README | 2 + plugins/mesons/include/PMesonsPlugin.h | 31 ++++++++++ plugins/mesons/src/PMesonsPlugin.cc | 60 +++++++++++++++++++ .../strangeness/include/PStrangenessPlugin.h | 8 --- 7 files changed, 102 insertions(+), 8 deletions(-) create mode 100644 plugins/mesons/CMakeLists.txt create mode 100644 plugins/mesons/PDistributionManager.mod.cc create mode 100644 plugins/mesons/README create mode 100644 plugins/mesons/include/PMesonsPlugin.h create mode 100644 plugins/mesons/src/PMesonsPlugin.cc diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt index 7bee80f..e58a2d0 100644 --- a/plugins/CMakeLists.txt +++ b/plugins/CMakeLists.txt @@ -7,6 +7,7 @@ add_subdirectory(elementary) add_subdirectory(eta_decays) add_subdirectory(fairroot) add_subdirectory(hades) +add_subdirectory(mesons) add_subdirectory(nucleus_fermi) add_subdirectory(pdg_unigen) add_subdirectory(pion_beam) diff --git a/plugins/mesons/CMakeLists.txt b/plugins/mesons/CMakeLists.txt new file mode 100644 index 0000000..9dbd53b --- /dev/null +++ b/plugins/mesons/CMakeLists.txt @@ -0,0 +1 @@ +add_plugin(mesons SOURCES src/PMesonsPlugin.cc HEADERS include/PMesonsPlugin.h CLASSES PMesonsPlugin) diff --git a/plugins/mesons/PDistributionManager.mod.cc b/plugins/mesons/PDistributionManager.mod.cc new file mode 100644 index 0000000..76fbefe --- /dev/null +++ b/plugins/mesons/PDistributionManager.mod.cc @@ -0,0 +1,7 @@ +//this line is added to the PDistributionManager.cc + +PMesonsPlugin *mesons = new PMesonsPlugin("mesons", "Mesons extension"); +AddPlugin(mesons); +Enable("mesons"); +PluginInfo("Various mesons available"); + diff --git a/plugins/mesons/README b/plugins/mesons/README new file mode 100644 index 0000000..67b4d55 --- /dev/null +++ b/plugins/mesons/README @@ -0,0 +1,2 @@ +Plugin to add new particles with mesons and their decays +@@PMesonsPlugin.html diff --git a/plugins/mesons/include/PMesonsPlugin.h b/plugins/mesons/include/PMesonsPlugin.h new file mode 100644 index 0000000..de00ec7 --- /dev/null +++ b/plugins/mesons/include/PMesonsPlugin.h @@ -0,0 +1,31 @@ +// Author: R. Lalik +// Written: 12.06.2023 +// Revised: +// + +#ifndef _PMESONS_PLUGIN_H_ +#define _PMESONS_PLUGIN_H_ + +#include "TROOT.h" + +#include "PChannelModel.h" +#include "PDistributionManagerUtil.h" +#include "PDistributionCollection.h" + +using namespace std; + +class PMesonsPlugin : public PDistributionCollection { +public: + PMesonsPlugin(const Char_t *id, const Char_t *de); + ~PMesonsPlugin(); + + Bool_t ExecCommand(const char *command, Double_t value); + Bool_t Activate(void); + +private: + Int_t is_initialized; + + ClassDef(PMesonsPlugin, 0) //Plugin to add new particles with mesons and their decays +}; + +#endif //_PMESONS_PLUGIN_H_ diff --git a/plugins/mesons/src/PMesonsPlugin.cc b/plugins/mesons/src/PMesonsPlugin.cc new file mode 100644 index 0000000..cd03a70 --- /dev/null +++ b/plugins/mesons/src/PMesonsPlugin.cc @@ -0,0 +1,60 @@ +///////////////////////////////////////////////////////////////////// +//Plugin to add the mesons particles Lambda(1405) and Sigma(1385) +// +//Pids are 70-73 +// +//This plugin is automatically enabled. If you don't like it, call +//makeDistributionManager()->Disable("mesons"); +//in the very beginning of your macro +// +////////////////////////////////////////////////////////////////////// + +#include "PMesonsPlugin.h" + +#include "PDistributionManager.h" +#include "PResonanceDalitz.h" + +PMesonsPlugin::PMesonsPlugin(const Char_t *id, const Char_t *de): + PDistributionCollection(id, de) { + is_initialized = 0; + // RequiresPlugin("elementary"); +} + +Bool_t PMesonsPlugin::Activate(void) { + return kTRUE; +} + +PMesonsPlugin::~PMesonsPlugin() { +} + + +Bool_t PMesonsPlugin::ExecCommand(const char *command, Double_t) { + + if (strcmp (command,"init") == 0) { + if (!is_initialized) { + is_initialized = 1; + + Double_t *system_alloc_verbosity = makeStaticData()->GetBatchValue("_system_alloc_verbosity"); + Double_t old = (*system_alloc_verbosity); + (*system_alloc_verbosity) = 0; + + if (makeStaticData()->AddParticle(117, "X17", 0.017) > 0) { + // makeStaticData()->AddAlias("X17","x17"); + makeStaticData()->SetParticleTotalWidth("X17", 0.197/4e-14); + makeStaticData()->SetParticleParity("X17", 1); + makeStaticData()->AddDecay("X17 --> e+ e-", "X17", "e+,e-", 1); + makeStaticData()->AddDecay("eta --> pi+ pi- X17", "eta", "pi+,pi-,X17", 0.001); + } else { + Error("ExecCommand", "PIDs blocked, plugin disabled"); + } + + (*system_alloc_verbosity) = old; + } + return kTRUE; + } + + return kFALSE; +} + + +ClassImp(PMesonsPlugin) diff --git a/plugins/strangeness/include/PStrangenessPlugin.h b/plugins/strangeness/include/PStrangenessPlugin.h index 268206c..77477d5 100644 --- a/plugins/strangeness/include/PStrangenessPlugin.h +++ b/plugins/strangeness/include/PStrangenessPlugin.h @@ -5,7 +5,6 @@ // - Software switches to modify decays // - #ifndef _PSTRANGENESS_PLUGIN_H_ #define _PSTRANGENESS_PLUGIN_H_ @@ -48,10 +47,3 @@ class PStrangenessPlugin : public PDistributionCollection { }; #endif //_PSTRANGENESS_PLUGIN_H_ - - - - - - - From 93b44ed5a0722a4482680f6517452d364e7775d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Lalik?= Date: Tue, 13 Jun 2023 09:22:24 +0200 Subject: [PATCH 09/12] Meson plugin: mark X17 decays as experimental, add f1 decays --- plugins/mesons/include/PMesonsPlugin.h | 4 ++++ plugins/mesons/src/PMesonsPlugin.cc | 24 ++++++++++++++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/plugins/mesons/include/PMesonsPlugin.h b/plugins/mesons/include/PMesonsPlugin.h index de00ec7..4db6e76 100644 --- a/plugins/mesons/include/PMesonsPlugin.h +++ b/plugins/mesons/include/PMesonsPlugin.h @@ -22,9 +22,13 @@ class PMesonsPlugin : public PDistributionCollection { Bool_t ExecCommand(const char *command, Double_t value); Bool_t Activate(void); + static void EnableExperimentalDecays(Bool_t enabled) { experimental_decays = enabled; } + private: Int_t is_initialized; + static Bool_t experimental_decays; + ClassDef(PMesonsPlugin, 0) //Plugin to add new particles with mesons and their decays }; diff --git a/plugins/mesons/src/PMesonsPlugin.cc b/plugins/mesons/src/PMesonsPlugin.cc index cd03a70..15be615 100644 --- a/plugins/mesons/src/PMesonsPlugin.cc +++ b/plugins/mesons/src/PMesonsPlugin.cc @@ -14,6 +14,8 @@ #include "PDistributionManager.h" #include "PResonanceDalitz.h" +Bool_t PMesonsPlugin::experimental_decays{kFALSE}; + PMesonsPlugin::PMesonsPlugin(const Char_t *id, const Char_t *de): PDistributionCollection(id, de) { is_initialized = 0; @@ -42,12 +44,30 @@ Bool_t PMesonsPlugin::ExecCommand(const char *command, Double_t) { // makeStaticData()->AddAlias("X17","x17"); makeStaticData()->SetParticleTotalWidth("X17", 0.197/4e-14); makeStaticData()->SetParticleParity("X17", 1); - makeStaticData()->AddDecay("X17 --> e+ e-", "X17", "e+,e-", 1); - makeStaticData()->AddDecay("eta --> pi+ pi- X17", "eta", "pi+,pi-,X17", 0.001); + + if (experimental_decays) { + makeStaticData()->AddDecay("X17 --> e+ + e-", "X17", "e+,e-", 1); + makeStaticData()->AddDecay("eta --> pi+ + pi- + X17", "eta", "pi+,pi-,X17", 0.001); + } } else { Error("ExecCommand", "PIDs blocked, plugin disabled"); } + + if (makeStaticData()->AddParticle(-1,"f1", 1.2821) > 0) { + makeStaticData()->AddAlias("f1","f1(1285)"); + makeStaticData()->SetParticleTotalWidth("f1", 0.0242); + makeStaticData()->SetParticleMeson("f1", 1); + makeStaticData()->SetParticleSpin("f1", 1); + makeStaticData()->SetParticleParity("f1", 1); + makeStaticData()->SetParticleCharge("f1", 0); + makeStaticData()->SetParticleIsospin("f1", 0); + + makeStaticData()->AddDecay("f1 --> pi+ + pi0 + eta", "f1", "pi+,pi-,eta", 0.35); + makeStaticData()->AddDecay("f1 --> 2pi0 + pi+ + pi-", "f1", "pi+,pi-,pi0,pi0", 0.218); + makeStaticData()->AddDecay("f1 --> 2pi+ + 2pi-", "f1", "pi+,pi-,pi+,pi-", 0.109); + } + (*system_alloc_verbosity) = old; } return kTRUE; From 9bfe54c2500ec33c83e11e705d97865ad0e8cc7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Lalik?= Date: Mon, 26 Jun 2023 15:15:14 +0200 Subject: [PATCH 10/12] Reaction description typo fixed --- plugins/mesons/src/PMesonsPlugin.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/mesons/src/PMesonsPlugin.cc b/plugins/mesons/src/PMesonsPlugin.cc index 15be615..324bb75 100644 --- a/plugins/mesons/src/PMesonsPlugin.cc +++ b/plugins/mesons/src/PMesonsPlugin.cc @@ -63,7 +63,7 @@ Bool_t PMesonsPlugin::ExecCommand(const char *command, Double_t) { makeStaticData()->SetParticleCharge("f1", 0); makeStaticData()->SetParticleIsospin("f1", 0); - makeStaticData()->AddDecay("f1 --> pi+ + pi0 + eta", "f1", "pi+,pi-,eta", 0.35); + makeStaticData()->AddDecay("f1 --> pi+ + pi- + eta", "f1", "pi+,pi-,eta", 0.35); makeStaticData()->AddDecay("f1 --> 2pi0 + pi+ + pi-", "f1", "pi+,pi-,pi0,pi0", 0.218); makeStaticData()->AddDecay("f1 --> 2pi+ + 2pi-", "f1", "pi+,pi-,pi+,pi-", 0.109); } From b2ed1ab2b10a8b2c0159903588db45825e229218 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Lalik?= Date: Wed, 5 Jul 2023 11:48:41 +0200 Subject: [PATCH 11/12] Fix f1 properties, add eta1295 and rare eta to pi0,2g (experimental) --- plugins/mesons/src/PMesonsPlugin.cc | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/plugins/mesons/src/PMesonsPlugin.cc b/plugins/mesons/src/PMesonsPlugin.cc index 324bb75..4406601 100644 --- a/plugins/mesons/src/PMesonsPlugin.cc +++ b/plugins/mesons/src/PMesonsPlugin.cc @@ -53,10 +53,9 @@ Bool_t PMesonsPlugin::ExecCommand(const char *command, Double_t) { Error("ExecCommand", "PIDs blocked, plugin disabled"); } - - if (makeStaticData()->AddParticle(-1,"f1", 1.2821) > 0) { - makeStaticData()->AddAlias("f1","f1(1285)"); - makeStaticData()->SetParticleTotalWidth("f1", 0.0242); + if (makeStaticData()->AddParticle(-1, "f1", 1.2819) > 0) { + makeStaticData()->AddAlias("f1", "f1(1285)"); + makeStaticData()->SetParticleTotalWidth("f1", 0.0227); makeStaticData()->SetParticleMeson("f1", 1); makeStaticData()->SetParticleSpin("f1", 1); makeStaticData()->SetParticleParity("f1", 1); @@ -66,8 +65,27 @@ Bool_t PMesonsPlugin::ExecCommand(const char *command, Double_t) { makeStaticData()->AddDecay("f1 --> pi+ + pi- + eta", "f1", "pi+,pi-,eta", 0.35); makeStaticData()->AddDecay("f1 --> 2pi0 + pi+ + pi-", "f1", "pi+,pi-,pi0,pi0", 0.218); makeStaticData()->AddDecay("f1 --> 2pi+ + 2pi-", "f1", "pi+,pi-,pi+,pi-", 0.109); + } else { + Error("ExecCommand", "PIDs blocked, plugin disabled"); } + if (makeStaticData()->AddParticle(-1, "eta1295", 1.294) > 0) { + makeStaticData()->AddAlias("eta1295", "eta(1295)"); + makeStaticData()->SetParticleTotalWidth("eta1295", 0.055); + makeStaticData()->SetParticleMeson("eta1295", 1); + makeStaticData()->SetParticleSpin("eta1295", 0); + makeStaticData()->SetParticleParity("eta1295", -1); + makeStaticData()->SetParticleCharge("eta1295", 0); + makeStaticData()->SetParticleIsospin("eta1295", 0); + + makeStaticData()->AddDecay("eta1295 --> pi+ + pi- + eta", "eta1295", "pi+,pi-,eta", 1.0); + } else { + Error("ExecCommand", "PIDs blocked, plugin disabled"); + } + + if (experimental_decays) { + makeStaticData()->AddDecay("eta --> pi0 + g + g", "eta", "pi0,g,g", 2.5e-4); + } (*system_alloc_verbosity) = old; } return kTRUE; From 83d0e41b539ea81a1f8813a8c2f7e52eddcfc601 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Lalik?= Date: Wed, 5 Jul 2023 12:53:34 +0200 Subject: [PATCH 12/12] Update of X17 width --- plugins/mesons/src/PMesonsPlugin.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/mesons/src/PMesonsPlugin.cc b/plugins/mesons/src/PMesonsPlugin.cc index 4406601..07e7be2 100644 --- a/plugins/mesons/src/PMesonsPlugin.cc +++ b/plugins/mesons/src/PMesonsPlugin.cc @@ -42,7 +42,7 @@ Bool_t PMesonsPlugin::ExecCommand(const char *command, Double_t) { if (makeStaticData()->AddParticle(117, "X17", 0.017) > 0) { // makeStaticData()->AddAlias("X17","x17"); - makeStaticData()->SetParticleTotalWidth("X17", 0.197/4e-14); + makeStaticData()->SetParticleTotalWidth("X17", 6.582122e-25/4e-14); makeStaticData()->SetParticleParity("X17", 1); if (experimental_decays) {