Some checks failed
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 11m22s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 12m40s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m7s
Build Packages / Generate python client (push) Successful in 32s
Build Packages / build:rpm (rocky8) (push) Successful in 13m34s
Build Packages / Create release (push) Has been skipped
Build Packages / Build documentation (push) Successful in 36s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 13m44s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 13m54s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m4s
Build Packages / build:rpm (rocky9) (push) Successful in 15m23s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m21s
Build Packages / Unit tests (push) Has been cancelled
27 lines
892 B
C++
27 lines
892 B
C++
// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
|
|
// SPDX-License-Identifier: GPL-3.0-only
|
|
|
|
#include "BraggPredictionFactory.h"
|
|
|
|
#include "BraggPredictionRot.h"
|
|
#include "BraggPredictionRotation.h"
|
|
|
|
#ifdef JFJOCH_USE_CUDA
|
|
#include "../../common/CUDAWrapper.h"
|
|
#include "BraggPredictionGPU.h"
|
|
#include "BraggPredictionRotGPU.h"
|
|
#endif
|
|
|
|
std::unique_ptr<BraggPrediction> CreateBraggPrediction(bool rotation_indexing, int max_reflections) {
|
|
#ifdef JFJOCH_USE_CUDA
|
|
if (get_gpu_count() > 0) {
|
|
if (rotation_indexing)
|
|
return std::make_unique<BraggPredictionRotGPU>(max_reflections);
|
|
return std::make_unique<BraggPredictionGPU>(max_reflections);
|
|
}
|
|
#endif
|
|
if (rotation_indexing)
|
|
return std::make_unique<BraggPredictionRot>(max_reflections);
|
|
return std::make_unique<BraggPrediction>(max_reflections);
|
|
}
|