ATLAS Offline Software
Loading...
Searching...
No Matches
ForwardTracker::Spacer Class Reference

#include <Spacer.h>

Inheritance diagram for ForwardTracker::Spacer:
Collaboration diagram for ForwardTracker::Spacer:

Public Types

typedef std::shared_ptr< const SpacerConstPtr_t
typedef std::vector< ConstPtr_tContainer_t
typedef Container_t::iterator Iter_t
typedef Container_t::const_iterator ConstIter_t
typedef std::list< ConstPtr_tList_t
typedef List_t::iterator ListIter_t
typedef List_t::const_iterator ConstListIter_t

Public Member Functions

 Spacer (double front, double back, Side side)
 Spacer (const IBeamElement::ConstPtr_t &previous, const IBeamElement::ConstPtr_t &current)
 ~Spacer ()
IBeamElement::ConstPtr_t clone () const
std::string label () const
Side side () const
double frontFace () const
double rearFace () const
Point position () const
bool isEndElement () const
void track (IParticle &) const
std::string str () const

Private Attributes

std::string m_label
Side m_side
double m_frontFace
double m_rearFace
Point m_position

Detailed Description

Member Typedef Documentation

◆ ConstIter_t

typedef Container_t::const_iterator ForwardTracker::IBeamElement::ConstIter_t
inherited

Definition at line 42 of file ForwardTracker/ForwardTracker/IBeamElement.h.

◆ ConstListIter_t

typedef List_t::const_iterator ForwardTracker::IBeamElement::ConstListIter_t
inherited

Definition at line 45 of file ForwardTracker/ForwardTracker/IBeamElement.h.

◆ ConstPtr_t

◆ Container_t

◆ Iter_t

typedef Container_t::iterator ForwardTracker::IBeamElement::Iter_t
inherited

Definition at line 41 of file ForwardTracker/ForwardTracker/IBeamElement.h.

◆ List_t

typedef std::list<ConstPtr_t> ForwardTracker::IBeamElement::List_t
inherited

Definition at line 43 of file ForwardTracker/ForwardTracker/IBeamElement.h.

◆ ListIter_t

typedef List_t::iterator ForwardTracker::IBeamElement::ListIter_t
inherited

Definition at line 44 of file ForwardTracker/ForwardTracker/IBeamElement.h.

Constructor & Destructor Documentation

◆ Spacer() [1/2]

◆ Spacer() [2/2]

ForwardTracker::Spacer::Spacer ( const IBeamElement::ConstPtr_t & previous,
const IBeamElement::ConstPtr_t & current )

Definition at line 20 of file ForwardDetectors/ForwardTracker/src/Spacer.cxx.

20 :
21 m_label ("Spacer"),
22 m_side (current->side()),
23 m_frontFace(previous->rearFace()),
24 m_rearFace (current->frontFace()),
25 m_position (previous->position().x(), previous->position().y(), m_rearFace)
26 {}
@ previous
Definition BinningData.h:32

◆ ~Spacer()

ForwardTracker::Spacer::~Spacer ( )
inline

Member Function Documentation

◆ clone()

IBeamElement::ConstPtr_t ForwardTracker::Spacer::clone ( ) const
inlinevirtual

Implements ForwardTracker::IBeamElement.

Definition at line 27 of file ForwardDetectors/ForwardTracker/ForwardTracker/Spacer.h.

27{ IBeamElement::ConstPtr_t pbe(new Spacer(*this)); return pbe; }
std::shared_ptr< const IBeamElement > ConstPtr_t
Spacer(double front, double back, Side side)

◆ frontFace()

double ForwardTracker::Spacer::frontFace ( ) const
inlinevirtual

◆ isEndElement()

bool ForwardTracker::Spacer::isEndElement ( ) const
inlinevirtual

Implements ForwardTracker::IBeamElement.

Definition at line 34 of file ForwardDetectors/ForwardTracker/ForwardTracker/Spacer.h.

34{ return false; }

◆ label()

std::string ForwardTracker::Spacer::label ( ) const
inlinevirtual

◆ position()

Point ForwardTracker::Spacer::position ( ) const
inlinevirtual

◆ rearFace()

double ForwardTracker::Spacer::rearFace ( ) const
inlinevirtual

◆ side()

Side ForwardTracker::Spacer::side ( ) const
inlinevirtual

◆ str()

std::string ForwardTracker::Spacer::str ( ) const
virtual

Implements ForwardTracker::IBeamElement.

Definition at line 46 of file ForwardDetectors/ForwardTracker/src/Spacer.cxx.

46 {
47
48 std::ostringstream ost;
49
50 ost << "m_label " << m_label << "\n"
51 << "m_side " << m_side << "\n"
52 << "m_frontFace " << m_frontFace << "\n"
53 << "m_rearFace " << m_rearFace << "\n"
54 << "m_position " << m_position << "\n";
55
56 return ost.str();
57 }

◆ track()

void ForwardTracker::Spacer::track ( IParticle & particle) const
virtual

Implements ForwardTracker::IBeamElement.

Definition at line 28 of file ForwardDetectors/ForwardTracker/src/Spacer.cxx.

28 {
29
30 particle.setBeamCoordinateShift(this);
31
32 if (particle.isOutOfAperture()) return;
33
35 Point direction = particle.direction();
36 TransversePoint displacement = particle.displacement();
37
38 displacement += std::fabs(m_rearFace - particle.z())*aside/direction[2]*direction.transverse(); // Linear drift
39
40 particle.updatePositionFromDisplacement(displacement);
41 particle.z() = m_rearFace;
42
43 if (particle.displacement().mag2() > ForwardTrackerConstants::beamPipeRadius2) particle.setOutOfAperture(true);
44 }
ChargedTracksWeightFilter::Spline::Point Point
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses

Member Data Documentation

◆ m_frontFace

double ForwardTracker::Spacer::m_frontFace
private

◆ m_label

std::string ForwardTracker::Spacer::m_label
private

◆ m_position

Point ForwardTracker::Spacer::m_position
private

◆ m_rearFace

double ForwardTracker::Spacer::m_rearFace
private

◆ m_side

Side ForwardTracker::Spacer::m_side
private

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