ATLAS Offline Software
Public Types | Public Member Functions | Private Attributes | List of all members
ActsTrk::SeedContainer Struct Reference

#include <SeedContainer.h>

Inheritance diagram for ActsTrk::SeedContainer:
Collaboration diagram for ActsTrk::SeedContainer:

Public Types

using Base = Acts::SeedContainer2
 
using value_type = Seed
 
using const_iterator = Acts::detail::ContainerIterator< SeedContainer, value_type, Index, true >
 
using SpacePointValue = const xAOD::SpacePoint *
 
using SpacePointContainer = std::vector< SpacePointValue >
 
using SpacePointValueBase = std::remove_const_t< std::remove_pointer_t< SpacePointValue > >
 
using Seed1 = Acts::Seed< SpacePointValueBase, 3ul >
 

Public Member Functions

const_iterator begin () const noexcept
 
const_iterator end () const noexcept
 
Seed at (Index index) const
 
Seed operator[] (Index index) const noexcept
 
Acts::MutableSeedProxy2 push_back (Acts::MutableSeedProxy2 seed)
 
Acts::MutableSeedProxy2 push_back (Acts::SpacePointIndexSubset2 sp)
 
const SpacePointContainerspacePoints () const noexcept
 
SpacePointContainerspacePoints () noexcept
 
Acts::MutableSeedProxy2 push_back (std::unique_ptr< Seed1 > pSeed)
 
template<template< typename > class seed_type, typename container_t >
Acts::MutableSeedProxy2 push_back (const seed_type< Acts::SpacePointProxy< container_t >> *pSeed)
 
Acts::MutableSeedProxy2 push_back (const Seed1 *pSeed)
 
template<typename seed_type , typename spindex_fun >
Acts::MutableSeedProxy2 push_back (seed_type *pSeed, spindex_fun spindex)
 

Private Attributes

SpacePointContainer m_spacePoints
 

Detailed Description

Definition at line 19 of file SeedContainer.h.

Member Typedef Documentation

◆ Base

using ActsTrk::SeedContainer::Base = Acts::SeedContainer2

Definition at line 20 of file SeedContainer.h.

◆ const_iterator

using ActsTrk::SeedContainer::const_iterator = Acts::detail::ContainerIterator<SeedContainer, value_type, Index, true>

Definition at line 22 of file SeedContainer.h.

◆ Seed1

Definition at line 27 of file SeedContainer.h.

◆ SpacePointContainer

Definition at line 24 of file SeedContainer.h.

◆ SpacePointValue

Definition at line 23 of file SeedContainer.h.

◆ SpacePointValueBase

using ActsTrk::SeedContainer::SpacePointValueBase = std::remove_const_t<std::remove_pointer_t<SpacePointValue> >

Definition at line 26 of file SeedContainer.h.

◆ value_type

Definition at line 21 of file SeedContainer.h.

Member Function Documentation

◆ at()

Seed ActsTrk::SeedContainer::at ( Index  index) const
inline

Definition at line 87 of file SeedContainer.h.

87 { return static_cast<Seed>(Base::at(index)); }

◆ begin()

const_iterator ActsTrk::SeedContainer::begin ( ) const
inlinenoexcept

Definition at line 29 of file SeedContainer.h.

29 { return const_iterator(*this, 0); }

◆ end()

const_iterator ActsTrk::SeedContainer::end ( ) const
inlinenoexcept

Definition at line 30 of file SeedContainer.h.

30 { return const_iterator(*this, size()); }

◆ operator[]()

Seed ActsTrk::SeedContainer::operator[] ( Index  index) const
inlinenoexcept

Definition at line 88 of file SeedContainer.h.

88 { return static_cast<Seed>(Base::operator[](index)); }

◆ push_back() [1/6]

Acts::MutableSeedProxy2 ActsTrk::SeedContainer::push_back ( Acts::MutableSeedProxy2  seed)
inline

Definition at line 89 of file SeedContainer.h.

89  {
90  auto newseed = push_back(seed.spacePointIndices());
91  newseed.vertexZ() = seed.vertexZ();
92  newseed.quality() = seed.quality();
93  return newseed;
94  }

◆ push_back() [2/6]

Acts::MutableSeedProxy2 ActsTrk::SeedContainer::push_back ( Acts::SpacePointIndexSubset2  sp)
inline

Definition at line 35 of file SeedContainer.h.

35  {
36  Acts::MutableSeedProxy2 seed = createSeed();
37  seed.assignSpacePointIndices(sp);
38  return seed;
39  }

