ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrk::TrackStatePrinterTool Class Reference

#include <TrackStatePrinterTool.h>

Inheritance diagram for ActsTrk::TrackStatePrinterTool:
Collaboration diagram for ActsTrk::TrackStatePrinterTool:

Public Types

using MeasurementInfo

Public Member Functions

virtual ~TrackStatePrinterTool ()=default
virtual StatusCode initialize () override
 =========================================================================
void printMeasurements (const EventContext &ctx, const std::vector< const xAOD::UncalibratedMeasurementContainer * > &clusterContainers, const std::vector< size_t > &offsets) const
void printSeed (const Acts::GeometryContext &tgContext, const ActsTrk::Seed &seed, const Acts::BoundTrackParameters &initialParameters, const detail::MeasurementIndex &measurementIndexer, unsigned int iseed, bool isKF) const
template<typename track_container_t>
void printTrack (const Acts::GeometryContext &tgContext, const track_container_t &tracks, const typename track_container_t::TrackProxy &track, const detail::MeasurementIndex &measurementIndexer, bool rejected=false) const
template<typename track_state_proxy_t>
bool printTrackState (const Acts::GeometryContext &tgContext, const track_state_proxy_t &state, const detail::MeasurementIndex &measurementIndexer, bool useFiltered=false, bool newLine=true) const
 AthAlgTool (const std::string &type, const std::string &name, const IInterface *parent)
 Constructor with parameters:
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

template<class T>
using small_vector = boost::container::small_vector<T, N_SP_PER_MEAS>
typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

std::vector< std::vector< small_vector< const xAOD::SpacePoint * > > > addSpacePoints (const EventContext &ctx, const std::vector< const xAOD::UncalibratedMeasurementContainer * > &clusterContainers, const std::vector< size_t > &offset) const
void printMeasurementAssociatedSpacePoint (const Acts::GeometryContext &tgContext, const xAOD::UncalibratedMeasurement *measurement, const std::vector< small_vector< const xAOD::SpacePoint * > > &measToSp, size_t offset) const
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Static Private Member Functions

static void printParameters (const Acts::Surface &surface, const Acts::GeometryContext &tgContext, const Acts::BoundVector &bound)
static std::string actsSurfaceName (const Acts::Surface &surface)
static std::string trackStateName (Acts::ConstTrackStateType trackStateType)
 ========================================================================= file-local static functions and static TrackStatePrinter member functions.

Private Attributes

SG::ReadHandleKeyArray< xAOD::SpacePointContainerm_spacePointKey {this, "InputSpacePoints", {}, "Input Space Points for debugging"}
PublicToolHandle< ActsTrk::ITrackingGeometryToolm_trackingGeometryTool {this, "TrackingGeometryTool", ""}
detail::xAODUncalibMeasSurfAcc m_surfAcc {}
Gaudi::Property< bool > m_compareMeasurementTransforms {this, "compareMeasurementTransforms", false, "compare measurement coordinates transformed with Athena or ACTS"}
Gaudi::Property< bool > m_printFilteredStates {this, "printFilteredStates", false, "print track states during filtering"}
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Static Private Attributes

static constexpr unsigned int N_SP_PER_MEAS = 2

Detailed Description

Definition at line 45 of file TrackStatePrinterTool.h.

Member Typedef Documentation

◆ MeasurementInfo

Initial value:
std::tuple<size_t,
std::vector<const xAOD::SpacePoint *>>
const xAOD::UncalibratedMeasurement * ATLASUncalibSourceLink

Definition at line 84 of file TrackStatePrinterTool.h.

◆ small_vector

template<class T>
using ActsTrk::TrackStatePrinterTool::small_vector = boost::container::small_vector<T, N_SP_PER_MEAS>
private

Definition at line 104 of file TrackStatePrinterTool.h.

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ ~TrackStatePrinterTool()

virtual ActsTrk::TrackStatePrinterTool::~TrackStatePrinterTool ( )
virtualdefault

Member Function Documentation

◆ actsSurfaceName()

std::string ActsTrk::TrackStatePrinterTool::actsSurfaceName ( const Acts::Surface & surface)
staticprivate

Definition at line 62 of file TrackStatePrinterTool.cxx.

