Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
v
w
x
z
Files
File List
File Members
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
$
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
v
w
x
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
GitLab
LXR
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
MuonSpectrometer
MuonDigitization
MM_Digitization
src
MM_Electron.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
MM_Digitization/MM_Electron.h
"
6
7
MM_Electron::MM_Electron
(
float
x
,
float
y
) : m_initialPosition(
x
,
y
) {}
8
9
void
MM_Electron::setOffsetPosition
(
float
x
,
float
y
) {
m_offsetPosition
=
Amg::Vector2D
{
x
,
y
}; }
10
11
void
MM_Electron::propagateElectron
(
float
lorentzAngle,
float
driftVel) {
12
float
tanLorentzAngle =
std::tan
(lorentzAngle);
13
if
(tanLorentzAngle == tanLorentzAngle)
// checking that it's not NAN
14
m_offsetPosition
=
Amg::Vector2D
(
m_offsetPosition
.x() + tanLorentzAngle * (
m_offsetPosition
.y() +
m_initialPosition
.y()),
15
m_offsetPosition
.y() +
m_initialPosition
.y());
16
17
if
(driftVel > 0.)
18
m_time
=
m_offsetPosition
.mag() / driftVel;
19
else
20
m_time
= -1.;
21
}
22
23
void
MM_Electron::setTime
(
float
Time) {
m_time
= Time; }
24
void
MM_Electron::setCharge
(
float
Charge) {
m_charge
= Charge; }
25
26
const
Amg::Vector2D
&
MM_Electron::getOffsetPosition
()
const
{
return
m_offsetPosition
; }
27
float
MM_Electron::getCharge
()
const
{
return
m_charge
; }
28
float
MM_Electron::getTime
()
const
{
return
m_time
; }
29
float
MM_Electron::getX
()
const
{
return
m_offsetPosition
.x() +
m_initialPosition
.x(); }
30
float
MM_Electron::getY
()
const
{
return
m_offsetPosition
.y() +
m_initialPosition
.y(); }
31
float
MM_Electron::getInitialX
()
const
{
return
m_initialPosition
.x(); }
32
float
MM_Electron::getInitialY
()
const
{
return
m_initialPosition
.y(); }
MM_Electron::getOffsetPosition
const Amg::Vector2D & getOffsetPosition() const
Definition:
MM_Electron.cxx:26
MM_Electron::getCharge
float getCharge() const
Definition:
MM_Electron.cxx:27
MM_Electron::setCharge
void setCharge(float Charge)
Definition:
MM_Electron.cxx:24
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition:
GeoPrimitives.h:48
MM_Electron::m_time
float m_time
Definition:
MM_Electron.h:40
MM_Electron.h
MM_Electron::getInitialY
float getInitialY() const
Definition:
MM_Electron.cxx:32
x
#define x
MM_Electron::m_charge
float m_charge
Definition:
MM_Electron.h:41
MM_Electron::m_initialPosition
Amg::Vector2D m_initialPosition
Definition:
MM_Electron.h:37
drawFromPickle.tan
tan
Definition:
drawFromPickle.py:36
MM_Electron::getY
float getY() const
Definition:
MM_Electron.cxx:30
MM_Electron::MM_Electron
MM_Electron()=default
MM_Electron::setOffsetPosition
void setOffsetPosition(float x, float y)
Definition:
MM_Electron.cxx:9
MM_Electron::setTime
void setTime(float Time)
Definition:
MM_Electron.cxx:23
MM_Electron::getX
float getX() const
Definition:
MM_Electron.cxx:29
y
#define y
MM_Electron::getInitialX
float getInitialX() const
Definition:
MM_Electron.cxx:31
MM_Electron::propagateElectron
void propagateElectron(float lorentzAngle, float driftVel)
Definition:
MM_Electron.cxx:11
MM_Electron::getTime
float getTime() const
Definition:
MM_Electron.cxx:28
MM_Electron::m_offsetPosition
Amg::Vector2D m_offsetPosition
Definition:
MM_Electron.h:38
Generated on Wed May 28 2025 21:14:12 for ATLAS Offline Software by
1.8.18