ATLAS Offline Software
Loading...
Searching...
No Matches
FPTracker::Plane Class Reference

#include <Plane.h>

Inheritance diagram for FPTracker::Plane:
Collaboration diagram for FPTracker::Plane:

Public Types

typedef std::shared_ptr< const PlaneConstPtr_t
typedef std::vector< ConstPtr_tContainer_t
typedef std::shared_ptr< IBeamElementPtr_t
typedef Container_t::iterator Iter_t
typedef Container_t::const_iterator ConstIter_t
typedef std::list< Ptr_tList_t
typedef List_t::iterator ListIter_t
typedef List_t::const_iterator ConstListIter_t

Public Member Functions

 Plane (double, Side)
IBeamElement::ConstPtr_t clone () const
double frontFace () const
double rearFace () const
double zabspos () const
double zsignedpos () const
Side side () const
Point position () const
std::string label () const
std::string str () const
bool isEndElement () const
void track (IParticle &) const
void calibrate (IParticle &)

Private Attributes

Point m_position
Side m_side

Static Private Attributes

static const std::string s_label ="Plane"

Detailed Description

Definition at line 19 of file FPTracker/FPTracker/Plane.h.

Member Typedef Documentation

◆ ConstIter_t

typedef Container_t::const_iterator FPTracker::IBeamElement::ConstIter_t
inherited

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

◆ ConstListIter_t

typedef List_t::const_iterator FPTracker::IBeamElement::ConstListIter_t
inherited

Definition at line 49 of file FPTracker/FPTracker/IBeamElement.h.

◆ ConstPtr_t

typedef std::shared_ptr< const Plane > FPTracker::Plane::ConstPtr_t

Definition at line 38 of file FPTracker/FPTracker/Plane.h.

◆ Container_t

typedef std::vector< ConstPtr_t > FPTracker::Plane::Container_t

Definition at line 39 of file FPTracker/FPTracker/Plane.h.

◆ Iter_t

typedef Container_t::iterator FPTracker::IBeamElement::Iter_t
inherited

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

◆ List_t

typedef std::list< Ptr_t > FPTracker::IBeamElement::List_t
inherited

Definition at line 47 of file FPTracker/FPTracker/IBeamElement.h.

◆ ListIter_t

typedef List_t::iterator FPTracker::IBeamElement::ListIter_t
inherited

Definition at line 48 of file FPTracker/FPTracker/IBeamElement.h.

◆ Ptr_t

typedef std::shared_ptr< IBeamElement > FPTracker::IBeamElement::Ptr_t
inherited

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

Constructor & Destructor Documentation

◆ Plane()

FPTracker::Plane::Plane ( double zpos,
Side side )

Definition at line 18 of file FPTracker/src/Plane.cxx.

18 :
19 m_position( 0., 0., 0. ), m_side(side)
20 {
21 assert(zpos >= 0.);
22 zpos = side == beam2 ? -zpos:zpos;
23 TransversePoint shift = beamlineXPosition(zpos);
24 m_position = Point(shift.x(), shift.y(), zpos);
25
26 }
ChargedTracksWeightFilter::Spline::Point Point
TransversePoint beamlineXPosition(double z)

Member Function Documentation

◆ calibrate()

void FPTracker::Plane::calibrate ( IParticle & particle)
virtual

Implements FPTracker::IBeamElement.

Definition at line 51 of file FPTracker/src/Plane.cxx.

52 {
53 return this->track(particle);
54 }
void track(IParticle &) const

◆ clone()

IBeamElement::ConstPtr_t FPTracker::Plane::clone ( ) const
virtual

Implements FPTracker::IBeamElement.

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

28 {
29 IBeamElement::ConstPtr_t pbe( new Plane(*this) );
30 return pbe;
31 }
std::shared_ptr< const IBeamElement > ConstPtr_t

◆ frontFace()

double FPTracker::Plane::frontFace ( ) const
virtual

Implements FPTracker::IBeamElement.

Definition at line 33 of file FPTracker/src/Plane.cxx.

33{return m_position.z();}

◆ isEndElement()

bool FPTracker::Plane::isEndElement ( ) const
virtual

Implements FPTracker::IBeamElement.

Definition at line 64 of file FPTracker/src/Plane.cxx.

64{return true;}

◆ label()

std::string FPTracker::Plane::label ( ) const
virtual

Implements FPTracker::IBeamElement.

Definition at line 15 of file FPTracker/src/Plane.cxx.

15{return s_label;}
static const std::string s_label

◆ position()

Point FPTracker::Plane::position ( ) const
virtual

Implements FPTracker::IBeamElement.

Definition at line 37 of file FPTracker/src/Plane.cxx.

37{return m_position;}

◆ rearFace()

double FPTracker::Plane::rearFace ( ) const
virtual

Implements FPTracker::IBeamElement.

Definition at line 34 of file FPTracker/src/Plane.cxx.

34{return m_position.z();}

◆ side()

Side FPTracker::Plane::side ( ) const
virtual

Implements FPTracker::IBeamElement.

Definition at line 38 of file FPTracker/src/Plane.cxx.

38{return m_side;}

◆ str()

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

Implements FPTracker::IBeamElement.

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

56 {
57 std::ostringstream ost;
58 ost<<"\n-- Plane --\n";
59 ost<<" position "<<m_position<<'\n';
60 ost<<" side "<<m_side<<'\n';
61 return ost.str();
62 }

◆ track()

void FPTracker::Plane::track ( IParticle & particle) const
virtual

Implements FPTracker::IBeamElement.

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

42 {
43 particle.setBeamCoordinateShift(this);
44 if (particle.isOutOfAperture()){return;}
45 if (particle.displacement().mag2() > FPTrackerConstants::beamPipeRadius2){
46 particle.setOutOfAperture(true);
47 }
48
49 }
static const double beamPipeRadius2
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses

◆ zabspos()

double FPTracker::Plane::zabspos ( ) const
virtual

Implements FPTracker::IBeamElement.

Definition at line 35 of file FPTracker/src/Plane.cxx.

35{return std::fabs(m_position.z());}

◆ zsignedpos()

double FPTracker::Plane::zsignedpos ( ) const
virtual

Implements FPTracker::IBeamElement.

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

36{return m_position.z();}

Member Data Documentation

◆ m_position

Point FPTracker::Plane::m_position
private

Definition at line 46 of file FPTracker/FPTracker/Plane.h.

◆ m_side

Side FPTracker::Plane::m_side
private

Definition at line 47 of file FPTracker/FPTracker/Plane.h.

◆ s_label

const std::string FPTracker::Plane::s_label ="Plane"
staticprivate

Definition at line 45 of file FPTracker/FPTracker/Plane.h.


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