ATLAS Offline Software
ForwardDetectors
ForwardTracker
ForwardTracker
ForwardTracker/ForwardTracker/Magnet.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef FORWARDTRACKER_MAGNET_H
6
#define FORWARDTRACKER_MAGNET_H
7
8
#include "
ForwardTrackerConstants.h
"
9
#include "
IBeamElement.h
"
10
#include "
IBender.h
"
11
#include "
Particle.h
"
12
#include "
Point.h
"
13
14
namespace
ForwardTracker
{
15
16
class
IParticle
;
17
class
TransversePoint;
18
19
class
Magnet
:
public
IBeamElement
{
20
21
public
:
22
23
Magnet
(
double
x
,
24
double
y
,
25
double
z
,
26
double
length
,
27
const
std::string& aperType,
28
double
A1,
29
double
A2,
30
double
A3,
31
double
A4,
32
Side
side
,
33
IBender::ConstPtr_t
bender,
34
const
std::string&
label
);
35
36
enum
Type
{
hbDipole
,
hfQuadrupole
,
vfQuadrupole
,
vbDipole
,
notAMagnet
};
37
38
typedef
std::shared_ptr<const Magnet>
ConstPtr_t
;
39
typedef
std::vector<ConstPtr_t>
Container_t
;
40
41
std::string
label
()
const
{
return
m_label
; }
42
Side
side
()
const
{
return
m_side
; }
43
double
frontFace
()
const
{
return
m_frontFace
; }
44
double
rearFace
()
const
{
return
m_rearFace
; }
45
Point
position
()
const
{
return
m_position
; }
46
bool
isEndElement
()
const
{
return
false
; }
47
48
IBeamElement::ConstPtr_t
clone
()
const
{
IBeamElement::ConstPtr_t
pm(
new
Magnet
(*
this
));
return
pm; }
49
50
void
track
(
IParticle
&)
const
;
51
52
std::string
str
()
const
;
53
54
private
:
55
56
std::string
m_label
;
57
Side
m_side
;
58
double
m_frontFace
;
59
double
m_rearFace
;
60
Point
m_position
;
61
std::string
m_aperType
;
62
double
m_A1
;
63
double
m_A2
;
64
double
m_A3
;
65
double
m_A4
;
66
IBender::ConstPtr_t
m_bender
;
67
68
bool
isOutOfAperture
(
IParticle
&)
const
;
69
};
70
71
std::ostream&
operator<<
(std::ostream&,
const
Magnet
&);
72
73
}
74
#endif
ForwardTracker::Magnet::Magnet
Magnet(double x, double y, double z, double length, const std::string &aperType, double A1, double A2, double A3, double A4, Side side, IBender::ConstPtr_t bender, const std::string &label)
Definition:
ForwardTracker/src/Magnet.cxx:12
ForwardTracker::Magnet::m_frontFace
double m_frontFace
Definition:
ForwardTracker/ForwardTracker/Magnet.h:58
ForwardTracker::Magnet::m_A2
double m_A2
Definition:
ForwardTracker/ForwardTracker/Magnet.h:63
ForwardTracker::Magnet::vfQuadrupole
@ vfQuadrupole
Definition:
ForwardTracker/ForwardTracker/Magnet.h:36
ForwardTracker::IBeamElement::ConstPtr_t
std::shared_ptr< const IBeamElement > ConstPtr_t
Definition:
ForwardTracker/ForwardTracker/IBeamElement.h:39
ForwardTracker::Magnet::position
Point position() const
Definition:
ForwardTracker/ForwardTracker/Magnet.h:45
Point.h
ForwardTracker::Magnet::m_rearFace
double m_rearFace
Definition:
ForwardTracker/ForwardTracker/Magnet.h:59
ForwardTracker::Magnet::clone
IBeamElement::ConstPtr_t clone() const
Definition:
ForwardTracker/ForwardTracker/Magnet.h:48
x
#define x
ForwardTracker::Magnet::m_A1
double m_A1
Definition:
ForwardTracker/ForwardTracker/Magnet.h:62
ForwardTracker::Point
Definition:
ForwardTracker/ForwardTracker/Point.h:15
ForwardTracker::Magnet::side
Side side() const
Definition:
ForwardTracker/ForwardTracker/Magnet.h:42
ForwardTracker::operator<<
std::ostream & operator<<(std::ostream &, const Beamline &)
Definition:
ForwardTracker/src/Beamline.cxx:105
ForwardTracker::Magnet::hbDipole
@ hbDipole
Definition:
ForwardTracker/ForwardTracker/Magnet.h:36
ForwardTracker::Magnet::isEndElement
bool isEndElement() const
Definition:
ForwardTracker/ForwardTracker/Magnet.h:46
IBender.h
ForwardTracker::Magnet::Container_t
std::vector< ConstPtr_t > Container_t
Definition:
ForwardTracker/ForwardTracker/Magnet.h:39
ForwardTracker::Magnet::frontFace
double frontFace() const
Definition:
ForwardTracker/ForwardTracker/Magnet.h:43
z
#define z
ForwardTracker::Magnet::notAMagnet
@ notAMagnet
Definition:
ForwardTracker/ForwardTracker/Magnet.h:36
ForwardTracker::Magnet
Definition:
ForwardTracker/ForwardTracker/Magnet.h:19
ForwardTracker::Magnet::m_aperType
std::string m_aperType
Definition:
ForwardTracker/ForwardTracker/Magnet.h:61
ForwardTracker::Magnet::m_A4
double m_A4
Definition:
ForwardTracker/ForwardTracker/Magnet.h:65
Side
Definition:
WaferTree.h:36
ForwardTracker::Magnet::m_bender
IBender::ConstPtr_t m_bender
Definition:
ForwardTracker/ForwardTracker/Magnet.h:66
ForwardTracker::IParticle
Definition:
ForwardDetectors/ForwardTracker/ForwardTracker/IParticle.h:16
ForwardTracker::Magnet::hfQuadrupole
@ hfQuadrupole
Definition:
ForwardTracker/ForwardTracker/Magnet.h:36
xAODType
Definition:
ObjectType.h:13
ForwardTracker::Magnet::m_label
std::string m_label
Definition:
ForwardTracker/ForwardTracker/Magnet.h:56
ForwardTracker::Magnet::m_position
Point m_position
Definition:
ForwardTracker/ForwardTracker/Magnet.h:60
ForwardTracker::Magnet::m_side
Side m_side
Definition:
ForwardTracker/ForwardTracker/Magnet.h:57
ForwardTracker::Magnet::vbDipole
@ vbDipole
Definition:
ForwardTracker/ForwardTracker/Magnet.h:36
IBeamElement.h
y
#define y
ForwardTracker::Magnet::rearFace
double rearFace() const
Definition:
ForwardTracker/ForwardTracker/Magnet.h:44
ForwardTrackerConstants.h
ForwardTracker::Magnet::m_A3
double m_A3
Definition:
ForwardTracker/ForwardTracker/Magnet.h:64
Particle.h
ForwardTracker::IBender::ConstPtr_t
std::shared_ptr< IBender > ConstPtr_t
Definition:
ForwardTracker/ForwardTracker/IBender.h:21
ForwardTracker::Magnet::isOutOfAperture
bool isOutOfAperture(IParticle &) const
Definition:
ForwardTracker/src/Magnet.cxx:50
ForwardTracker::IBeamElement
Definition:
ForwardTracker/ForwardTracker/IBeamElement.h:22
IParticle
Definition:
Event/EventKernel/EventKernel/IParticle.h:43
ForwardTracker::Magnet::ConstPtr_t
std::shared_ptr< const Magnet > ConstPtr_t
Definition:
ForwardTracker/ForwardTracker/Magnet.h:38
ForwardTracker
Definition:
ForwardTracker/ForwardTracker/Beamline.h:12
length
double length(const pvec &v)
Definition:
FPGATrackSimLLPDoubletHoughTransformTool.cxx:26
ForwardTracker::Magnet::label
std::string label() const
Definition:
ForwardTracker/ForwardTracker/Magnet.h:41
ForwardTracker::Magnet::str
std::string str() const
Definition:
ForwardTracker/src/Magnet.cxx:163
ForwardTracker::Magnet::track
void track(IParticle &) const
Definition:
ForwardTracker/src/Magnet.cxx:37
Generated on Thu Nov 7 2024 21:20:22 for ATLAS Offline Software by
1.8.18