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

#include <EmptySpaceElement.h>

Inheritance diagram for FPTracker::EmptySpaceElement:
Collaboration diagram for FPTracker::EmptySpaceElement:

Public Types

typedef std::shared_ptr< const EmptySpaceElementConstPtr_t
typedef std::shared_ptr< IBeamElementPtr_t
typedef std::vector< Ptr_tContainer_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

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

Private Attributes

double m_frontFace
double m_rearFace
double m_signedLength
double m_absLength
Point m_pos
std::string m_label
Side m_side

Detailed Description

Definition at line 18 of file EmptySpaceElement.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

Definition at line 46 of file EmptySpaceElement.h.

◆ Container_t

typedef std::vector< Ptr_t > FPTracker::IBeamElement::Container_t
inherited

Definition at line 43 of file FPTracker/FPTracker/IBeamElement.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

◆ EmptySpaceElement() [1/2]

FPTracker::EmptySpaceElement::EmptySpaceElement ( double front,
double back,
const TransversePoint & beamAxis,
Side side )

◆ EmptySpaceElement() [2/2]

FPTracker::EmptySpaceElement::EmptySpaceElement ( const IBeamElement::ConstPtr_t & p,
const IBeamElement::ConstPtr_t & c )

Definition at line 21 of file EmptySpaceElement.cxx.

21 :
22 m_frontFace(p->rearFace()), m_rearFace(c->frontFace()), m_signedLength(m_rearFace-m_frontFace),
23 m_absLength(std::fabs(m_signedLength)),
24 m_pos( p->position() ),
25 m_label("Spacer"), m_side(c->side()){
26 }

◆ ~EmptySpaceElement()

FPTracker::EmptySpaceElement::~EmptySpaceElement ( )

Definition at line 72 of file EmptySpaceElement.cxx.

72{}

Member Function Documentation

◆ calibrate()

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

Implements FPTracker::IBeamElement.

Definition at line 58 of file EmptySpaceElement.cxx.

59 {
60 return this->track(particle);
61 }
void track(IParticle &) const

◆ clone()

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

Implements FPTracker::IBeamElement.

Definition at line 28 of file EmptySpaceElement.cxx.

28 {
30 return pbe;
31 }
EmptySpaceElement(double front, double back, const TransversePoint &beamAxis, Side side)
std::shared_ptr< const IBeamElement > ConstPtr_t

◆ frontFace()

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

Implements FPTracker::IBeamElement.

Definition at line 33 of file EmptySpaceElement.cxx.

33{return m_frontFace;}

◆ isEndElement()

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

Implements FPTracker::IBeamElement.

Definition at line 40 of file EmptySpaceElement.cxx.

40{return false;}

◆ label()

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

Implements FPTracker::IBeamElement.

Definition at line 35 of file EmptySpaceElement.cxx.

35{return m_label;}

◆ position()

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

Implements FPTracker::IBeamElement.

Definition at line 38 of file EmptySpaceElement.cxx.

38{return m_pos;}

◆ rearFace()

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

Implements FPTracker::IBeamElement.

Definition at line 34 of file EmptySpaceElement.cxx.

34{return m_rearFace;}

◆ side()

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

Implements FPTracker::IBeamElement.

Definition at line 39 of file EmptySpaceElement.cxx.

39{return m_side;}

◆ str()

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

Implements FPTracker::IBeamElement.

Definition at line 63 of file EmptySpaceElement.cxx.

63 {
64
65 std::ostringstream ost;
66 ost <<" \n\n-- EmptySpaceElement --\n"
67 << "frontFace " << m_frontFace <<'\n'
68 << "rearFace " << m_rearFace <<'\n';
69 return ost.str();
70 }

◆ track()

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

Implements FPTracker::IBeamElement.

Definition at line 42 of file EmptySpaceElement.cxx.

43 {
44 //Added dpelikan @ 110308
45 double TransLength=m_absLength-(std::abs(particle.position().z())-std::abs(m_frontFace));
46 //std::cout<<m_absLength<<"\t"<<TransLength<<std::endl;
47
48 particle.setBeamCoordinateShift(this);
49
50
51
52 //particle.position() += m_absLength*particle.direction();
53 particle.position() += TransLength*particle.direction();
54 particle.position()[2] = m_rearFace;
55
56 }
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses

◆ zabspos()

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

Implements FPTracker::IBeamElement.

Definition at line 37 of file EmptySpaceElement.cxx.

37{return std::fabs(this->zsignedpos());}

◆ zsignedpos()

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

Implements FPTracker::IBeamElement.

Definition at line 36 of file EmptySpaceElement.cxx.

36{return m_frontFace + /*0.5* */m_signedLength;}//Added dpelikan @ 110308

Member Data Documentation

◆ m_absLength

double FPTracker::EmptySpaceElement::m_absLength
private

Definition at line 53 of file EmptySpaceElement.h.

◆ m_frontFace

double FPTracker::EmptySpaceElement::m_frontFace
private

Definition at line 50 of file EmptySpaceElement.h.

◆ m_label

std::string FPTracker::EmptySpaceElement::m_label
private

Definition at line 55 of file EmptySpaceElement.h.

◆ m_pos

Point FPTracker::EmptySpaceElement::m_pos
private

Definition at line 54 of file EmptySpaceElement.h.

◆ m_rearFace

double FPTracker::EmptySpaceElement::m_rearFace
private

Definition at line 51 of file EmptySpaceElement.h.

◆ m_side

Side FPTracker::EmptySpaceElement::m_side
private

Definition at line 56 of file EmptySpaceElement.h.

◆ m_signedLength

double FPTracker::EmptySpaceElement::m_signedLength
private

Definition at line 52 of file EmptySpaceElement.h.


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