v2.0.0
Loading...
Searching...
No Matches
mna_param_tree.h File Reference

Hierarchical parameter store with formula-driven dynamic bindings shared across an MNA graph. More...

#include "mna_global.h"
#include "mna_param_binding.h"
#include <QString>
#include <QStringList>
#include <QVariant>
#include <QVariantMap>
#include <QMap>
#include <QList>
#include <QJsonObject>
Include dependency graph for mna_param_tree.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  MNALIB::MnaParamTree
 Path-keyed parameter store with formula-driven dynamic bindings. More...

Namespaces

namespace  MNALIB
 MNE Analysis Container Format (mna/mnx).

Detailed Description

Hierarchical parameter store with formula-driven dynamic bindings shared across an MNA graph.

SPDX-License-Identifier: BSD-3-Clause Copyright (c) 2026 MNE-CPP Authors

Author
Christoph Dinh chris.nosp@m.toph.nosp@m..dinh.nosp@m.@mne.nosp@m.-cpp..nosp@m.org
Since
2.2.0
Date
April 2026

MnaParamTree is the second authoritative source of node attribute values — the first being a node's own attributes map. Where the latter holds the literal value typed by the user for a single operation, the param tree expresses values that are either reused across many nodes (e.g. subject/fsdir) or computed from other values via MnaParamBinding formulas resolved at execution time.

Paths are slash-separated and conventionally namespaced by node id (bandpass_01/lowcut, bandpass_01/highcut), letting the executor merge static defaults from the op schema, static overrides from the project, and dynamically bound values into the final resolvedAttributes captured in the MnaProvenance record. evaluate walks all registered bindings whose triggers have fired and returns the list of paths whose values changed, which the executor uses to mark downstream nodes dirty.

Definition in file mna_param_tree.h.