Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Private Attributes | List of all members
FPTracker::Particle Class Reference

#include <Particle.h>

Inheritance diagram for FPTracker::Particle:
Collaboration diagram for FPTracker::Particle:

Public Member Functions

 Particle ()
 
 Particle (double x, double y, double z, double px, double py, double pz)
 
const Pointposition () const
 
Pointposition ()
 
Point positionRelBeam () const
 
const Pointdirection () const
 
Pointdirection ()
 
TransversePoint displacement () const
 
void setBeamCoordinateShift (const TransversePoint &)
 
void setBeamCoordinateShift (const IBeamElement *)
 
double z () const
 
double & z ()
 
double momentum () const
 
bool isOutOfAperture () const
 
TransversePoint transversePosition () const
 
std::string str () const
 
void updatePositionFromDisplacement (const TransversePoint &)
 
void setOutOfAperture (bool out)
 
void addMsg (const std::string &)
 

Private Attributes

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

Detailed Description

Definition at line 19 of file ForwardDetectors/FPTracker/FPTracker/Particle.h.

Constructor & Destructor Documentation

◆ Particle() [1/2]

FPTracker::Particle::Particle ( )

Definition at line 13 of file FPTracker/src/Particle.cxx.

13  :
14  m_position(0., 0., 0.),
15  m_momentum(0),
16  m_direction( Point(0., 0., 0.) ),
17  m_outOfAperture(false)
18  {
19  }

◆ Particle() [2/2]

FPTracker::Particle::Particle ( double  x,
double  y,
double  z,
double  px,
double  py,
double  pz 
)

Definition at line 21 of file FPTracker/src/Particle.cxx.

Member Function Documentation

◆ addMsg()

void FPTracker::Particle::addMsg ( const std::string &  msg)
virtual

Implements FPTracker::IParticle.

Definition at line 60 of file FPTracker/src/Particle.cxx.

60 { m_msg += msg; }

◆ direction() [1/2]

Point & FPTracker::Particle::direction ( )
virtual

Implements FPTracker::IParticle.

Definition at line 53 of file FPTracker/src/Particle.cxx.

53 {return m_direction;}

◆ direction() [2/2]

const Point & FPTracker::Particle::direction ( ) const
virtual

Implements FPTracker::IParticle.

Definition at line 52 of file FPTracker/src/Particle.cxx.

52 {return m_direction;}

◆ displacement()

TransversePoint FPTracker::Particle::displacement ( ) const
virtual

Implements FPTracker::IParticle.

Definition at line 32 of file FPTracker/src/Particle.cxx.

32  {
34  }

◆ isOutOfAperture()

bool FPTracker::Particle::isOutOfAperture ( ) const
virtual

Implements FPTracker::IParticle.

Definition at line 57 of file FPTracker/src/Particle.cxx.

57 {return m_outOfAperture;}

◆ momentum()

double FPTracker::Particle::momentum ( ) const
virtual

Implements FPTracker::IParticle.

Definition at line 56 of file FPTracker/src/Particle.cxx.

56 {return m_momentum;}

◆ position() [1/2]

Point & FPTracker::Particle::position ( )
virtual

Implements FPTracker::IParticle.

Definition at line 29 of file FPTracker/src/Particle.cxx.

29 { return m_position; }

◆ position() [2/2]

const Point & FPTracker::Particle::position ( ) const
virtual

Implements FPTracker::IParticle.

Definition at line 28 of file FPTracker/src/Particle.cxx.

28 { return m_position; }

◆ positionRelBeam()

Point FPTracker::Particle::positionRelBeam ( ) const
virtual

Implements FPTracker::IParticle.

Definition at line 30 of file FPTracker/src/Particle.cxx.

◆ setBeamCoordinateShift() [1/2]

void FPTracker::Particle::setBeamCoordinateShift ( const IBeamElement be)
virtual

Implements FPTracker::IParticle.

Definition at line 45 of file FPTracker/src/Particle.cxx.

45  {
46  m_beamCoordinateShift = -1.*(be->position()).transverse();
47  }

◆ setBeamCoordinateShift() [2/2]

void FPTracker::Particle::setBeamCoordinateShift ( const TransversePoint p)
virtual

Implements FPTracker::IParticle.

Definition at line 41 of file FPTracker/src/Particle.cxx.

41  {
43  }

◆ setOutOfAperture()

void FPTracker::Particle::setOutOfAperture ( bool  out)
virtual

Implements FPTracker::IParticle.

Definition at line 59 of file FPTracker/src/Particle.cxx.

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

◆ str()

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

Implements FPTracker::IParticle.

Definition at line 61 of file FPTracker/src/Particle.cxx.

