79 [[nodiscard]]
static std::optional<BetaVelocity>
83 [[nodiscard]]
double value() const noexcept {
return value_; }
104 [[nodiscard]]
double value() const noexcept {
return value_; }
107 friend std::optional<LorentzFactor>
134 [[nodiscard]]
static std::optional<EffectiveMass>
143 [[nodiscard]]
static std::optional<EffectiveMass>
144 from_adv(
double adv,
double adv_baseline)
noexcept;
147 [[nodiscard]]
double value() const noexcept {
return value_; }
182[[nodiscard]] std::optional<LorentzFactor>
195[[nodiscard]] std::optional<std::pair<double, LorentzFactor>>
198 EffectiveMass m_eff)
noexcept;
206[[nodiscard]] std::optional<BetaVelocity>
214[[nodiscard]] std::optional<double>
Normalised market velocity β = price_velocity / c_market.
double value() const noexcept
Returns the raw β value.
static std::optional< BetaVelocity > make(double value) noexcept
Validate and construct a BetaVelocity.
ADV-based effective mass proxy.
static std::optional< EffectiveMass > from_adv(double adv, double adv_baseline) noexcept
Construct from raw ADV and a baseline ADV.
static std::optional< EffectiveMass > make(double value) noexcept
Validate and construct an EffectiveMass.
double value() const noexcept
Returns the raw m_eff value.
Pre-computed Lorentz factor γ = 1/√(1−β²). Always ≥ 1.0.
LorentzFactor() noexcept
Default-constructs to the Newtonian identity γ = 1.
friend std::optional< LorentzFactor > lorentz_gamma(BetaVelocity beta) noexcept
Compute Lorentz factor γ = 1/√(1−β²).
double value() const noexcept
Returns the raw γ value.
std::optional< RelativisticSignal > process_one(RawSignal signal, BetaVelocity beta, EffectiveMass m_eff) const noexcept
Process a single raw signal (convenience wrapper).
std::optional< std::vector< RelativisticSignal > > process(std::span< const RawSignal > signals, BetaVelocity beta, EffectiveMass m_eff) const noexcept
Process a batch of raw signals.
RelativisticSignalProcessor() noexcept=default
std::optional< double > inverse_transform(double dilated_value, BetaVelocity beta) noexcept
Recover the proper (un-dilated) value: proper = dilated / γ.
std::optional< std::pair< double, LorentzFactor > > apply_momentum_correction(double raw_signal, BetaVelocity beta, EffectiveMass m_eff) noexcept
Apply relativistic momentum correction: p_rel = γ · m_eff · raw.
std::optional< BetaVelocity > compose_velocities(BetaVelocity beta1, BetaVelocity beta2) noexcept
Relativistic velocity composition: β_result = (β₁+β₂)/(1+β₁β₂).
std::optional< LorentzFactor > lorentz_gamma(BetaVelocity beta) noexcept
Compute Lorentz factor γ = 1/√(1−β²).
constexpr double BETA_MAX_SAFE
A raw (pre-correction) market signal value.
A gamma-corrected relativistic momentum signal.
double adjusted_value
γ · m_eff · raw_value
LorentzFactor gamma
Lorentz factor applied during correction.
Internal factory helper for constructing LorentzFactor objects from pre-computed gamma scalars (frien...