Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .github/workflows/linux-eic-shell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,10 +97,12 @@ jobs:
release: nightly
include:
- CXX: g++
# TODO(#2524): remove -Wno-error=deprecated-declarations once seeding migrates to Acts Seeding2 (Acts v46 deprecations)
# -Wno-error=maybe-uninitialized for GCC only as it has issues with /usr/include/c++/12/bits/std_function.h
CXXFLAGS: -Werror -Wall -Wextra -Wundef -Wno-error=maybe-uninitialized
CXXFLAGS: -Werror -Wall -Wextra -Wundef -Wno-error=deprecated-declarations -Wno-error=maybe-uninitialized
- CXX: clang++
CXXFLAGS: -Werror -Wall -Wextra -Wundef
# TODO(#2524): remove -Wno-error=deprecated-declarations once seeding migrates to Acts Seeding2 (Acts v46 deprecations)
CXXFLAGS: -Werror -Wall -Wextra -Wundef -Wno-error=deprecated-declarations
# include clang++ Debug with profile CXXFLAGS
- CXX: clang++
CMAKE_BUILD_TYPE: Debug
Expand Down Expand Up @@ -1144,6 +1146,7 @@ jobs:

eicrecon-dis:
runs-on: ubuntu-24.04
continue-on-error: ${{ matrix['continue-on-error'] || false }}
needs:
- build
- npsim-dis
Expand Down Expand Up @@ -1184,6 +1187,7 @@ jobs:
minq2: 100
detector_config: craterlake_tracking_2DStrip
sanitizer: ASAN
continue-on-error: true
- CXX: clang++
beam: 10x130
minq2: 1
Expand Down
10 changes: 5 additions & 5 deletions src/algorithms/interfaces/ActsSvc.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

#include <algorithms/service.h>
#include <memory>
#include <stdexcept>

class ActsGeometryProvider;

Expand All @@ -16,18 +17,17 @@ class ActsSvc : public Service<ActsSvc> {
m_acts_geometry_provider = provider;
};

void init(std::exception_ptr&& _failure) { failure = std::move(_failure); }

std::shared_ptr<const ActsGeometryProvider> acts_geometry_provider() const {
if (failure) {
std::rethrow_exception(failure);
if (!m_acts_geometry_provider) {
throw std::runtime_error(
"ActsSvc: geometry provider is null; ensure AlgorithmsInit_service is loaded and Acts "
"geometry was successfully initialized");
}
return m_acts_geometry_provider;
}
Comment thread
wdconinc marked this conversation as resolved.

protected:
std::shared_ptr<const ActsGeometryProvider> m_acts_geometry_provider{nullptr};
std::exception_ptr failure;

ALGORITHMS_DEFINE_SERVICE(ActsSvc)
};
Expand Down
4 changes: 2 additions & 2 deletions src/algorithms/reco/UndoAfterBurner.cc
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,8 @@ void eicrecon::UndoAfterBurner::process(const UndoAfterBurner::Input& input,
}
}

// Bail out if still no beam particles, since this leads to division by zero
if (!hasBeamHadron && !hasBeamLepton) {
// Bail out if either beam is missing, since this leads to division by zero or unphysical boosts
if (!hasBeamHadron || !hasBeamLepton) {
return;
}

Expand Down
8 changes: 2 additions & 6 deletions src/services/algorithms_init/AlgorithmsInit_service.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,15 +45,11 @@ class AlgorithmsInit_service : public JService {
g.init(const_cast<dd4hep::Detector*>(this->m_dd4hep_service->detector().get()));
});

// Register DD4hep_service as algorithms::ActsSvc
// Register ACTSGeo_service as algorithms::ActsSvc
[[maybe_unused]] auto& actsSvc = algorithms::ActsSvc::instance();
serviceSvc.setInit<algorithms::ActsSvc>([this](auto&& g) {
this->m_log->debug("Initializing algorithms::ActsSvc");
try {
g.init(this->m_actsgeo_service->actsGeoProvider());
} catch (...) {
g.init(std::move(std::current_exception()));
}
g.init(this->m_actsgeo_service->actsGeoProvider());
});

// Register Log_service as algorithms::LogSvc
Expand Down
Loading