19std::optional<LorentzFactor>
21 if (!isValidBeta(beta.value)) {
28 const double beta2 = beta.value * beta.value;
29 const double denom = std::sqrt(1.0 - beta2);
43 if (proper_time < 0.0) {
54 return proper_time * g->value;
57std::optional<RelativisticSignal>
60 double effective_mass)
noexcept {
62 if (!std::isfinite(effective_mass) || effective_mass <= 0.0) {
73 const double adjusted = g->value * effective_mass * raw_signal;
78 .adjusted_value = adjusted,
95 const double num = beta1.
value + beta2.value;
96 const double denom = 1.0 + beta1.value * beta2.value;
99 constexpr double kMaxBeta = 1.0 - 1e-9;
100 const double raw = num / denom;
101 return BetaVelocity{std::max(-kMaxBeta, std::min(kMaxBeta, raw))};
107 auto g = gamma(beta);
114 return dilated_value / g->value;
122 if (proper_length <= 0.0) {
126 auto g = gamma(beta);
133 return proper_length / g->value;
138 if (!isValidBeta(beta.value)) {
149 return std::atanh(beta.value);
154 double effective_mass,
155 double c_market)
noexcept {
156 if (!std::isfinite(effective_mass) || effective_mass <= 0.0) {
160 auto g = gamma(beta);
168 return g->value * effective_mass * c_market * c_market;
static constexpr double BETA_MAX_SAFE
Lorentz factor γ = 1/√(1−β²). Always ≥ 1.0 for valid beta.
A financial signal with relativistic corrections applied.
double raw_value
Original signal before correction.