63 {
64 const auto type = std::min(surface.type(), Acts::Surface::SurfaceType::Other);
65 std::string name{Acts::Surface::s_surfaceTypeNames[type]};
66 static const std::map<Acts::SurfaceBounds::BoundsType, const char *> boundsNames{{
67 {Acts::SurfaceBounds::BoundsType::eCone, "Cone"},
68 {Acts::SurfaceBounds::BoundsType::eCylinder, "Cylinder"},
69 {Acts::SurfaceBounds::BoundsType::eDiamond, "Diamond"},
70 {Acts::SurfaceBounds::BoundsType::eDisc, "Disc"},
71 {Acts::SurfaceBounds::BoundsType::eEllipse, "Ellipse"},
72 {Acts::SurfaceBounds::BoundsType::eLine, "Line"},
73 {Acts::SurfaceBounds::BoundsType::eRectangle, "Rectangle"},
74 {Acts::SurfaceBounds::BoundsType::eTrapezoid, "Trapezoid"},
75 {Acts::SurfaceBounds::BoundsType::eTriangle, "Triangle"},
76 {Acts::SurfaceBounds::BoundsType::eDiscTrapezoid, "DiscTrapezoid"},
77 {Acts::SurfaceBounds::BoundsType::eConvexPolygon, "ConvexPolygon"},
78 {Acts::SurfaceBounds::BoundsType::eAnnulus, "Annulus"},
79 {Acts::SurfaceBounds::BoundsType::eBoundless, "Boundless"},
80 {Acts::SurfaceBounds::BoundsType::eOther, "Other"},
81 }};
82 if (auto it = boundsNames.find(surface.bounds().type());
83 it != boundsNames.end() && it->second != name)
84 {
85 name += ' ';
86 name += it->second;
87 }
88 return name;
89 }

◆ addSpacePoints()

std::vector< std::vector< TrackStatePrinterTool::small_vector< const xAOD::SpacePoint * > > > ActsTrk::TrackStatePrinterTool::addSpacePoints ( const EventContext & ctx,
const std::vector< const xAOD::UncalibratedMeasurementContainer * > & clusterContainers,
const std::vector< size_t > & offset ) const
private

Definition at line 500 of file TrackStatePrinterTool.cxx.

503 {
504 std::vector<std::vector<TrackStatePrinterTool::small_vector<const xAOD::SpacePoint *>>> measToSp{clusterContainers.size()};
505 for (std::size_t icontainer = 0; icontainer < clusterContainers.size(); ++icontainer)
506 {
507 measToSp[icontainer].resize(clusterContainers[icontainer]->size());
508 }
509
510 for (auto &spacePointKey : m_spacePointKey)
511 {
512 ATH_MSG_DEBUG("Retrieving from input SpacePoint collection '" << spacePointKey.key() << "' ...");
513 SG::ReadHandle<xAOD::SpacePointContainer> handle = SG::makeHandle(spacePointKey, ctx);
514 if (!handle.isValid())
515 {
516 ATH_MSG_ERROR("Error retrieving from input SpacePoint collection '" << spacePointKey.key() << "'");
517 continue;
518 }
519 ATH_MSG_DEBUG(" \\__ " << handle->size() << " elements!");
520 for (const auto *sp : *handle)
521 {
522 for (const xAOD::UncalibratedMeasurement *meas : sp->measurements())
523 {
524 if (!meas)
525 continue;
526 for (std::size_t icontainer = 0; icontainer < clusterContainers.size(); ++icontainer)
527 {
528 // This measurement may well be in a different clusterContainer. Skip all but the one we are interested in.
529 if (!(meas && meas->index() < clusterContainers[icontainer]->size() && meas == clusterContainers[icontainer]->at(meas->index())))
530 continue;
531 small_vector<const xAOD::SpacePoint *> &measSp = measToSp[icontainer].at(meas->index());
532 if (!measSp.empty())
533 {
534 ATH_MSG_INFO("Cluster "
535 << (meas->index() + offsets[icontainer])
536 << " used by SpacePoints at ("
537 << sp->globalPosition()[0] << ',' << sp->globalPosition()[1] << ',' << sp->globalPosition()[2]
538 << ") and ("
539 << measSp[0]->globalPosition()[0] << ',' << measSp[0]->globalPosition()[1] << ',' << measSp[0]->globalPosition()[2]
540 << ')');
541 }
542 measSp.push_back(sp);
543 }
544 }
545 }
546 }
547 return measToSp;
548 }
#define ATH_MSG_ERROR(x)
#define ATH_MSG_INFO(x)
#define ATH_MSG_DEBUG(x)
static Double_t sp
SG::ReadHandleKeyArray< xAOD::SpacePointContainer > m_spacePointKey
boost::container::small_vector< T, N_SP_PER_MEAS > small_vector
virtual bool isValid() override final
Can the handle be successfully dereferenced?
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
UncalibratedMeasurement_v1 UncalibratedMeasurement
Define the version of the uncalibrated measurement class.

