24 using namespace Acts::UnitLiterals;
25 namespace ActsExamples::Contextual {
29 std::shared_ptr<const Acts::IMaterialDecorator> mdecorator)
30 -> std::pair<TrackingGeometryPtr, ContextDecorators> {
35 randomNumberConfig.
seed =
cfg.seed;
36 auto randomNumberSvc =
37 std::make_shared<ActsExamples::RandomNumbers>(randomNumberConfig);
42 config.doGarbageCollection =
cfg.doGarbageCollection;
51 config.randomNumberSvc = randomNumberSvc;
52 config.firstIovNominal =
cfg.firstIovNominal;
56 if (
cfg.mode == Config::Mode::External) {
60 fillDecoratorConfig(agcsConfig);
62 std::vector<std::vector<std::shared_ptr<ExternallyAlignedDetectorElement>>>
66 ActsExamples::Generic::buildDetector<ExternallyAlignedDetectorElement>(
67 nominalContext, detectorStore,
cfg.buildLevel,
69 cfg.layerLogLevel,
cfg.volumeLogLevel);
74 for (
auto& lstore : detectorStore) {
75 auto&
target = m_detectorStore.emplace_back();
76 for (
auto& ldet : lstore) {
81 aContextDecorators.push_back(std::make_shared<ExternalAlignmentDecorator>(
89 fillDecoratorConfig(agcsConfig);
92 ActsExamples::Generic::buildDetector<InternallyAlignedDetectorElement>(
95 cfg.layerLogLevel,
cfg.volumeLogLevel);
99 auto&
target = m_detectorStore.emplace_back();
100 for (
auto& ldet : lstore) {
105 aContextDecorators.push_back(std::make_shared<InternalAlignmentDecorator>(
111 return std::make_pair<TrackingGeometryPtr, ContextDecorators>(