ATLAS Offline Software
ForwardDetectors
FPTracker
FPTracker
SolenoidElement.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
UNFINISHED
6
UNFINISHED
7
UNFINISHED
8
9
#ifndef FPTACKER_SOLENOIDELEMENT_H
10
#define FPTACKER_SOLENOIDELEMENT_H
11
12
#include "
IBeamElement.h
"
13
#include "
FPTrackerConstants.h
"
14
#include "
Point.h
"
15
#include <ostream>
16
17
/*
18
* simumation of the efect of the solenoid for FPTracker. PS 13/07/2011
19
* using inputfrom Daniel Pelikan
20
*
21
* Daniel gives the transfer matrix as:
22
*
23
* x | | C^2 S.C/k SC S^2/k 0 0 | |x_0 |
24
* x' | |-kSC C^2 -kS^2 SC 0 0 | |x'_0 |
25
* y | = | -SC -S^2/k C^2 SC/k 0 0 | |y_0 |
26
* y' | |kS^2 -SC -kSC C^2 0 0 | |y_0' |
27
* delta_l | | 0 0 0 0 1 l/g^2 | |delta_l0 |
28
* Delp/p | | 0 0 0 0 0 1 | |Delp_0/p_0 |
29
*
30
* FPTracker calculates x, x', y, y' from x_0, x_0', y_0, y_0'
31
* so needs the numbers C, S, k calculate the matrix elements
32
* which will be stored as t_ij.
33
*/
34
35
namespace
FPTracker
{
36
class
IParticle
;
37
class
IBender;
38
class
Point
;
39
class
TransversePoint;
40
class
SolenoidElement
:
public
IBeamElement
{
41
42
public
:
43
44
SolenoidElement
(
double
front,
45
double
back,
46
const
TransversePoint
& beamAxis,
47
Side
side
,
48
double
C,
49
double
S
,
50
double
k
);
51
SolenoidElement
(
52
const
IBeamElement::ConstPtr_t
&,
53
const
IBeamElement::ConstPtr_t
&
54
);
55
56
IBeamElement::ConstPtr_t
clone
()
const
;
57
58
~SolenoidElement
();
59
double
frontFace
()
const
;
60
double
rearFace
()
const
;
61
double
zabspos
()
const
;
62
double
zsignedpos
()
const
;
63
Point
position
()
const
;
64
Side
side
()
const
;
65
66
bool
isEndElement
()
const
;
67
std::string
str
()
const
;
68
69
std::string
label
()
const
;
70
71
void
track
(
IParticle
&)
const
;
72
void
calibrate
(
IParticle
&);
73
74
typedef
std::shared_ptr< const SolenoidElement >
ConstPtr_t
;
75
76
private
:
77
78
double
m_frontFace
;
79
double
m_rearFace
;
80
double
m_signedLength
;
81
double
m_absLength
;
82
Point
m_pos
;
83
std::string
m_label
;
84
Side
m_side
;
85
86
double
t_00
;
87
double
t_01
;
88
double
t_02
;
89
double
t_03
;
90
91
double
t_10
;
92
double
t_11
;
93
double
t_12
;
94
double
t_13
;
95
96
double
t_20
;
97
double
t_21
;
98
double
t_22
;
99
double
t_23
;
100
101
double
t_30
;
102
double
t_31
;
103
double
t_32
;
104
double
t_33
;
105
106
};
107
}
108
#endif
FPTracker::IBeamElement
Definition:
FPTracker/FPTracker/IBeamElement.h:23
FPTracker::SolenoidElement::position
Point position() const
FPTracker::SolenoidElement::ConstPtr_t
std::shared_ptr< const SolenoidElement > ConstPtr_t
Definition:
SolenoidElement.h:74
FPTracker::SolenoidElement::t_01
double t_01
Definition:
SolenoidElement.h:87
FPTracker::SolenoidElement
Definition:
SolenoidElement.h:40
FPTracker::SolenoidElement::t_22
double t_22
Definition:
SolenoidElement.h:98
FPTracker::SolenoidElement::zsignedpos
double zsignedpos() const
FPTracker::SolenoidElement::SolenoidElement
SolenoidElement(const IBeamElement::ConstPtr_t &, const IBeamElement::ConstPtr_t &)
FPTracker::SolenoidElement::t_30
double t_30
Definition:
SolenoidElement.h:101
FPTracker::SolenoidElement::frontFace
double frontFace() const
FPTracker::SolenoidElement::isEndElement
bool isEndElement() const
FPTracker::SolenoidElement::track
void track(IParticle &) const
FPTracker::SolenoidElement::label
std::string label() const
Point.h
FPTracker::SolenoidElement::t_21
double t_21
Definition:
SolenoidElement.h:97
FPTracker::SolenoidElement::t_20
double t_20
Definition:
SolenoidElement.h:96
JetTiledMap::S
@ S
Definition:
TiledEtaPhiMap.h:44
FPTracker::SolenoidElement::m_absLength
double m_absLength
Definition:
SolenoidElement.h:81
FPTracker::SolenoidElement::t_11
double t_11
Definition:
SolenoidElement.h:92
FPTracker::SolenoidElement::clone
IBeamElement::ConstPtr_t clone() const
FPTracker::SolenoidElement::t_23
double t_23
Definition:
SolenoidElement.h:99
FPTracker::SolenoidElement::calibrate
void calibrate(IParticle &)
FPTracker::SolenoidElement::m_frontFace
double m_frontFace
Definition:
SolenoidElement.h:78
FPTrackerConstants.h
FPTracker::SolenoidElement::SolenoidElement
SolenoidElement(double front, double back, const TransversePoint &beamAxis, Side side, double C, double S, double k)
FPTracker::SolenoidElement::t_03
double t_03
Definition:
SolenoidElement.h:89
FPTracker::IBeamElement::ConstPtr_t
std::shared_ptr< const IBeamElement > ConstPtr_t
Definition:
FPTracker/FPTracker/IBeamElement.h:40
FPTracker::SolenoidElement::m_pos
Point m_pos
Definition:
SolenoidElement.h:82
FPTracker::SolenoidElement::rearFace
double rearFace() const
Side
Definition:
WaferTree.h:36
FPTracker::SolenoidElement::t_33
double t_33
Definition:
SolenoidElement.h:104
FPTracker::SolenoidElement::m_label
std::string m_label
Definition:
SolenoidElement.h:83
FPTracker::SolenoidElement::t_02
double t_02
Definition:
SolenoidElement.h:88
offline_EventStorage_v5::UNFINISHED
@ UNFINISHED
Definition:
v5_DataWriter.h:42
FPTracker::SolenoidElement::t_00
double t_00
Definition:
SolenoidElement.h:86
FPTracker::SolenoidElement::t_12
double t_12
Definition:
SolenoidElement.h:93
FPTracker::SolenoidElement::zabspos
double zabspos() const
ChargedTracksWeightFilter::Spline::Point
Linear spline representation of a function used to calculate weights.
Definition:
ChargedTracksWeightFilter.h:28
FPTracker::SolenoidElement::side
Side side() const
FPTracker::SolenoidElement::m_rearFace
double m_rearFace
Definition:
SolenoidElement.h:79
FPTracker::Point
Definition:
FPTracker/FPTracker/Point.h:14
FPTracker::SolenoidElement::~SolenoidElement
~SolenoidElement()
FPTracker::SolenoidElement::m_signedLength
double m_signedLength
Definition:
SolenoidElement.h:80
IBeamElement.h
FPTracker::SolenoidElement::m_side
Side m_side
Definition:
SolenoidElement.h:84
FPTracker
Definition:
FPTracker/FPTracker/Beamline.h:12
FPTracker::SolenoidElement::t_32
double t_32
Definition:
SolenoidElement.h:103
FPTracker::SolenoidElement::t_31
double t_31
Definition:
SolenoidElement.h:102
FPTracker::IParticle
Definition:
ForwardDetectors/FPTracker/FPTracker/IParticle.h:17
IParticle
Definition:
Event/EventKernel/EventKernel/IParticle.h:43
FPTracker::TransversePoint
Definition:
FPTracker/FPTracker/TransversePoint.h:12
FPTracker::SolenoidElement::t_13
double t_13
Definition:
SolenoidElement.h:94
FPTracker::SolenoidElement::t_10
double t_10
Definition:
SolenoidElement.h:91
fitman.k
k
Definition:
fitman.py:528
FPTracker::SolenoidElement::str
std::string str() const
Generated on Mon Dec 23 2024 21:18:35 for ATLAS Offline Software by
1.8.18