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

Definition at line 13 of file EmptySpaceElement.cxx.

13  :
14  m_frontFace(front), m_rearFace(back),
16  m_absLength(std::fabs(m_signedLength)),
17  m_pos( beamAxis.x(), beamAxis.y(), front+0.5*m_signedLength),
18  m_label("Spacer"), m_side(side){
19  }

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

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

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

◆ 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:
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
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
FPTracker::EmptySpaceElement::m_side
Side m_side
Definition: EmptySpaceElement.h:56
FPTracker::EmptySpaceElement::m_absLength
double m_absLength
Definition: EmptySpaceElement.h:53
FPTracker::EmptySpaceElement::track
void track(IParticle &) const
Definition: EmptySpaceElement.cxx:42
FPTracker::EmptySpaceElement::m_frontFace
double m_frontFace
Definition: EmptySpaceElement.h:50
FPTracker::IBeamElement::ConstPtr_t
std::shared_ptr< const IBeamElement > ConstPtr_t
Definition: FPTracker/FPTracker/IBeamElement.h:40
FPTracker::EmptySpaceElement::side
Side side() const
Definition: EmptySpaceElement.cxx:39
FPTracker::EmptySpaceElement::m_signedLength
double m_signedLength
Definition: EmptySpaceElement.h:52
FPTracker::EmptySpaceElement::EmptySpaceElement
EmptySpaceElement(double front, double back, const TransversePoint &beamAxis, Side side)
Definition: EmptySpaceElement.cxx:13
FPTracker::EmptySpaceElement::m_label
std::string m_label
Definition: EmptySpaceElement.h:55
FPTracker::EmptySpaceElement::zsignedpos
double zsignedpos() const
Definition: EmptySpaceElement.cxx:36
FPTracker::EmptySpaceElement::m_rearFace
double m_rearFace
Definition: EmptySpaceElement.h:51
FPTracker::EmptySpaceElement::m_pos
Point m_pos
Definition: EmptySpaceElement.h:54
python.compressB64.c
def c
Definition: compressB64.py:93