ATLAS Offline Software
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
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

Definition at line 24 of file SpacePointCollector.h.

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  {}

◆ 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  }

◆ 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  }

◆ 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.


The documentation for this class was generated from the following files:
ActsTrk::SpacePointCollector::ValueType
xAOD::SpacePoint ValueType
Definition: SpacePointCollector.h:24
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:55
beamspotman.n
n
Definition: beamspotman.py:731
ActsTrk::SpacePointCollector::m_storage
std::vector< const ValueType * > * m_storage
Definition: SpacePointCollector.h:74
ActsTrk::SpacePointCollector::get_impl
const ValueType & get_impl(std::size_t idx) const
Definition: SpacePointCollector.h:102
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
ActsTrk::SpacePointCollector::storage
const std::vector< const ValueType * > & storage() const
Definition: SpacePointCollector.h:108
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37