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
14
namespace
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().
24
struct
HitUncertaintyContext
{
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.
41
Acts::SquareMatrix2
hitCovariance
(
HitUncertaintyContext
const
& context);
42
43
}
// namespace SHiP::trout
SHiP::trout
Definition
fit_seed.cpp:16
SHiP::trout::hitCovariance
Acts::SquareMatrix2 hitCovariance(HitUncertaintyContext const &)
Definition
HitUncertainty.cpp:11
SHiP::trout::HitUncertaintyContext
Definition
HitUncertainty.hpp:24
SHiP::trout::HitUncertaintyContext::globalPosition
Acts::Vector3 globalPosition
Definition
HitUncertainty.hpp:25
SHiP::trout::HitUncertaintyContext::time
double time
Definition
HitUncertainty.hpp:26
include
detectors
spectrometer
HitUncertainty.hpp
Generated by
Doxygen
1.15.0