ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
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
}
Point
ChargedTracksWeightFilter::Spline::Point Point
Definition
ChargedTracksWeightFilter.cxx:11
FPTrackerConstants.h
Plane.h
Particle.h
beamlineXPosition.h
FPTracker::FPTrackerConstants::beamPipeRadius2
static const double beamPipeRadius2
Definition
FPTrackerConstants.h:15
FPTracker::IBeamElement::ConstPtr_t
std::shared_ptr< const IBeamElement > ConstPtr_t
Definition
FPTracker/FPTracker/IBeamElement.h:40
FPTracker::IParticle
Definition
ForwardDetectors/FPTracker/FPTracker/IParticle.h:17
FPTracker::Plane
Definition
FPTracker/FPTracker/Plane.h:19
FPTracker::Plane::s_label
static const std::string s_label
Definition
FPTracker/FPTracker/Plane.h:45
FPTracker::Plane::frontFace
double frontFace() const
Definition
FPTracker/src/Plane.cxx:33
FPTracker::Plane::str
std::string str() const
Definition
FPTracker/src/Plane.cxx:56
FPTracker::Plane::calibrate
void calibrate(IParticle &)
Definition
FPTracker/src/Plane.cxx:51
FPTracker::Plane::zabspos
double zabspos() const
Definition
FPTracker/src/Plane.cxx:35
FPTracker::Plane::zsignedpos
double zsignedpos() const
Definition
FPTracker/src/Plane.cxx:36
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::isEndElement
bool isEndElement() const
Definition
FPTracker/src/Plane.cxx:64
FPTracker::Plane::rearFace
double rearFace() const
Definition
FPTracker/src/Plane.cxx:34
FPTracker::Plane::track
void track(IParticle &) const
Definition
FPTracker/src/Plane.cxx:41
FPTracker::Plane::side
Side side() const
Definition
FPTracker/src/Plane.cxx:38
FPTracker::Plane::clone
IBeamElement::ConstPtr_t clone() const
Definition
FPTracker/src/Plane.cxx:28
FPTracker::Plane::m_side
Side m_side
Definition
FPTracker/FPTracker/Plane.h:47
FPTracker::Plane::label
std::string label() const
Definition
FPTracker/src/Plane.cxx:15
FPTracker::Plane::position
Point position() const
Definition
FPTracker/src/Plane.cxx:37
FPTracker::Point
Definition
FPTracker/FPTracker/Point.h:14
FPTracker::TransversePoint
Definition
FPTracker/FPTracker/TransversePoint.h:12
FPTracker
Definition
FPTracker/FPTracker/Beamline.h:12
FPTracker::operator<<
std::ostream & operator<<(std::ostream &os, const Beamline &bl)
Definition
FPTracker/src/Beamline.cxx:163
FPTracker::beamlineXPosition
TransversePoint beamlineXPosition(double z)
Definition
beamlineXPosition.cxx:11
FPTracker::Side
Side
Definition
FPTrackerConstants.h:12
FPTracker::beam2
@ beam2
Definition
FPTrackerConstants.h:12
Generated on
for ATLAS Offline Software by
1.17.0