How luozf14/mdmtrace works
MDMTrace supports a user workflow from configured ion and ray inputs through either legacy RAYTRACE or generated field-map transport, producing trace results for comparison or ion-optical fitting. Field tuning and map visualization are additional product branches. The README documents the major tools and map format; sampled source confirms map generation, standalone transport, and comparison behavior. Some executable internals were not sampled, so links for those branches reflect documented capabilities rather than inferred implementation details.
Main entry points: config JSON configs · Compare.cpp Transport comparison · MdmTrace.cpp Legacy transport · MdmFieldMapGenerator.cpp Map generator
Components 19
Inputs and tuning
- JSON configs
config - RAYTRACE deck
dat/rayin.dat - Field tuning
FindMdmField.cpp
Legacy transport
- Ion model
src/MdmIon.cpp - Legacy transport
src/MdmTrace.cpp - RAYTRACE routines
src/RAYTKIN1.F - Legacy trace tool
MdmTraceExample.cpp
Field maps
- Field bridge
src/MdmFieldMapInterop.F90 - Map generator
src/MdmFieldMapGenerator.cpp - Map reader
src/MdmFieldMap.cpp - Field-map files
- Map transport
src/MdmFieldMapTrace.cpp - Map trace tool
MdmFieldMapTraceExample.cpp
Analysis tools
- Transport comparison
Compare.cpp - Ion-optics fitting
GenerateIonOptics.cpp - ROOT
- Trace and fit results
Visualization
- Field-map plots
visual
Other components
- MDM user
Connections 34
- MDM user → JSON configs: sets parameters
- MDM user → Field tuning: tunes field
- MDM user → Legacy trace tool: runs tracing
- MDM user → Map generator: generates maps
- MDM user → Map trace tool: runs tracing
- MDM user → Transport comparison: compares models
- MDM user → Ion-optics fitting: fits optics
- MDM user → Field-map plots: views fields
- JSON configs → Field tuning: configures
- JSON configs → Map generator: configures
- JSON configs → Legacy trace tool: configures
- JSON configs → Map trace tool: configures
- JSON configs → Transport comparison: configures
- JSON configs → Ion-optics fitting: configures
- RAYTRACE deck → RAYTRACE routines: supplies deck
- Field tuning → Legacy transport: tunes model
- Legacy trace tool → Legacy transport: traces rays
- Legacy transport → Ion model: uses ion model
- Legacy transport → RAYTRACE routines: calls routines
- Map generator → Legacy transport: samples fields
- Map generator → Field bridge: calls field bridge
- Map generator → Field-map files: writes maps
- Map trace tool → Map transport: traces rays
- Map trace tool → Map reader: uses map reader
- Map transport → Map reader: interpolates maps
- Map transport → Field-map files: loads maps
- Transport comparison → Legacy transport: runs legacy model
- Transport comparison → Map transport: runs map model
- Transport comparison → Trace and fit results: writes comparison
- Ion-optics fitting → Map transport: traces fit rays
- Ion-optics fitting → ROOT: solves with SVD
- Ion-optics fitting → Trace and fit results: reports fit
- Transport comparison → ROOT: plots results
- Field-map plots → Field-map files: reads maps