ATLAS Offline Software
Loading...
Searching...
No Matches
IMuonHitTimingTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUON_IMUONHITTIMINGTOOL_H
6#define MUON_IMUONHITTIMINGTOOL_H
7
16
17#include <limits>
18#include <vector>
19
20#include "GaudiKernel/IAlgTool.h"
22#include <unordered_set>
23
24namespace Muon {
25
27
33 class IMuonHitTimingTool : virtual public IAlgTool {
34 public:
35
38 struct TimingResult {
40 TimingResult() = default;
42 TimingResult(bool valid_, double time_, double error_) : valid(valid_), time(time_), error(error_) {}
43
45 bool valid{false};
46
49 float time{std::numeric_limits<float>::lowest()};
50
52 float error{std::numeric_limits<float>::lowest()};
53 };
54
56 virtual ~IMuonHitTimingTool() = default;
57
58
62 virtual TimingResult calculateTimingResult(const std::vector<const MuonClusterOnTrack*>& hits) const = 0;
63
64 };
65
66} // namespace Muon
67
68#endif
Base class for Muon cluster RIO_OnTracks.
Tool to calculate the timing wrt to the current BC Depending to the implementation the tool can handl...
virtual ~IMuonHitTimingTool()=default
Virtual destructor.
virtual TimingResult calculateTimingResult(const std::vector< const MuonClusterOnTrack * > &hits) const =0
Calculate the time offset of a given set of hits wrt to the current bunch The hits SHOULD be of the s...
DeclareInterfaceID(Muon::IMuonHitTimingTool, 1, 0)
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
simple struct holding the result of the tool
bool valid
flag indicating whether the time was correctly calculated
TimingResult(bool valid_, double time_, double error_)
full constructor
TimingResult()=default
default constructor, constructs an invalid TimingResult
float time
the actual time offset (ns) wrt the current bunch assuming the particle travelled in a straight line ...