61  {
62  std::ostringstream ost;
63  ost<<"Part: pos:"<<std::setprecision(4)<<std::fixed<<std::boolalpha//<<std::right
64  <<" x "<<std::setw(9)<<std::setprecision(6)<<m_position.x()
65  <<" y "<<std::setw(9)<<m_position.y()
66  <<" z "<<std::setw(7)<<std::setprecision(2)<<m_position.z()
67  <<" dir "<<std::setprecision(6)
68  <<" xp "<<std::setw(9)<<m_direction.x()
69  <<" yp "<<std::setw(9)<<m_direction.y()
70  <<" zp "<<std::setw(9)<<m_direction.z()
71  << " mom: "<<std::setprecision(0)<<m_momentum
72  <<" lost "<<m_outOfAperture
73  <<" offx "<<std::setprecision(6)<<std::setw(9)<<m_beamCoordinateShift.x()
74  <<" offy "<<std::setprecision(6)<<std::setw(9)<<m_beamCoordinateShift.y()
75  <<'\n'
76  <<" xrb "<<std::setw(9)<<std::setprecision(6)<<this->positionRelBeam().x()
77  <<" yrb "<<std::setw(9)<<this->positionRelBeam().y()
78  <<" zrb "<<std::setw(7)<<std::setprecision(2)<<this->positionRelBeam().z();
79  if( not m_msg.empty() )
80  {
81  ost<<"\n msg " <<m_msg;
82  }
83  return ost.str();
84  }

◆ transversePosition()

TransversePoint FPTracker::Particle::transversePosition ( ) const
virtual

Implements FPTracker::IParticle.

Definition at line 49 of file FPTracker/src/Particle.cxx.

49  {
50  return m_position.transverse();
51  }

◆ updatePositionFromDisplacement()

void FPTracker::Particle::updatePositionFromDisplacement ( const TransversePoint disp)
virtual

Implements FPTracker::IParticle.

Definition at line 36 of file FPTracker/src/Particle.cxx.

36  {
37  m_position[0] = disp[0] - m_beamCoordinateShift[0]; // when the disp from mag center = beam axis, part. position = 0 in global coor
38  m_position[1] = disp[1] - m_beamCoordinateShift[1];
39  }

◆ z() [1/2]

double & FPTracker::Particle::z ( )
virtual

Implements FPTracker::IParticle.

Definition at line 55 of file FPTracker/src/Particle.cxx.

55 {return m_position[2];}

◆ z() [2/2]

double FPTracker::Particle::z ( ) const
virtual

Implements FPTracker::IParticle.

Definition at line 54 of file FPTracker/src/Particle.cxx.

54 {return m_position.z();}

Member Data Documentation

◆ m_beamCoordinateShift

TransversePoint FPTracker::Particle::m_beamCoordinateShift
private

◆ m_direction

Point FPTracker::Particle::m_direction
private

◆ m_momentum

double FPTracker::Particle::m_momentum
private

◆ m_msg

std::string FPTracker::Particle::m_msg
private

◆ m_outOfAperture

bool FPTracker::Particle::m_outOfAperture
private

◆ m_position

Point FPTracker::Particle::m_position
private

The documentation for this class was generated from the following files:
python.trigbs_prescaleL1.ost
ost
Definition: trigbs_prescaleL1.py:104
test_pyathena.px
px
Definition: test_pyathena.py:18
FPTracker::Point::x
double x() const
Definition: FPTracker/src/Point.cxx:17
FPTracker::Particle::m_msg
std::string m_msg
Definition: ForwardDetectors/FPTracker/FPTracker/Particle.h:59
FPTracker::Particle::m_momentum
double m_momentum
Definition: ForwardDetectors/FPTracker/FPTracker/Particle.h:55
FPTracker::Point::transverse
TransversePoint transverse() const
Definition: FPTracker/src/Point.cxx:23
FPTracker::Point::y
double y() const
Definition: FPTracker/src/Point.cxx:18
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
FPTracker::Particle::m_outOfAperture
bool m_outOfAperture
Definition: ForwardDetectors/FPTracker/FPTracker/Particle.h:57
FPTracker::Particle::positionRelBeam
Point positionRelBeam() const
Definition: FPTracker/src/Particle.cxx:30
x
#define x
FPTracker::Particle::m_position
Point m_position
Definition: ForwardDetectors/FPTracker/FPTracker/Particle.h:51
Point
ChargedTracksWeightFilter::Spline::Point Point
Definition: ChargedTracksWeightFilter.cxx:11
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
Amg::pz
@ pz
Definition: GeoPrimitives.h:40
FPTracker::Point::perp2
double perp2() const
Definition: FPTracker/src/Point.cxx:21
FPTracker::Point::z
double z() const
Definition: FPTracker/src/Point.cxx:19
FPTracker::Particle::m_direction
Point m_direction
Definition: ForwardDetectors/FPTracker/FPTracker/Particle.h:56
Amg::py
@ py
Definition: GeoPrimitives.h:39
FPTracker::TransversePoint::x
double x() const
Definition: FPTracker/src/TransversePoint.cxx:16
y
#define y
FPTracker::FPTrackerConstants::beamPipeRadius2
static const double beamPipeRadius2
Definition: FPTrackerConstants.h:15
FPTracker::TransversePoint::y
double y() const
Definition: FPTracker/src/TransversePoint.cxx:17
PlotCalibFromCool.be
be
Definition: PlotCalibFromCool.py:398
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
FPTracker::Particle::z
double z() const
Definition: FPTracker/src/Particle.cxx:54
FPTracker::Particle::m_beamCoordinateShift
TransversePoint m_beamCoordinateShift
Definition: ForwardDetectors/FPTracker/FPTracker/Particle.h:54