5#include "../lorentz/lorentz_transform.hpp"
13std::optional<RelativisticMomentum>
15 if (signal.effective_mass <= 0.0) {
21 signal.raw_value, signal.beta, signal.effective_mass);
28 .adjusted_value = rel->adjusted_value,
39 double speed)
noexcept {
40 if (mass <= 0.0 || !std::isfinite(speed)) {
50 return g->value * mass * std::abs(speed);
55std::optional<std::vector<RelativisticMomentum>>
57 std::span<const MomentumSignal> signals)
noexcept {
58 if (signals.empty()) {
62 std::vector<RelativisticMomentum> results;
63 results.reserve(signals.size());
65 for (
const auto& sig : signals) {
66 auto r = process(sig);
68 results.push_back(*r);
73 .adjusted_value = sig.raw_value,
Normalised market velocity β = price_velocity / c_market.
Pre-computed Lorentz factor γ = 1/√(1−β²). Always ≥ 1.0.
static std::optional< std::vector< RelativisticMomentum > > process_series(std::span< const MomentumSignal > signals) noexcept
static std::optional< double > relativistic_momentum(BetaVelocity beta, double mass, double speed) noexcept
static std::optional< RelativisticMomentum > process(const MomentumSignal &signal) noexcept
Momentum-Velocity Signal Processor — AGT-03 public API (implemented by AGT-06).
Input descriptor for a single relativistic momentum computation.
Result of applying relativistic momentum correction to a single signal.
double raw_value
Original signal before correction.