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

#include <SpacePointCollector.h>

Collaboration diagram for ActsTrk::SpacePointCollector:

Public Types

using ValueType = xAOD::SpacePoint

Public Member Functions

 SpacePointCollector (std::vector< const ValueType * > &externalStorage)
 SpacePointCollector (const SpacePointCollector &)=delete
 SpacePointCollector (SpacePointCollector &&) noexcept=default
SpacePointCollectoroperator= (const SpacePointCollector &)=delete
SpacePointCollectoroperator= (SpacePointCollector &&) noexcept=default
virtual ~SpacePointCollector ()=default
std::size_t size_impl () const
float x_impl (std::size_t idx) const
float y_impl (std::size_t idx) const
float z_impl (std::size_t idx) const
float varianceR_impl (std::size_t idx) const
float varianceZ_impl (std::size_t idx) const
const ValueTypeget_impl (std::size_t idx) const
std::any component_impl (Acts::HashedString key, std::size_t n) const

Private Member Functions

const std::vector< const ValueType * > & storage () const
std::vector< const ValueType * > & storage ()

Private Attributes

std::vector< const ValueType * > * m_storage {nullptr}

Detailed Description

Definition at line 20 of file SpacePointCollector.h.

Member Typedef Documentation

◆ ValueType

Constructor & Destructor Documentation

◆ SpacePointCollector() [1/3]

ActsTrk::SpacePointCollector::SpacePointCollector ( std::vector< const ValueType * > & externalStorage)

Definition at line 9 of file SpacePointCollector.cxx.

10 : m_storage(&externalStorage)
11 {}
std::vector< const ValueType * > * m_storage

◆ SpacePointCollector() [2/3]

ActsTrk::SpacePointCollector::SpacePointCollector ( const SpacePointCollector & )
delete

◆ SpacePointCollector() [3/3]

ActsTrk::SpacePointCollector::SpacePointCollector ( SpacePointCollector && )
defaultnoexcept

◆ ~SpacePointCollector()

virtual ActsTrk::SpacePointCollector::~SpacePointCollector ( )
virtualdefault

Member Function Documentation

◆ component_impl()

std::any ActsTrk::SpacePointCollector::component_impl ( Acts::HashedString key,
std::size_t n ) const
inline

Definition at line 45 of file SpacePointCollector.h.

45 {
46 using namespace Acts::HashedStringLiteral;
47
48 const ValueType& sp = get_impl(n);
49 static const SG::ConstAccessor<xAOD::ArrayFloat3> topStripDirAcc("topStripDirection");
50 if (not topStripDirAcc.isAvailable(sp)) {
51 throw std::runtime_error("no such component " + std::to_string(key) + " for this space point");
52 }
53
54 switch (key) {
55 case "TopStripVector"_hash:
56 return Acts::Vector3( sp.topHalfStripLength() * sp.topStripDirection().cast<double>() );
57 case "BottomStripVector"_hash:
58 return Acts::Vector3( sp.bottomHalfStripLength() * sp.bottomStripDirection().cast<double>() );
59 case "StripCenterDistance"_hash:
60 return Acts::Vector3( sp.stripCenterDistance().cast<double>() );
61 case "TopStripCenterPosition"_hash:
62 return Acts::Vector3( sp.topStripCenter().cast<double>() );
63 default:
64 throw std::runtime_error("no such component " + std::to_string(key));
65 }
66 }
static Double_t sp
const ValueType & get_impl(std::size_t idx) const

◆ get_impl()

const SpacePointCollector::ValueType & ActsTrk::SpacePointCollector::get_impl ( std::size_t idx) const
inline

Definition at line 102 of file SpacePointCollector.h.

103 {
104 return *storage()[idx];
105 }
const std::vector< const ValueType * > & storage() const

◆ operator=() [1/2]

SpacePointCollector & ActsTrk::SpacePointCollector::operator= ( const SpacePointCollector & )
delete

◆ operator=() [2/2]

SpacePointCollector & ActsTrk::SpacePointCollector::operator= ( SpacePointCollector && )
defaultnoexcept

◆ size_impl()

std::size_t ActsTrk::SpacePointCollector::size_impl ( ) const
inline

Definition at line 78 of file SpacePointCollector.h.

79 { return storage().size(); }

◆ storage() [1/2]

std::vector< const typename SpacePointCollector::ValueType * > & ActsTrk::SpacePointCollector::storage ( )
inlineprivate

Definition at line 112 of file SpacePointCollector.h.

113 { return *m_storage; }

◆ storage() [2/2]

const std::vector< const typename SpacePointCollector::ValueType * > & ActsTrk::SpacePointCollector::storage ( ) const
inlineprivate

Definition at line 108 of file SpacePointCollector.h.

109 { return *m_storage; }

◆ varianceR_impl()

float ActsTrk::SpacePointCollector::varianceR_impl ( std::size_t idx) const
inline

Definition at line 94 of file SpacePointCollector.h.

95 { return storage()[idx]->varianceR(); }

◆ varianceZ_impl()

float ActsTrk::SpacePointCollector::varianceZ_impl ( std::size_t idx) const
inline

Definition at line 98 of file SpacePointCollector.h.

99 { return storage()[idx]->varianceZ(); }

◆ x_impl()

float ActsTrk::SpacePointCollector::x_impl ( std::size_t idx) const
inline

Definition at line 82 of file SpacePointCollector.h.

83 { return storage()[idx]->x(); }

◆ y_impl()

float ActsTrk::SpacePointCollector::y_impl ( std::size_t idx) const
inline

Definition at line 86 of file SpacePointCollector.h.

87 { return storage()[idx]->y(); }

◆ z_impl()

float ActsTrk::SpacePointCollector::z_impl ( std::size_t idx) const
inline

Definition at line 90 of file SpacePointCollector.h.

91 { return storage()[idx]->z(); }

Member Data Documentation

◆ m_storage

std::vector<const ValueType*>* ActsTrk::SpacePointCollector::m_storage {nullptr}
private

Definition at line 74 of file SpacePointCollector.h.

74{nullptr};

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