ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ForwardTracker::Beamline Class Reference

#include <Beamline.h>

Collaboration diagram for ForwardTracker::Beamline:

Public Member Functions

 Beamline ()
 
 Beamline (IBeamElement::ConstListIter_t, IBeamElement::ConstListIter_t)
 
 Beamline (const Beamline &)
 
Beamlineoperator= (Beamline rhs)
 
void track (IParticle &) const
 
std::string str () const
 

Private Member Functions

void swap (Beamline &other)
 

Private Attributes

IBeamElement::Container_t m_elements
 

Detailed Description

Definition at line 16 of file ForwardTracker/ForwardTracker/Beamline.h.

Constructor & Destructor Documentation

◆ Beamline() [1/3]

ForwardTracker::Beamline::Beamline ( )
inline

Definition at line 20 of file ForwardTracker/ForwardTracker/Beamline.h.

20 {};

◆ Beamline() [2/3]

ForwardTracker::Beamline::Beamline ( IBeamElement::ConstListIter_t  begin,
IBeamElement::ConstListIter_t  end 
)

Definition at line 38 of file ForwardTracker/src/Beamline.cxx.

38  {
39 
41  IBeamElement::Iter_t tempIter = findBeamLineEnd(temp);
42  IBeamElement::Container_t temp2(temp.begin(), tempIter);
43  m_elements.swap(temp2);
44  }

◆ Beamline() [3/3]

ForwardTracker::Beamline::Beamline ( const Beamline rhs)

Definition at line 46 of file ForwardTracker/src/Beamline.cxx.

46  {
47 
48  IBeamElement::Container_t temp = rhs.m_elements;
49  m_elements.swap(temp);
50  }

Member Function Documentation

◆ operator=()

Beamline& ForwardTracker::Beamline::operator= ( Beamline  rhs)
inline

Definition at line 24 of file ForwardTracker/ForwardTracker/Beamline.h.

24 { this->swap(rhs); return *this; }

◆ str()

std::string ForwardTracker::Beamline::str ( ) const

Definition at line 103 of file ForwardTracker/src/Beamline.cxx.

103 { return (std::for_each(m_elements.begin(), m_elements.end(), Stringer())).str(); }

◆ swap()

void ForwardTracker::Beamline::swap ( Beamline other)
inlineprivate

Definition at line 34 of file ForwardTracker/ForwardTracker/Beamline.h.

34 { m_elements.swap(other.m_elements); }

◆ track()

void ForwardTracker::Beamline::track ( IParticle particle) const

Definition at line 72 of file ForwardTracker/src/Beamline.cxx.

72  { // Pass the particle to beam elements until out of aperture or endPlane
73 
74  IBeamElement::ConstIter_t nextElement = std::lower_bound(m_elements.begin(), m_elements.end(), particle.z(), zPosNextElement());
75 
76  [[maybe_unused]]const auto & firstOutOfAperture = std::find_if(nextElement, m_elements.end(), ParticleTracker(particle));
77  }

Member Data Documentation

◆ m_elements

IBeamElement::Container_t ForwardTracker::Beamline::m_elements
private

Definition at line 32 of file ForwardTracker/ForwardTracker/Beamline.h.


The documentation for this class was generated from the following files:
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
ForwardTracker::IBeamElement::Container_t
std::vector< ConstPtr_t > Container_t
Definition: ForwardTracker/ForwardTracker/IBeamElement.h:40
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
ForwardTracker::IBeamElement::ConstIter_t
Container_t::const_iterator ConstIter_t
Definition: ForwardTracker/ForwardTracker/IBeamElement.h:42
ForwardTracker::IBeamElement::Iter_t
Container_t::iterator Iter_t
Definition: ForwardTracker/ForwardTracker/IBeamElement.h:41
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
ForwardTracker::Beamline::m_elements
IBeamElement::Container_t m_elements
Definition: ForwardTracker/ForwardTracker/Beamline.h:32
ForwardTracker::Beamline::swap
void swap(Beamline &other)
Definition: ForwardTracker/ForwardTracker/Beamline.h:34
ForwardTracker::findBeamLineEnd
IBeamElement::Iter_t findBeamLineEnd(IBeamElement::Container_t &container)
Definition: ForwardTracker/src/Beamline.cxx:21