Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
19 : base_class(
t,
n,
p),
21 m_haveIdCnvTool(false),
22 m_haveMuonCnvTool(false),
25 m_doTrackOverlay(false),
29 "If true (default), attempt to retrieve Muon helper tool and "
30 "convert Muon objects.");
31 declareProperty(
"DoID",
m_doID,
32 "If true (default), attempt to retrieve Inner Detector "
33 "helper tool and convert ID objects.");
35 "If true, ID on-track conversion tools will look for "
36 "background PRD collections");
38 "Maximum number of errors that will be reported");
42 if (m_errCount > m_maxErrCount)
44 <<
" WARNING or ERROR messages");
54 if (!m_doID && !m_doMuons) {
56 "This tool has been configured without either Muons or ID, and so "
57 "can't do anything. Problems likely.");
61 if (m_doID && !m_idCnvTool.empty()) {
62 if (m_idCnvTool.retrieve().isFailure()) {
64 "Failed to retrieve InDet helper tool "
66 <<
". Will not be able to recreate ID Surfaces / Det Elements.");
70 m_haveIdCnvTool =
true;
73 m_idCnvTool.setTypeAndName(
"");
76 if (m_doMuons && !m_muonCnvTool.empty()) {
77 if (m_muonCnvTool.retrieve().isFailure()) {
79 "Failed to retrieve Muon helper tool "
81 <<
". Will not be able to recreate ID Surfaces / Det Elements.");
85 m_haveMuonCnvTool =
true;
88 m_muonCnvTool.setTypeAndName(
"");
92 if (!m_haveIdCnvTool && !m_haveMuonCnvTool) {
94 "Failed to retrieve either and InDet or a Muon tool. Will not be able "
95 "to recreate surfaces / detector elements.");
99 return StatusCode::SUCCESS;
103 msg() <<
"Finalize().";
105 msg() <<
" Tried to print " << m_errCount
106 <<
" ERROR/WARNING messages (with maximum permissable = "
107 << m_maxErrCount <<
")";
109 return StatusCode::SUCCESS;
114 if (m_detID ==
nullptr)
117 if (m_detID->is_indet(
id)) {
118 if (m_haveIdCnvTool) {
119 return &(*m_idCnvTool);
121 if ((m_errCount++) < m_maxErrCount)
126 if (m_detID->is_muon(
id)) {
127 if (m_haveMuonCnvTool) {
128 return &(*m_muonCnvTool);
130 if ((m_errCount++) < m_maxErrCount)
132 "Muon RIO_OnTrack, but have no muon cnv tool. Cannot set check "
139 if ((m_errCount++) < m_maxErrCount) {
140 std::string
ident = m_detID->show_to_string(
id);
149 const Surface* surface =
nullptr;
151 if (cnvTool !=
nullptr) {
153 if (detEl !=
nullptr)
154 surface = &(detEl->
surface(
id));
155 else if ((m_errCount++) < m_maxErrCount)
157 <<
id <<
" Returning 0.");
159 if ((m_errCount++) < m_maxErrCount)
161 "getSurface: could not get cnv tool for Identifier:" <<
id);
169 if (cnvTool !=
nullptr) {
172 const type_info&
info =
typeid(*RoT);
173 if ((m_errCount++) < m_maxErrCount)
175 "recreateRIO_OnTrack: could not get cnv tool. Returning without "
176 "correctly filling ROT of type: "
183 if (cnvTool !=
nullptr) {
186 if ((m_errCount++) < m_maxErrCount)
187 msg() <<
"prepareRIO_OnTrack could not find appropriate tool to prepare: "
188 << *RoT << std::endl;
194 ELIndex_t&
index)
const {
196 if (cnvTool !=
nullptr) {
199 if ((m_errCount++) < m_maxErrCount)
200 msg() <<
"prepareRIO_OnTrack could not find appropriate tool to prepare: "
201 << *RoT << std::endl;
#define ATH_MSG_VERBOSE(x)
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual const Surface & surface() const =0
Return surface associated with this detector element.
#define ATH_MSG_WARNING(x)
Identifier identify() const
return the identifier -extends MeasurementBase