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

#include <Particle.h>

Inheritance diagram for ForwardTracker::Particle:
Collaboration diagram for ForwardTracker::Particle:

Public Member Functions

 Particle ()
 Particle (double x, double y, double z, double px, double py, double pz, bool charge)
Point position () const
Point & position ()
Point positionRelBeam () const
Point direction () const
Point & direction ()
TransversePoint displacement () const
TransversePoint transversePosition () const
double z () const
double & z ()
double momentum () const
bool charged () const
bool isOutOfAperture () const
bool debug () const
void setBeamCoordinateShift (const TransversePoint &p)
void setBeamCoordinateShift (const IBeamElement *b)
void setOutOfAperture (bool out)
void setDebug (bool flag)
void addMsg (const std::string &msg)
void updatePositionFromDisplacement (const TransversePoint &disp)
std::string str () const
Point & direction_nc ()

Private Attributes

Point m_position
TransversePoint m_beamCoordinateShift
double m_momentum
bool m_charged
Point m_direction
bool m_outOfAperture
bool m_debug
std::string m_msg

Detailed Description

Constructor & Destructor Documentation

◆ Particle() [1/2]

◆ Particle() [2/2]

ForwardTracker::Particle::Particle ( double x,
double y,
double z,
double px,
double py,
double pz,
bool charge )

Member Function Documentation

◆ addMsg()

void ForwardTracker::Particle::addMsg ( const std::string & msg)
inlinevirtual

◆ charged()

bool ForwardTracker::Particle::charged ( ) const
inlinevirtual

◆ debug()

bool ForwardTracker::Particle::debug ( ) const
inlinevirtual

◆ direction() [1/2]

Point & ForwardTracker::Particle::direction ( )
inlinevirtual

◆ direction() [2/2]

Point ForwardTracker::Particle::direction ( ) const
inlinevirtual

◆ direction_nc()

Point & ForwardTracker::IParticle::direction_nc ( )
inlineinherited

Definition at line 46 of file ForwardDetectors/ForwardTracker/ForwardTracker/IParticle.h.

46{ return direction(); }
virtual Point direction() const =0

◆ displacement()

TransversePoint ForwardTracker::Particle::displacement ( ) const
inlinevirtual

◆ isOutOfAperture()

bool ForwardTracker::Particle::isOutOfAperture ( ) const
inlinevirtual

◆ momentum()

double ForwardTracker::Particle::momentum ( ) const
inlinevirtual

◆ position() [1/2]

Point & ForwardTracker::Particle::position ( )
inlinevirtual

◆ position() [2/2]

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

◆ positionRelBeam()

Point ForwardTracker::Particle::positionRelBeam ( ) const
inlinevirtual

◆ setBeamCoordinateShift() [1/2]

void ForwardTracker::Particle::setBeamCoordinateShift ( const IBeamElement * b)
inlinevirtual

Implements ForwardTracker::IParticle.

Definition at line 39 of file ForwardDetectors/ForwardTracker/ForwardTracker/Particle.h.

39{ m_beamCoordinateShift = -1.*(b->position()).transverse(); }

◆ setBeamCoordinateShift() [2/2]

void ForwardTracker::Particle::setBeamCoordinateShift ( const TransversePoint & p)
inlinevirtual

◆ setDebug()

void ForwardTracker::Particle::setDebug ( bool flag)
inlinevirtual

◆ setOutOfAperture()

void ForwardTracker::Particle::setOutOfAperture ( bool out)
inlinevirtual

Implements ForwardTracker::IParticle.

Definition at line 40 of file ForwardDetectors/ForwardTracker/ForwardTracker/Particle.h.

40{ if (out) m_outOfAperture = true; } // once out, always out

◆ str()

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

Implements ForwardTracker::IParticle.

Definition at line 33 of file ForwardTracker/src/Particle.cxx.

33 {
34
35 std::ostringstream ost;
36
37 ost << " pos" << m_position
38 << " dir" << m_direction
39 << " mom " << m_momentum
40 << " prb" << this->positionRelBeam()
41 << " q " << m_charged
42 << " lost " << m_outOfAperture;
43
44 if (not m_msg.empty()) ost << "\n msg " << m_msg;
45
46 return ost.str();
47 }

◆ transversePosition()

TransversePoint ForwardTracker::Particle::transversePosition ( ) const
inlinevirtual

Implements ForwardTracker::IParticle.

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

30{ return m_position.transverse(); }

◆ updatePositionFromDisplacement()

void ForwardTracker::Particle::updatePositionFromDisplacement ( const TransversePoint & disp)
inlinevirtual

Implements ForwardTracker::IParticle.

Definition at line 44 of file ForwardDetectors/ForwardTracker/ForwardTracker/Particle.h.

44 {
45
46 m_position[0] = disp[0] - m_beamCoordinateShift[0]; // when the displacement from the magnet center is equal to the distance from the beam axis,
47 m_position[1] = disp[1] - m_beamCoordinateShift[1]; // particle position position is 0 in global coordinates.
48 }

◆ z() [1/2]

double & ForwardTracker::Particle::z ( )
inlinevirtual

◆ z() [2/2]

double ForwardTracker::Particle::z ( ) const
inlinevirtual

Implements ForwardTracker::IParticle.

Definition at line 31 of file ForwardDetectors/ForwardTracker/ForwardTracker/Particle.h.

31{ return m_position.z(); }

Member Data Documentation

◆ m_beamCoordinateShift

TransversePoint ForwardTracker::Particle::m_beamCoordinateShift
private

◆ m_charged

bool ForwardTracker::Particle::m_charged
private

◆ m_debug

bool ForwardTracker::Particle::m_debug
private

◆ m_direction

Point ForwardTracker::Particle::m_direction
private

◆ m_momentum

double ForwardTracker::Particle::m_momentum
private

◆ m_msg

std::string ForwardTracker::Particle::m_msg
private

◆ m_outOfAperture

bool ForwardTracker::Particle::m_outOfAperture
private

◆ m_position

Point ForwardTracker::Particle::m_position
private

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