ATLAS Offline Software
Loading...
Searching...
No Matches
VertexMapper.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
6// VertexMapper.h, (c) ATLAS Detector software
8
9#ifndef TRKDETDESCRTOOLS_VERTEXMAPPER_H
10#define TRKDETDESCRTOOLS_VERTEXMAPPER_H
11
12// Amg
14// Gaudi & Athena
16#include "GaudiKernel/IIncidentListener.h"
17// Trk
19// ROOT
20#include "TTree.h"
21#include "TString.h"
22
24
25class TTree;
26
27namespace Trk {
28
29 class TrackingGeometry;
30
40
42 public AthAlgTool, virtual public IVertexMapper {
43
44 public:
45
47 VertexMapper(const std::string&,
48 const std::string&,
49 const IInterface*);
50
53
55 void handle( const Incident& inc );
56
57 private:
58
60 StatusCode updateTrackingGeometry() const;
61
63 const TrackingGeometry& trackingGeometry() const;
64
65 mutable const TrackingGeometry* m_trackingGeometry = nullptr;
66 Gaudi::Property<std::string> m_trackingGeometryName
67 {this, "TrackingGeometry", "AtlasTrackingGeometry",
68 "Name of the TrackingGeometry as given in Detector Store"};
69
70 };
71
73 if (!m_trackingGeometry && updateTrackingGeometry().isFailure()){
74 ATH_MSG_FATAL("Could not load TrackingGeometry with name '" << m_trackingGeometryName << "'. Aborting." );
75 throw GaudiException("VertexMapper", "Problem with TrackingGeometry loading.", StatusCode::FAILURE);
76 }
77 return (*m_trackingGeometry);
78 }
79
80} // end of namespace
81
82#endif // TRKDETDESCRTOOLS_VERTEXMAPPER_H
83
#define ATH_MSG_FATAL(x)
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Interface class IVertexMapper.
The TrackingGeometry class is the owner of the constructed TrackingVolumes.
const TrackingGeometry & trackingGeometry() const
retrieve the tracking geometry
MappedVertex mapToLocal(const Amg::Vector3D &vertex) const
Record the vertex into the local frame of the closest module.
void handle(const Incident &inc)
Handle the incident from the incident service.
const TrackingGeometry * m_trackingGeometry
the tracking geometry owned by the navigator
Gaudi::Property< std::string > m_trackingGeometryName
VertexMapper(const std::string &, const std::string &, const IInterface *)
AlgTool like constructor.
StatusCode updateTrackingGeometry() const
< retrieve TrackingGeometry
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.