◆ AthAlgTool()

AthAlgTool::AthAlgTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

Constructor with parameters:

Definition at line 31 of file AthAlgTool.cxx.

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ initialize()

StatusCode ActsTrk::TrackStatePrinterTool::initialize ( )
overridevirtual

=========================================================================

TrackStatePrinter class method definitions

Definition at line 423 of file TrackStatePrinterTool.cxx.

424 {
425 ATH_MSG_DEBUG("Initializing " << name() << "...");
426 ATH_MSG_DEBUG("Properties Summary:");
429
431 m_surfAcc = detail::xAODUncalibMeasSurfAcc{m_trackingGeometryTool.get()};
432 ATH_CHECK(m_spacePointKey.initialize());
433
434 return StatusCode::SUCCESS;
435 }
#define ATH_CHECK
Evaluate an expression and check for errors.
detail::xAODUncalibMeasSurfAcc m_surfAcc
PublicToolHandle< ActsTrk::ITrackingGeometryTool > m_trackingGeometryTool
Gaudi::Property< bool > m_printFilteredStates
Gaudi::Property< bool > m_compareMeasurementTransforms

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ msg()

MsgStream & AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ printMeasurementAssociatedSpacePoint()

void ActsTrk::TrackStatePrinterTool::printMeasurementAssociatedSpacePoint ( const Acts::GeometryContext & tgContext,
const xAOD::UncalibratedMeasurement * measurement,
const std::vector< small_vector< const xAOD::SpacePoint * > > & measToSp,
size_t offset ) const
private

Definition at line 338 of file TrackStatePrinterTool.cxx.

