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

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

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

typedef std::vector<ConstPtr_t> ForwardTracker::IBeamElement::Container_t
inherited

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

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

ForwardTracker::Spacer::Spacer ( double  front,
double  back,
Side  side 
)

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

12  :
13  m_label ("Spacer"),
14  m_side (side),
15  m_frontFace(front),
16  m_rearFace (rear),
17  m_position (0., 0., m_rearFace)
18  {}

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

◆ ~Spacer()

ForwardTracker::Spacer::~Spacer ( )
inline

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

25 {};

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

◆ 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

Implements ForwardTracker::IBeamElement.

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

30 { return m_side; }

◆ 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 
34  double aside = ForwardTrackerConstants::aside[m_side];
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  }

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:
fillPileUpNoiseLumi.current
current
Definition: fillPileUpNoiseLumi.py:52
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
python.trigbs_prescaleL1.ost
ost
Definition: trigbs_prescaleL1.py:104
ForwardTracker::Spacer::m_rearFace
double m_rearFace
Definition: ForwardDetectors/ForwardTracker/ForwardTracker/Spacer.h:47
ForwardTracker::IBeamElement::ConstPtr_t
std::shared_ptr< const IBeamElement > ConstPtr_t
Definition: ForwardTracker/ForwardTracker/IBeamElement.h:39
ForwardTracker::ForwardTrackerConstants::aside
static const double aside[2]
Definition: ForwardTrackerConstants.h:20
ForwardTracker::Spacer::Spacer
Spacer(double front, double back, Side side)
Definition: ForwardDetectors/ForwardTracker/src/Spacer.cxx:12
ForwardTracker::Spacer::m_frontFace
double m_frontFace
Definition: ForwardDetectors/ForwardTracker/ForwardTracker/Spacer.h:46
ForwardTracker::Spacer::m_label
std::string m_label
Definition: ForwardDetectors/ForwardTracker/ForwardTracker/Spacer.h:44
ForwardTracker::Spacer::m_side
Side m_side
Definition: ForwardDetectors/ForwardTracker/ForwardTracker/Spacer.h:45
ForwardTracker::Spacer::side
Side side() const
Definition: ForwardDetectors/ForwardTracker/ForwardTracker/Spacer.h:30
ChargedTracksWeightFilter::Spline::Point
Linear spline representation of a function used to calculate weights.
Definition: ChargedTracksWeightFilter.h:28
ForwardTracker::Spacer::m_position
Point m_position
Definition: ForwardDetectors/ForwardTracker/ForwardTracker/Spacer.h:48
ForwardTracker::ForwardTrackerConstants::beamPipeRadius2
static const double beamPipeRadius2
Definition: ForwardTrackerConstants.h:19
Trk::previous
@ previous
Definition: BinningData.h:32