File indexing completed on 2025-12-16 10:23:48
0001
0002
0003
0004
0005
0006
0007 #pragma once
0008
0009 #include "corecel/Types.hh"
0010 #include "corecel/data/CollectionBuilder.hh"
0011 #include "corecel/data/DedupeCollectionBuilder.hh"
0012
0013 #include "TransformRecordInserter.hh"
0014 #include "../OrangeData.hh"
0015 #include "../OrangeInput.hh"
0016 #include "../OrangeTypes.hh"
0017
0018 namespace celeritas
0019 {
0020 namespace detail
0021 {
0022 class UniverseInserter;
0023
0024
0025
0026
0027 class RectArrayInserter
0028 {
0029 public:
0030
0031
0032 using Data = HostVal<OrangeParamsData>;
0033
0034
0035 public:
0036
0037 RectArrayInserter(UniverseInserter* insert_universe, Data* orange_data);
0038
0039
0040 UniverseId operator()(RectArrayInput const& inp);
0041
0042 private:
0043 Data* orange_data_{nullptr};
0044 TransformRecordInserter insert_transform_;
0045 UniverseInserter* insert_universe_;
0046
0047 CollectionBuilder<RectArrayRecord> rect_arrays_;
0048 DedupeCollectionBuilder<real_type> reals_;
0049 CollectionBuilder<Daughter> daughters_;
0050 };
0051
0052
0053 }
0054 }