ATLAS Offline Software
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 
17 #include <limits>
18 #include <vector>
19 
20 #include "GaudiKernel/IAlgTool.h"
22 #include <unordered_set>
23 
24 namespace Muon {
25 
26  class MuonClusterOnTrack;
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
Muon::IMuonHitTimingTool::TimingResult::TimingResult
TimingResult()=default
default constructor, constructs an invalid TimingResult
TRTCalib_Extractor.hits
hits
Definition: TRTCalib_Extractor.py:35
Muon::IMuonHitTimingTool::calculateTimingResult
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...
Muon::IMuonHitTimingTool::TimingResult::TimingResult
TimingResult(bool valid_, double time_, double error_)
full constructor
Definition: IMuonHitTimingTool.h:42
Muon::IMuonHitTimingTool::TimingResult::time
float time
the actual time offset (ns) wrt the current bunch assuming the particle travelled in a straight line ...
Definition: IMuonHitTimingTool.h:49
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition: TrackSystemController.h:45
Muon::IMuonHitTimingTool::~IMuonHitTimingTool
virtual ~IMuonHitTimingTool()=default
Virtual destructor.
Muon::IMuonHitTimingTool::DeclareInterfaceID
DeclareInterfaceID(Muon::IMuonHitTimingTool, 1, 0)
Muon::IMuonHitTimingTool::TimingResult
simple struct holding the result of the tool
Definition: IMuonHitTimingTool.h:38
Muon::IMuonHitTimingTool
Tool to calculate the timing wrt to the current BC Depending to the implementation the tool can handl...
Definition: IMuonHitTimingTool.h:33
Muon::IMuonHitTimingTool::TimingResult::valid
bool valid
flag indicating whether the time was correctly calculated
Definition: IMuonHitTimingTool.h:45
MuonStationIndex.h
error
Definition: IImpactPoint3dEstimator.h:70