◆ push_back() [3/6]

Acts::MutableSeedProxy2 ActsTrk::SeedContainer::push_back ( const Seed1 pSeed)
inline

Definition at line 55 of file SeedContainer.h.

55  {
56  return push_back(pSeed, [this](SpacePointValue sp) -> Acts::SpacePointIndex2 {
57  auto it = std::find(m_spacePoints.begin(), m_spacePoints.end(), sp);
58  if (it == m_spacePoints.end()) {
59  m_spacePoints.push_back(sp);
60  return m_spacePoints.size() - 1ul;
61  } else {
62  return std::distance(m_spacePoints.begin(), it);
63  }
64  });
65  }

◆ push_back() [4/6]

template<template< typename > class seed_type, typename container_t >
Acts::MutableSeedProxy2 ActsTrk::SeedContainer::push_back ( const seed_type< Acts::SpacePointProxy< container_t >> *  pSeed)
inline

Definition at line 47 of file SeedContainer.h.

47  {
48  return push_back(pSeed, [this](const Acts::SpacePointProxy<container_t> *sp) -> Acts::SpacePointIndex2 {
49  assert(sp->index() < m_spacePoints.size());
50  assert(m_spacePoints[sp->index()] == &sp->externalSpacePoint());
51  std::ignore = m_spacePoints.size(); // Silence Clang warning about unused lambda capture
52  return sp->index();
53  });
54  }

◆ push_back() [5/6]

template<typename seed_type , typename spindex_fun >
Acts::MutableSeedProxy2 ActsTrk::SeedContainer::push_back ( seed_type *  pSeed,
spindex_fun  spindex 
)
inline

Definition at line 97 of file SeedContainer.h.

97  {
98  std::vector<Acts::SpacePointIndex2> spacePointIndices;
99  spacePointIndices.reserve(pSeed->sp().size());
100  for (auto sp2 : pSeed->sp()) {
101  Acts::SpacePointIndex2 ind = spindex(sp2);
102  spacePointIndices.push_back(ind);
103  }
104  Acts::MutableSeedProxy2 seed = createSeed();
105  seed.assignSpacePointIndices(spacePointIndices);
106  seed.vertexZ() = pSeed->z();
107  seed.quality() = pSeed->seedQuality();
108  return seed;
109  }

◆ push_back() [6/6]

Acts::MutableSeedProxy2 ActsTrk::SeedContainer::push_back ( std::unique_ptr< Seed1 pSeed)
inline

Definition at line 45 of file SeedContainer.h.

45 { return push_back(pSeed.get()); }

◆ spacePoints() [1/2]

const SpacePointContainer& ActsTrk::SeedContainer::spacePoints ( ) const
inlinenoexcept

Definition at line 41 of file SeedContainer.h.

41 { return m_spacePoints; }

◆ spacePoints() [2/2]

SpacePointContainer& ActsTrk::SeedContainer::spacePoints ( )
inlinenoexcept

Definition at line 42 of file SeedContainer.h.

42 { return m_spacePoints; }

Member Data Documentation

◆ m_spacePoints

SpacePointContainer ActsTrk::SeedContainer::m_spacePoints
private

Definition at line 70 of file SeedContainer.h.


The documentation for this struct was generated from the following file:
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
index
Definition: index.py:1
skel.it
it
Definition: skel.GENtoEVGEN.py:407
ActsTrk::SeedContainer::m_spacePoints
SpacePointContainer m_spacePoints
Definition: SeedContainer.h:70
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
DiTauMassTools::ignore
void ignore(T &&)
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:58
ActsTrk::SeedContainer::SpacePointValue
const xAOD::SpacePoint * SpacePointValue
Definition: SeedContainer.h:23
Generate_dsid_ranseed.seed
seed
Definition: Generate_dsid_ranseed.py:10
ActsTrk::SeedContainer::const_iterator
Acts::detail::ContainerIterator< SeedContainer, value_type, Index, true > const_iterator
Definition: SeedContainer.h:22
detail::ul
unsigned long ul
Definition: PrimitiveHelpers.h:46
ActsTrk::SeedContainer::push_back
Acts::MutableSeedProxy2 push_back(Acts::MutableSeedProxy2 seed)
Definition: SeedContainer.h:89
columnar::operator[]
ObjectId< CI, CM > operator[](std::size_t) const noexcept
Definition: ObjectRange.h:173
Amg::distance
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
Definition: GeoPrimitivesHelpers.h:54