ATLAS Offline Software
Static Public Member Functions | Static Public Attributes | List of all members
ActsTrk::detail::ExpectedLayerPatternHelper Struct Reference

Helper functions to encode the expected layer patterns in separate columns. More...

#include <ExpectedHitUtils.h>

Collaboration diagram for ActsTrk::detail::ExpectedLayerPatternHelper:

Static Public Member Functions

template<typename track_container_t >
static void add (track_container_t &trackContainer)
 
template<typename track_container_t >
static bool exists (track_container_t &trackContainer)
 
template<typename track_proxy_t >
static void set (track_proxy_t &track, std::array< unsigned int, 4 > values)
 
template<typename track_proxy_t >
static std::array< unsigned int, 4 > get (const track_proxy_t &track)
 

Static Public Attributes

static const std::string_view kExpectedLayerPatternColumnName = "expectedLayerPattern"
 
static const std::string kPixelBarrel = std::string{kExpectedLayerPatternColumnName}+"_PixelBarrel"
 
static const std::string kPixelEndcap = std::string{kExpectedLayerPatternColumnName}+"_PixelEndcap"
 
static const std::string kStripBarrel = std::string{kExpectedLayerPatternColumnName}+"_StripBarrel"
 
static const std::string kStripEndcap = std::string{kExpectedLayerPatternColumnName}+"_StripEndcap"
 

Detailed Description

Helper functions to encode the expected layer patterns in separate columns.

The reason for this is that the xAOD backend does not currently support the native std::array that is used to store these.

Definition at line 25 of file ExpectedHitUtils.h.

Member Function Documentation

◆ add()

template<typename track_container_t >
static void ActsTrk::detail::ExpectedLayerPatternHelper::add ( track_container_t &  trackContainer)
inlinestatic

Definition at line 35 of file ExpectedHitUtils.h.

35  {
36  trackContainer.template addColumn<unsigned int>(kPixelBarrel);
37  trackContainer.template addColumn<unsigned int>(kPixelEndcap);
38  trackContainer.template addColumn<unsigned int>(kStripBarrel);
39  trackContainer.template addColumn<unsigned int>(kStripEndcap);
40  }

◆ exists()

template<typename track_container_t >
static bool ActsTrk::detail::ExpectedLayerPatternHelper::exists ( track_container_t &  trackContainer)
inlinestatic

Definition at line 43 of file ExpectedHitUtils.h.

43  {
44  return trackContainer.hasColumn(kPixelBarrel)
45  && trackContainer.hasColumn(kPixelEndcap)
46  && trackContainer.hasColumn(kStripBarrel)
47  && trackContainer.hasColumn(kStripEndcap);
48  }

◆ get()

template<typename track_proxy_t >
static std::array<unsigned int, 4> ActsTrk::detail::ExpectedLayerPatternHelper::get ( const track_proxy_t &  track)
inlinestatic

Definition at line 63 of file ExpectedHitUtils.h.

63  {
64  static const Acts::ConstProxyAccessor<unsigned int> pixelBarrel{kPixelBarrel};
65  static const Acts::ConstProxyAccessor<unsigned int> pixelEndcap{kPixelEndcap};
66  static const Acts::ConstProxyAccessor<unsigned int> stripBarrel{kStripBarrel};
67  static const Acts::ConstProxyAccessor<unsigned int> stripEndcap{kStripEndcap};
68 
69  return {
70  pixelBarrel(track),
74  };
75  }

◆ set()

template<typename track_proxy_t >
static void ActsTrk::detail::ExpectedLayerPatternHelper::set ( track_proxy_t &  track,
std::array< unsigned int, 4 >  values 
)
inlinestatic

Definition at line 51 of file ExpectedHitUtils.h.

51  {
52  static const Acts::ProxyAccessor<unsigned int> pixelBarrel{kPixelBarrel};
53  static const Acts::ProxyAccessor<unsigned int> pixelEndcap{kPixelEndcap};
54  static const Acts::ProxyAccessor<unsigned int> stripBarrel{kStripBarrel};
55  static const Acts::ProxyAccessor<unsigned int> stripEndcap{kStripEndcap};
56  pixelBarrel(track) = values.at(0);
57  pixelEndcap(track) = values.at(1);
58  stripBarrel(track) = values.at(2);
59  stripEndcap(track) = values.at(3);
60  }

Member Data Documentation

◆ kExpectedLayerPatternColumnName

const std::string_view ActsTrk::detail::ExpectedLayerPatternHelper::kExpectedLayerPatternColumnName = "expectedLayerPattern"
inlinestatic

Definition at line 26 of file ExpectedHitUtils.h.

◆ kPixelBarrel

const std::string ActsTrk::detail::ExpectedLayerPatternHelper::kPixelBarrel = std::string{kExpectedLayerPatternColumnName}+"_PixelBarrel"
inlinestatic

Definition at line 28 of file ExpectedHitUtils.h.

◆ kPixelEndcap

const std::string ActsTrk::detail::ExpectedLayerPatternHelper::kPixelEndcap = std::string{kExpectedLayerPatternColumnName}+"_PixelEndcap"
inlinestatic

Definition at line 29 of file ExpectedHitUtils.h.

◆ kStripBarrel

const std::string ActsTrk::detail::ExpectedLayerPatternHelper::kStripBarrel = std::string{kExpectedLayerPatternColumnName}+"_StripBarrel"
inlinestatic

Definition at line 30 of file ExpectedHitUtils.h.

◆ kStripEndcap

const std::string ActsTrk::detail::ExpectedLayerPatternHelper::kStripEndcap = std::string{kExpectedLayerPatternColumnName}+"_StripEndcap"
inlinestatic

Definition at line 31 of file ExpectedHitUtils.h.


The documentation for this struct was generated from the following file:
Trk::stripBarrel
@ stripBarrel
Definition: DetailedHitInfo.h:17
ActsTrk::detail::ExpectedLayerPatternHelper::kPixelEndcap
static const std::string kPixelEndcap
Definition: ExpectedHitUtils.h:29
python.Bindings.values
values
Definition: Control/AthenaPython/python/Bindings.py:808
Trk::stripEndcap
@ stripEndcap
Definition: DetailedHitInfo.h:18
Trk::pixelEndcap
@ pixelEndcap
Definition: DetailedHitInfo.h:16
python.TrackLeptonConfig.trackContainer
string trackContainer
Definition: TrackLeptonConfig.py:23
ActsTrk::detail::ExpectedLayerPatternHelper::kStripBarrel
static const std::string kStripBarrel
Definition: ExpectedHitUtils.h:30
ActsTrk::detail::ExpectedLayerPatternHelper::kPixelBarrel
static const std::string kPixelBarrel
Definition: ExpectedHitUtils.h:28
xAOD::track
@ track
Definition: TrackingPrimitives.h:513
ActsTrk::detail::ExpectedLayerPatternHelper::kStripEndcap
static const std::string kStripEndcap
Definition: ExpectedHitUtils.h:31