ATLAS Offline Software
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
AthExHiveOpts.Time
Time
Definition:
AthExHiveOpts.py:63
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 Thu Nov 7 2024 21:21:14 for ATLAS Offline Software by
1.8.18