ATLAS Offline Software
Loading...
Searching...
No Matches
MuonCombinedTimingTool.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
6
8
9//================ Constructor =================================================
10
11Rec::MuonCombinedTimingTool::MuonCombinedTimingTool(const std::string& t, const std::string& n, const IInterface* p)
12 : AthAlgTool(t, n, p)
13{
14 declareInterface<IMuonCombinedTimingTool>(this);
15}
16
17//================ Initialisation =================================================
18
19StatusCode
21{
22
23 StatusCode sc = AlgTool::initialize();
24 if (sc.isFailure()) return sc;
25
26 if (!m_trtTimingTool.empty()) {
27 ATH_CHECK(m_trtTimingTool.retrieve());
28 ATH_MSG_DEBUG("Retrieved " << m_trtTimingTool.name());
29 }
30 if (!m_caloTimingTool.empty()) {
31 ATH_CHECK(m_caloTimingTool.retrieve());
32 ATH_MSG_DEBUG("Retrieved " << m_caloTimingTool.name());
33 }
34 if (!m_mdtSegmentTimingTool.empty()) {
36 ATH_MSG_DEBUG("Retrieved " << m_mdtSegmentTimingTool.name());
37 }
38 if (!m_rpcTimingTool.empty()) {
39 ATH_CHECK(m_rpcTimingTool.retrieve());
40 ATH_MSG_DEBUG("Retrieved " << m_rpcTimingTool.name());
41 }
42
43 ATH_MSG_DEBUG("initialize() successful in " << name());
44 return StatusCode::SUCCESS;
45}
46
47//============================================================================================
48std::vector<Trk::SpaceTimePoint*>
50{
51 std::vector<Trk::SpaceTimePoint*> spaceTimePoints; // empty vector
53 "This tool is not migrated to xAOD yet, please volunteer to update it if you need the information filled");
54
55 return spaceTimePoints;
56}
57
58
59// Helper function to figure out which is the appropriate segment container to retrieve
60// Based on the muon's author
63{
64 return nullptr;
65}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
#define ATH_MSG_DEBUG(x)
static Double_t sc
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
ToolHandle< Trk::ITrackTimingTool > m_rpcTimingTool
time calculation in subdetector responsibility: muon spectrometer (RPC timing)
virtual StatusCode initialize()
standard Athena-Algorithm method
ToolHandle< Trk::ITrackTimingTool > m_mdtSegmentTimingTool
time calculation in subdetector responsibility: muon spectrometer (T0 fit) for MDT and CSC
MuonCombinedTimingTool(const std::string &, const std::string &, const IInterface *)
ToolHandle< Trk::ITrackTimingTool > m_trtTimingTool
time calculation in subdetector responsibility: inner detector
virtual const Trk::SegmentCollection * getSegmentContainer(const xAOD::Muon &muon) const
ToolHandle< Trk::ITrackTimingTool > m_caloTimingTool
time calculation in subdetector responsibility: calorimeter
virtual std::vector< Trk::SpaceTimePoint * > timeMeasurements(const xAOD::Muon &muon) const
the main method providing the vector of space-time points
DataVector< Trk::Segment > SegmentCollection
Muon_v1 Muon
Reference the current persistent version: