ATLAS Offline Software
ForwardDetectors
FPTracker
src
FPTracker/src/Plane.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
FPTracker/Plane.h
"
6
#include "
FPTracker/Particle.h
"
7
#include "
FPTracker/beamlineXPosition.h
"
8
#include "
FPTracker/FPTrackerConstants.h
"
9
#include <cmath>
10
#include <sstream>
11
#include <cassert>
12
namespace
FPTracker
{
13
14
const
std::string
Plane::s_label
=
"Plane"
;
15
std::string
Plane::label
()
const
{
return
s_label
;}
16
17
//Plane::Plane(double zpos, double xinnerp, const Magnet* mp, int side):
18
Plane::Plane
(
double
zpos,
Side
side
):
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
}
27
28
IBeamElement::ConstPtr_t
Plane::clone
()
const
{
29
IBeamElement::ConstPtr_t
pbe(
new
Plane
(*
this
) );
30
return
pbe;
31
}
32
33
double
Plane::frontFace
()
const
{
return
m_position
.
z
();}
34
double
Plane::rearFace
()
const
{
return
m_position
.
z
();}
35
double
Plane::zabspos
()
const
{
return
std::fabs(
m_position
.
z
());}
36
double
Plane::zsignedpos
()
const
{
return
m_position
.
z
();}
37
Point
Plane::position
()
const
{
return
m_position
;}
38
Side
Plane::side
()
const
{
return
m_side
;}
39
40
41
void
Plane::track
(
IParticle
&
particle
)
const
42
{
43
particle
.setBeamCoordinateShift(
this
);
44
if
(
particle
.isOutOfAperture()){
return
;}
45
if
(
particle
.displacement().mag2() >
FPTrackerConstants::beamPipeRadius2
){
46
particle
.setOutOfAperture(
true
);
47
}
48
49
}
50
51
void
Plane::calibrate
(
IParticle
&
particle
)
52
{
53
return
this->
track
(particle);
54
}
55
56
std::string
Plane::str
()
const
{
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
}
63
64
bool
Plane::isEndElement
()
const
{
return
true
;}
65
66
std::ostream&
operator<<
(std::ostream&
os
,
const
Plane
&
p
){
67
os
<<
p
.str();
68
return
os
;
69
}
70
}
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
FPTracker::operator<<
std::ostream & operator<<(std::ostream &os, const Beamline &bl)
Definition:
FPTracker/src/Beamline.cxx:163
FPTracker::Plane::Plane
Plane(double, Side)
Definition:
FPTracker/src/Plane.cxx:18
FPTracker::Plane::m_position
Point m_position
Definition:
FPTracker/FPTracker/Plane.h:46
FPTracker::Plane::track
void track(IParticle &) const
Definition:
FPTracker/src/Plane.cxx:41
FPTracker::Plane::zsignedpos
double zsignedpos() const
Definition:
FPTracker/src/Plane.cxx:36
FPTracker::Plane::str
std::string str() const
Definition:
FPTracker/src/Plane.cxx:56
FPTracker::Plane::isEndElement
bool isEndElement() const
Definition:
FPTracker/src/Plane.cxx:64
FPTracker::Plane::calibrate
void calibrate(IParticle &)
Definition:
FPTracker/src/Plane.cxx:51
TRT::Hit::side
@ side
Definition:
HitInfo.h:83
FPTracker::Plane::zabspos
double zabspos() const
Definition:
FPTracker/src/Plane.cxx:35
FPTracker::Plane::rearFace
double rearFace() const
Definition:
FPTracker/src/Plane.cxx:34
FPTracker::Plane::s_label
static const std::string s_label
Definition:
FPTracker/FPTracker/Plane.h:45
python.utils.AtlRunQueryDQUtils.p
p
Definition:
AtlRunQueryDQUtils.py:210
FPTrackerConstants.h
FPTracker::Plane::position
Point position() const
Definition:
FPTracker/src/Plane.cxx:37
FPTracker::beam2
@ beam2
Definition:
FPTrackerConstants.h:12
FPTracker::beamlineXPosition
TransversePoint beamlineXPosition(double z)
Definition:
beamlineXPosition.cxx:11
FPTracker::Plane::clone
IBeamElement::ConstPtr_t clone() const
Definition:
FPTracker/src/Plane.cxx:28
FPTracker::IBeamElement::ConstPtr_t
std::shared_ptr< const IBeamElement > ConstPtr_t
Definition:
FPTracker/FPTracker/IBeamElement.h:40
FPTracker::Plane::label
std::string label() const
Definition:
FPTracker/src/Plane.cxx:15
Side
Definition:
WaferTree.h:36
FPTracker::Plane
Definition:
FPTracker/FPTracker/Plane.h:19
FPTracker::Point::z
double z() const
Definition:
FPTracker/src/Point.cxx:19
ReadFromCoolCompare.os
os
Definition:
ReadFromCoolCompare.py:231
FPTracker::Point
Definition:
FPTracker/FPTracker/Point.h:14
Plane.h
FPTracker::TransversePoint::x
double x() const
Definition:
FPTracker/src/TransversePoint.cxx:16
FPTracker::Plane::frontFace
double frontFace() const
Definition:
FPTracker/src/Plane.cxx:33
beamlineXPosition.h
FPTracker::Plane::m_side
Side m_side
Definition:
FPTracker/FPTracker/Plane.h:47
Particle.h
FPTracker::FPTrackerConstants::beamPipeRadius2
static const double beamPipeRadius2
Definition:
FPTrackerConstants.h:15
FPTracker::Plane::side
Side side() const
Definition:
FPTracker/src/Plane.cxx:38
FPTracker
Definition:
FPTracker/FPTracker/Beamline.h:12
FPTracker::TransversePoint::y
double y() const
Definition:
FPTracker/src/TransversePoint.cxx:17
FPTracker::IParticle
Definition:
ForwardDetectors/FPTracker/FPTracker/IParticle.h:17
FPTracker::TransversePoint
Definition:
FPTracker/FPTracker/TransversePoint.h:12
Generated on Thu Nov 7 2024 21:23:57 for ATLAS Offline Software by
1.8.18