Back to home page

EIC code displayed by LXR

 
 

    


Warning, /acts/Traccc/core/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # TRACCC library, part of the ACTS project (R&D line)
0002 #
0003 # (c) 2021-2026 CERN for the benefit of the ACTS project
0004 #
0005 # Mozilla Public License Version 2.0
0006 
0007 # Project include(s).
0008 include(traccc-compiler-options-cpp)
0009 
0010 # Set up the "build" of the traccc::core library.
0011 traccc_add_library( traccc_core core TYPE SHARED
0012   # Common definitions.
0013   "include/traccc/definitions/track_parametrization.hpp"
0014   "include/traccc/definitions/math.hpp"
0015   "include/traccc/definitions/primitives.hpp"
0016   "include/traccc/definitions/common.hpp"
0017   "include/traccc/definitions/qualifiers.hpp"
0018   # Event data model.
0019   "include/traccc/edm/details/container_base.hpp"
0020   "include/traccc/edm/details/container_element.hpp"
0021   "include/traccc/edm/details/device_container.hpp"
0022   "include/traccc/edm/details/host_container.hpp"
0023   "include/traccc/edm/measurement_collection.hpp"
0024   "include/traccc/edm/impl/measurement_collection.ipp"
0025   "include/traccc/edm/measurement_helpers.hpp"
0026   "include/traccc/edm/impl/measurement_helpers.ipp"
0027   "include/traccc/edm/particle.hpp"
0028   "include/traccc/edm/track_parameters.hpp"
0029   "include/traccc/edm/container.hpp"
0030   "include/traccc/edm/silicon_cell_collection.hpp"
0031   "include/traccc/edm/impl/silicon_cell_collection.ipp"
0032   "include/traccc/edm/silicon_cluster_collection.hpp"
0033   "include/traccc/edm/spacepoint_collection.hpp"
0034   "include/traccc/edm/impl/spacepoint_collection.ipp"
0035   "include/traccc/edm/spacepoint_helpers.hpp"
0036   "include/traccc/edm/impl/spacepoint_helpers.ipp"
0037   "include/traccc/edm/seed_collection.hpp"
0038   "include/traccc/edm/impl/seed_collection.ipp"
0039   "include/traccc/edm/track_state_collection.hpp"
0040   "include/traccc/edm/impl/track_state_collection.ipp"
0041   "include/traccc/edm/track_state_helpers.hpp"
0042   "include/traccc/edm/impl/track_state_helpers.ipp"
0043   "include/traccc/edm/track_fit_outcome.hpp"
0044   "include/traccc/edm/track_constituent_link.hpp"
0045   "include/traccc/edm/track_collection.hpp"
0046   "include/traccc/edm/impl/track_collection.ipp"
0047   "include/traccc/edm/track_container.hpp"
0048   # Magnetic field description.
0049   "include/traccc/bfield/magnetic_field_types.hpp"
0050   "include/traccc/bfield/magnetic_field.hpp"
0051   "include/traccc/bfield/impl/magnetic_field.ipp"
0052   "include/traccc/bfield/construct_const_bfield.hpp"
0053   "include/traccc/bfield/impl/construct_const_bfield.ipp"
0054   "src/bfield/construct_const_bfield.cpp"
0055   # Geometry description.
0056   "include/traccc/geometry/detector.hpp"
0057   "include/traccc/geometry/module_map.hpp"
0058   "include/traccc/geometry/geometry.hpp"
0059   "include/traccc/geometry/pixel_data.hpp"
0060   "include/traccc/geometry/detector_design_description.hpp"
0061   "include/traccc/geometry/detector_conditions_description.hpp"
0062   # Utilities.
0063   "include/traccc/utils/algorithm.hpp"
0064   "include/traccc/utils/detray_conversion.hpp"
0065   "include/traccc/utils/impl/detray_conversion.ipp"
0066   "include/traccc/utils/type_traits.hpp"
0067   "include/traccc/utils/memory_resource.hpp"
0068   "include/traccc/utils/seed_generator.hpp"
0069   "include/traccc/utils/subspace.hpp"
0070   "include/traccc/utils/logging.hpp"
0071   "include/traccc/utils/prob.hpp"
0072   "src/utils/logging.cpp"
0073   # Clusterization algorithmic code.
0074   "include/traccc/clusterization/details/sparse_ccl.hpp"
0075   "include/traccc/clusterization/impl/sparse_ccl.ipp"
0076   "include/traccc/clusterization/sparse_ccl_algorithm.hpp"
0077   "src/clusterization/sparse_ccl_algorithm.cpp"
0078   "include/traccc/clusterization/details/measurement_creation.hpp"
0079   "include/traccc/clusterization/impl/measurement_creation.ipp"
0080   "include/traccc/clusterization/measurement_creation_algorithm.hpp"
0081   "src/clusterization/measurement_creation_algorithm.cpp"
0082   "include/traccc/clusterization/measurement_sorting_algorithm.hpp"
0083   "src/clusterization/measurement_sorting_algorithm.cpp"
0084   "include/traccc/clusterization/clusterization_algorithm.hpp"
0085   "src/clusterization/clusterization_algorithm.cpp"
0086   # Finding algorithmic code
0087   "include/traccc/finding/actors/ckf_aborter.hpp"
0088   "include/traccc/finding/actors/measurement_kalman_updater.hpp"
0089   "include/traccc/finding/details/combinatorial_kalman_filter_types.hpp"
0090   "include/traccc/finding/details/combinatorial_kalman_filter.hpp"
0091   "include/traccc/finding/details/progressive_kalman_filter_types.hpp"
0092   "include/traccc/finding/details/progressive_kalman_filter.hpp"
0093   "include/traccc/finding/details/run_progressive_kalman_filter.hpp"
0094   "include/traccc/finding/candidate_link.hpp"
0095   "include/traccc/finding/combinatorial_kalman_filter_algorithm.hpp"
0096   "include/traccc/finding/finding_config.hpp"
0097   "include/traccc/finding/measurement_selector.hpp"
0098   "src/finding/combinatorial_kalman_filter_algorithm.cpp"
0099   # Fitting algorithmic code
0100   "include/traccc/fitting/kalman_filter/gain_matrix_updater.hpp"
0101   "include/traccc/fitting/kalman_filter/kalman_actor.hpp"
0102   "include/traccc/fitting/kalman_filter/kalman_fitter.hpp"
0103   "include/traccc/fitting/kalman_filter/kalman_step_aborter.hpp"
0104   "include/traccc/fitting/kalman_filter/statistics_updater.hpp"
0105   "include/traccc/fitting/kalman_filter/two_filters_smoother.hpp"
0106   "include/traccc/fitting/details/kalman_fitting_types.hpp"
0107   "include/traccc/fitting/details/kalman_fitting.hpp"
0108   "include/traccc/fitting/kalman_smoother.hpp"
0109   "include/traccc/fitting/kalman_fitting_algorithm.hpp"
0110   "include/traccc/fitting/triplet_fit/triplet_fitter.hpp"
0111   "include/traccc/fitting/triplet_fitting_algorithm.hpp"
0112   "src/fitting/kalman_fitting_algorithm.cpp"
0113   "src/fitting/triplet_fitting_algorithm.cpp"
0114   # Seed finding algorithmic code.
0115   "include/traccc/seeding/detail/lin_circle.hpp"
0116   "include/traccc/seeding/detail/doublet.hpp"
0117   "include/traccc/seeding/detail/triplet.hpp"
0118   "include/traccc/seeding/detail/singlet.hpp"
0119   "include/traccc/seeding/detail/seeding_config.hpp"
0120   "include/traccc/seeding/detail/spacepoint_grid.hpp"
0121   "include/traccc/seeding/seed_selecting_helper.hpp"
0122   "src/seeding/seed_filtering.hpp"
0123   "src/seeding/seed_filtering.cpp"
0124   "include/traccc/seeding/seeding_algorithm.hpp"
0125   "src/seeding/seeding_algorithm.cpp"
0126   "include/traccc/seeding/track_params_estimation_helper.hpp"
0127   "include/traccc/seeding/doublet_finding_helper.hpp"
0128   "include/traccc/seeding/spacepoint_binning_helper.hpp"
0129   "include/traccc/seeding/track_params_estimation.hpp"
0130   "src/seeding/track_params_estimation.cpp"
0131   "include/traccc/seeding/triplet_finding_helper.hpp"
0132   "src/seeding/doublet_finding.hpp"
0133   "src/seeding/triplet_finding.hpp"
0134   "include/traccc/seeding/detail/seed_finding.hpp"
0135   "src/seeding/seed_finding.cpp"
0136   "include/traccc/seeding/detail/spacepoint_binning.hpp"
0137   "src/seeding/spacepoint_binning.cpp"
0138   "include/traccc/seeding/detail/spacepoint_formation.hpp"
0139   "include/traccc/seeding/impl/spacepoint_formation.ipp"
0140   "src/seeding/silicon_pixel_spacepoint_formation.hpp"
0141   "include/traccc/seeding/silicon_pixel_spacepoint_formation_algorithm.hpp"
0142   "src/seeding/silicon_pixel_spacepoint_formation_algorithm.cpp"
0143   #gbts seed finding config
0144   "include/traccc/gbts_seeding/gbts_seeding_config.hpp"
0145   "src/gbts_seeding/gbts_seeding_config.cpp"
0146   # Ambiguity resolution
0147   "include/traccc/ambiguity_resolution/ambiguity_resolution_config.hpp"
0148   "include/traccc/ambiguity_resolution/greedy_ambiguity_resolution_algorithm.hpp"
0149   "src/ambiguity_resolution/greedy_ambiguity_resolution_algorithm.cpp"
0150   "include/traccc/ambiguity_resolution/legacy/greedy_ambiguity_resolution_algorithm.hpp"
0151   "src/ambiguity_resolution/legacy/greedy_ambiguity_resolution_algorithm.cpp"
0152 )
0153 target_link_libraries(
0154     traccc_core
0155     PUBLIC
0156         vecmem::core
0157         covfie::core
0158         detray::core_array
0159         detray::detectors
0160         Acts::Core
0161 )
0162 
0163 string(REPLACE ";" ", " TRACCC_DETECTOR_TYPES "${TRACCC_SUPPORTED_DETECTORS}")
0164 message(STATUS "Building with detector types: ${TRACCC_DETECTOR_TYPES}")
0165 configure_file(
0166     "${CMAKE_CURRENT_SOURCE_DIR}/include/traccc/geometry/detector_type_list.hpp.in"
0167     "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/include/traccc/geometry/detector_type_list.hpp"
0168     @ONLY
0169 )
0170 
0171 target_include_directories(
0172     traccc_core
0173     PUBLIC
0174         $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/include>
0175 )
0176 
0177 install(
0178     DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/include/"
0179     DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
0180 )
0181 
0182 # Any client that wants to use traccc::core with nvcc, needs to use the
0183 # "--expt-relaxed-constexpr" flag. Otherwise nvcc has a tendency to generate
0184 # invalid code.
0185 target_compile_options(
0186     traccc_core
0187     INTERFACE
0188         $<$<AND:$<CUDA_COMPILER_ID:NVIDIA>,$<COMPILE_LANGUAGE:CUDA>>:--expt-relaxed-constexpr>
0189 )