341 {
342 if (!measurement)
343 return;
344
345 std::cout << std::setw(5) << (measurement->index() + offset) << ' '
346 << std::setw(3) << measurement->numDimensions() << "D ";
347
348 const Acts::Surface *surface_ptr = m_surfAcc.get(measurement);
349 if (!surface_ptr)
350 {
351 std::cout << std::setw(20 + 22 + 20 + 2) << "** no surface for measurement **";
352 }
353 else
354 {
355 std::cout << std::left;
356 std::cout << std::setw(21) << actsSurfaceName(*surface_ptr) << ' '
357 << std::setw(22) << to_string(surface_ptr->geometryId()) << ' ';
358 std::cout << std::setw(20) << atlasSurfaceName(surface_ptr);
359 std::cout << std::right;
360 }
361
362 if (measurement->type() == xAOD::UncalibMeasType::PixelClusterType)
363 {
364 const auto loc = measurement->localPosition<2>().cast<double>();
365 printMeasurement(tgContext, surface_ptr, {loc, loc, -1, -1}, m_compareMeasurementTransforms);
366 }
367 else if (measurement->type() == xAOD::UncalibMeasType::StripClusterType)
368 {
369 const small_vector<const xAOD::SpacePoint *> &spvec = measToSp.at(measurement->index());
370 if (spvec.empty())
371 {
372 printMeasurement(tgContext, surface_ptr,
373 localPositionStrip2D(tgContext, *measurement, surface_ptr, nullptr),
375 }
376 else
377 {
378 size_t isp = 0;
379 for (auto *sp : spvec)
380 {
381 if (isp++)
382 {
383 std::cout << '\n'
384 << std::left
385 << std::setw(76) << to_string("** Spacepoint ", isp, " **")
386 << std::right;
387 }
388 printMeasurement(tgContext, surface_ptr,
389 localPositionStrip2D(tgContext, *measurement, surface_ptr, sp),
391 }
392 }
393 }
394 else if (measurement->type() == xAOD::UncalibMeasType::HGTDClusterType) {
395 const auto loc3D = measurement->localPosition<3>().cast<double>();
396 const std::tuple<Acts::Vector2, Amg::Vector2D, int, int> locTup = {Acts::Vector2{loc3D.head<2>()}, Amg::Vector2D{loc3D.head<2>()}, -1, -1};
397 printMeasurement(tgContext, surface_ptr, locTup, m_compareMeasurementTransforms);
398 }
399 std::cout << '\n';
400 }
static std::string actsSurfaceName(const Acts::Surface &surface)
size_t index() const
Return the index of this element within its container.
ConstVectorMap< N > localPosition() const
Returns the local position of the measurement.
virtual unsigned int numDimensions() const =0
Returns the number of dimensions of the measurement.
virtual xAOD::UncalibMeasType type() const =0
Returns the type of the measurement type as a simple enumeration.
static std::string atlasSurfaceName(const Acts::Surface *measurement_surface)
std::string to_string(const DetectorType &type)
static void printMeasurement(const Acts::GeometryContext &tgContext, const Acts::Surface *surface, const std::tuple< Acts::Vector2, Amg::Vector2D, int, int > &locData, bool compareMeasurementTransforms=false)
static std::tuple< Acts::Vector2, Amg::Vector2D, int, int > localPositionStrip2D(const Acts::GeometryContext &tgContext, const xAOD::UncalibratedMeasurement &measurement, const Acts::Surface *surface, const xAOD::SpacePoint *sp)
Eigen::Matrix< double, 2, 1 > Vector2D

◆ printMeasurements()

void ActsTrk::TrackStatePrinterTool::printMeasurements ( const EventContext & ctx,
const std::vector< const xAOD::UncalibratedMeasurementContainer * > & clusterContainers,
const std::vector< size_t > & offsets ) const

Definition at line 477 of file TrackStatePrinterTool.cxx.

479 {
480
481 Acts::GeometryContext tgContext = m_trackingGeometryTool->getGeometryContext(ctx).context();
482
483 auto measToSp = addSpacePoints(ctx, clusterContainers, offsets);
484
485 ATH_MSG_INFO("CKF input measurements:");
487
488 for (std::size_t icontainer = 0; icontainer < clusterContainers.size(); ++icontainer)
489 {
490 for (const auto *measurement : *clusterContainers[icontainer])
491 {
492 printMeasurementAssociatedSpacePoint(tgContext, measurement,
493 measToSp[icontainer], offsets[icontainer]);
494 }
495 }
496 std::cout << std::flush;
497 }
void printMeasurementAssociatedSpacePoint(const Acts::GeometryContext &tgContext, const xAOD::UncalibratedMeasurement *measurement, const std::vector< small_vector< const xAOD::SpacePoint * > > &measToSp, size_t offset) const
std::vector< std::vector< small_vector< const xAOD::SpacePoint * > > > addSpacePoints(const EventContext &ctx, const std::vector< const xAOD::UncalibratedMeasurementContainer * > &clusterContainers, const std::vector< size_t > &offset) const
static void printHeader(int type, bool extra=false)

◆ printParameters()

void ActsTrk::TrackStatePrinterTool::printParameters ( const Acts::Surface & surface,
const Acts::GeometryContext & tgContext,
const Acts::BoundVector & bound )
staticprivate

Definition at line 402 of file TrackStatePrinterTool.cxx.

405 {
406 auto p = Acts::transformBoundToFreeParameters(surface, tgContext, bound);
407 std::cout << std::fixed
408 << std::setw(10) << std::setprecision(4) << bound[Acts::eBoundLoc0] << ' '
409 << std::setw(10) << std::setprecision(4) << bound[Acts::eBoundLoc1] << ' '
410 << std::setw(9) << std::setprecision(3) << p.segment<2>(Acts::eFreePos0).norm() << ' '
411 << std::setw(9) << std::setprecision(3) << p[Acts::eFreePos2] << ' '
412 << std::setw(9) << std::setprecision(3) << std::atan2(p[Acts::eFreePos1], p[Acts::eFreePos0]) / Acts::UnitConstants::degree << ' '
413 << std::setw(9) << std::setprecision(5) << std::atanh(p[Acts::eFreePos2] / p.segment<3>(Acts::eFreePos0).norm()) << ' '
414 << std::setw(9) << std::setprecision(3) << p.segment<2>(Acts::eFreeDir0).norm() / p[Acts::eFreeQOverP] << ' '
415 << std::setw(9) << std::setprecision(3) << std::atan2(p[Acts::eFreeDir1], p[Acts::eFreeDir0]) / Acts::UnitConstants::degree << ' '
416 << std::setw(9) << std::setprecision(5) << std::atanh(p[Acts::eFreeDir2])
417 << std::defaultfloat << std::setprecision(-1);
418 }

◆ printSeed()

void ActsTrk::TrackStatePrinterTool::printSeed ( const Acts::GeometryContext & tgContext,
const ActsTrk::Seed & seed,
const Acts::BoundTrackParameters & initialParameters,
const detail::MeasurementIndex & measurementIndexer,
unsigned int iseed,
bool isKF ) const

Definition at line 438 of file TrackStatePrinterTool.cxx.

444 {
445 if (!isKF)
446 printHeader(1);
447
448 std::ostringstream os;
449 size_t nos = 0;
450 for (const auto *sp : seed.sp())
451 {
452 size_t nom = 0;
453 for (const auto *el : sp->measurements())
454 {
455 if (nom > 0)
456 os << '+';
457 else if (nos > 0)
458 os << ',';
459 ++nos;
460 ++nom;
461 os << measurementIndexer.index(*el);
462 }
463 }
464
465 std::cout << std::setw(5) << iseed << ' '
466 << std::left
467 << std::setw(4) << (!isKF ? "seed" : "KF") << ' '
468 << std::setw(21) << actsSurfaceName(initialParameters.referenceSurface()) << ' '
469 << std::setw(22) << to_string(os.str()) << ' '
470 << std::right;
471 printParameters(initialParameters.referenceSurface(), tgContext, initialParameters.parameters());
472 std::cout << '\n'
473 << std::flush;
474 }
static void printParameters(const Acts::Surface &surface, const Acts::GeometryContext &tgContext, const Acts::BoundVector &bound)

◆ printTrack()

template<typename track_container_t>
void ActsTrk::TrackStatePrinterTool::printTrack ( const Acts::GeometryContext & tgContext,
const track_container_t & tracks,
const typename track_container_t::TrackProxy & track,
const detail::MeasurementIndex & measurementIndexer,
bool rejected = false ) const

◆ printTrackState()

template<typename track_state_proxy_t>
bool ActsTrk::TrackStatePrinterTool::printTrackState ( const Acts::GeometryContext & tgContext,
const track_state_proxy_t & state,
const detail::MeasurementIndex & measurementIndexer,
bool useFiltered = false,
bool newLine = true ) const

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ trackStateName()

std::string ActsTrk::TrackStatePrinterTool::trackStateName ( Acts::ConstTrackStateType trackStateType)
staticprivate

========================================================================= file-local static functions and static TrackStatePrinter member functions.

TrackStatePrinter class method definitions comes later.

Definition at line 42 of file TrackStatePrinterTool.cxx.

43 {
44 static constexpr std::array<std::tuple<bool, Acts::TrackStateFlag, char>, 6> trackStateNames{{
45 {false, Acts::TrackStateFlag::ParameterFlag, '-'},
46 {true, Acts::TrackStateFlag::MeasurementFlag, 'M'},
47 {true, Acts::TrackStateFlag::OutlierFlag, 'O'},
48 {true, Acts::TrackStateFlag::HoleFlag, 'H'},
49 {true, Acts::TrackStateFlag::MaterialFlag, 'm'},
50 {true, Acts::TrackStateFlag::SharedHitFlag, 'S'},
51 }};
52 std::string s;
53 for (const auto &[b, f, c] : trackStateNames)
54 {
55 if (trackStateType.test(f) == b)
56 s += c;
57 }
58 return s;
59 }

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_compareMeasurementTransforms

Gaudi::Property<bool> ActsTrk::TrackStatePrinterTool::m_compareMeasurementTransforms {this, "compareMeasurementTransforms", false, "compare measurement coordinates transformed with Athena or ACTS"}
private

Definition at line 98 of file TrackStatePrinterTool.h.

98{this, "compareMeasurementTransforms", false, "compare measurement coordinates transformed with Athena or ACTS"};

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_printFilteredStates

Gaudi::Property<bool> ActsTrk::TrackStatePrinterTool::m_printFilteredStates {this, "printFilteredStates", false, "print track states during filtering"}
private

Definition at line 99 of file TrackStatePrinterTool.h.

99{this, "printFilteredStates", false, "print track states during filtering"};

◆ m_spacePointKey

SG::ReadHandleKeyArray<xAOD::SpacePointContainer> ActsTrk::TrackStatePrinterTool::m_spacePointKey {this, "InputSpacePoints", {}, "Input Space Points for debugging"}
private

Definition at line 90 of file TrackStatePrinterTool.h.

90{this, "InputSpacePoints", {}, "Input Space Points for debugging"};

◆ m_surfAcc

detail::xAODUncalibMeasSurfAcc ActsTrk::TrackStatePrinterTool::m_surfAcc {}
private

Definition at line 95 of file TrackStatePrinterTool.h.

95{};

◆ m_trackingGeometryTool

PublicToolHandle<ActsTrk::ITrackingGeometryTool> ActsTrk::TrackStatePrinterTool::m_trackingGeometryTool {this, "TrackingGeometryTool", ""}
private

Definition at line 93 of file TrackStatePrinterTool.h.

93{this, "TrackingGeometryTool", ""};

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ N_SP_PER_MEAS

unsigned int ActsTrk::TrackStatePrinterTool::N_SP_PER_MEAS = 2
staticconstexprprivate

Definition at line 102 of file TrackStatePrinterTool.h.


The documentation for this class was generated from the following files: