trout
Phlex-based reconstruction framework for the SHiP experiment.
Loading...
Searching...
No Matches
HitUncertainty.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 CERN for the benefit of the SHiP Collaboration
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5// HitUncertainty.hpp — single point of truth for per-hit measurement
6// covariance, so it can go from "one fixed placeholder" to a real
7// calibration (parameterised by hit location / track parameters /
8// occupancy / ...) without touching any call site.
9
10#pragma once
11
12#include <Acts/Definitions/Algebra.hpp>
13
14namespace SHiP::trout {
15
16// Everything a future calibrated model might need to parameterise a hit's
17// uncertainty. Only globalPosition and time are actually populated today —
18// SpectrometerMeasurements builds these before pattern recognition or
19// fitting ever runs, so per-track quantities (incidence angle, momentum)
20// aren't available yet at the call site, and occupancy (hit density at
21// this station/time) isn't computed anywhere yet either. Both are noted
22// here so the day a real model needs them, it's this struct and this one
23// call site that grow — not every caller of hitCovariance().
25 Acts::Vector3 globalPosition;
26 double time = 0.0;
27
28 // Not yet populated. Would need e.g. a two-pass approach (fit once with
29 // today's placeholder, feed the resulting track parameters back in) or
30 // a fuller occupancy count computed across each station up front.
31 // std::optional<Acts::BoundTrackParameters> trackParameters;
32 // std::optional<std::size_t> stationOccupancy;
33};
34
35// Per-hit measurement covariance in the surface's local 2D frame
36// (loc0/loc1). Currently a fixed placeholder regardless of `context` — see
37// HitUncertainty.cpp for how that number was arrived at (not a calibrated
38// detector value). Replace the implementation once real hit-resolution
39// calibration exists; callers (SpectrometerMeasurements today) shouldn't
40// need to change.
41Acts::SquareMatrix2 hitCovariance(HitUncertaintyContext const& context);
42
43} // namespace SHiP::trout
Definition fit_seed.cpp:16
Acts::SquareMatrix2 hitCovariance(HitUncertaintyContext const &)
Definition HitUncertainty.cpp:11
Definition HitUncertainty.hpp:24
Acts::Vector3 globalPosition
Definition HitUncertainty.hpp:25
double time
Definition HitUncertainty.hpp:26