ATLAS Offline Software
Loading...
Searching...
No Matches
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
40 IBeamElement::Container_t temp(begin, end);
42 IBeamElement::Container_t temp2(temp.begin(), tempIter);
43 m_elements.swap(temp2);
44 }
IBeamElement::Iter_t findBeamLineEnd(IBeamElement::Container_t &container)

◆ 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 }
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses

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: