40[[nodiscard]] std::vector<FieldMap>
readFieldMaps(std::string
const& path);
49void writeFieldMaps(std::string
const& path, std::span<FieldMap const> maps,
55[[nodiscard]] std::shared_ptr<IFieldEvaluator>
loadFieldMap(std::string
const& file,
56 std::string
const& map);
74 [[nodiscard]] std::vector<FieldRegion>
const&
regions()
const override {
return regions_; }
77 std::vector<FieldRegion> regions_;
90 std::vector<FieldMapSource::MagnetConfig>
magnets;
IFieldSource with one evaluator per magnet, read from field-map files.
Definition FieldMapIO.h:59
std::vector< FieldRegion > const & regions() const override
Idempotent. Ownership of the evaluators stays with the source.
Definition FieldMapIO.h:74
Source of one or more named field regions.
Definition IFieldSource.h:51
Definition ActsFieldAdapter.h:25
void writeFieldMaps(std::string const &path, std::span< FieldMap const > maps, FieldMapWriteOptions const &options={})
Write maps to a new file at path, replacing any existing file.
Definition FieldMapIO.cpp:132
constexpr int kPlacementsFormatVersion
Placement manifest version this library reads (docs/placements_format.md).
Definition FieldMapIO.h:81
constexpr std::uint16_t kFieldMapFormatMinor
Definition FieldMapIO.h:26
constexpr std::uint16_t kFieldMapFormatMajor
Format version written by this library.
Definition FieldMapIO.h:25
std::shared_ptr< IFieldEvaluator > loadFieldMap(std::string const &file, std::string const &map)
Evaluator for map map in file.
Definition FieldMapIO.cpp:200
FieldMapPlacements readFieldMapPlacements(std::string const &path)
Read the placement manifest at path, resolved as in resolveFieldMapPath (so a bare "placements....
Definition FieldMapPlacements.cpp:107
FieldMap readFieldMap(std::string const &path, std::string const &name)
Read the map called name from path; throws if there is none.
Definition FieldMapIO.cpp:125
constexpr char const * kFieldMapNTupleName
Name of the RNTuple holding the maps.
Definition FieldMapIO.h:29
std::vector< FieldMap > readFieldMaps(std::string const &path)
Read every map in path.
Definition FieldMapIO.cpp:121
Contents of a placement manifest: where each magnet's map sits, and the geometry version those positi...
Definition FieldMapIO.h:85
std::vector< FieldMapSource::MagnetConfig > magnets
One entry per magnet, in manifest order.
Definition FieldMapIO.h:90
std::string geometry_version
Definition FieldMapIO.h:87
std::string geometry_package
Definition FieldMapIO.h:86
Definition FieldMapIO.h:61
std::string volume_pattern
Definition FieldMapIO.h:63
std::string file
Definition FieldMapIO.h:64
std::array< double, 3 > translation
Global position (mm) of the map's local origin.
Definition FieldMapIO.h:69
std::string map
Definition FieldMapIO.h:65
std::string name
Definition FieldMapIO.h:62
Definition FieldMapIO.h:31
unsigned truncated_bits
Store field values with only this many bits (10 to 31) of each float, dropping low mantissa bits,...
Definition FieldMapIO.h:35
One field map: grid, symmetry, and per-node field components in Tesla, stored in FieldMapGrid::index ...
Definition FieldMap.h:66