ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
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.h
y
#define y
x
#define x
MM_Electron::getX
float getX() const
Definition
MM_Electron.cxx:29
MM_Electron::getOffsetPosition
const Amg::Vector2D & getOffsetPosition() const
Definition
MM_Electron.cxx:26
MM_Electron::getTime
float getTime() const
Definition
MM_Electron.cxx:28
MM_Electron::getCharge
float getCharge() const
Definition
MM_Electron.cxx:27
MM_Electron::setOffsetPosition
void setOffsetPosition(float x, float y)
Definition
MM_Electron.cxx:9
MM_Electron::m_charge
float m_charge
Definition
MM_Electron.h:41
MM_Electron::MM_Electron
MM_Electron()=default
MM_Electron::getY
float getY() const
Definition
MM_Electron.cxx:30
MM_Electron::getInitialY
float getInitialY() const
Definition
MM_Electron.cxx:32
MM_Electron::m_time
float m_time
Definition
MM_Electron.h:40
MM_Electron::setTime
void setTime(float Time)
Definition
MM_Electron.cxx:23
MM_Electron::setCharge
void setCharge(float Charge)
Definition
MM_Electron.cxx:24
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::m_initialPosition
Amg::Vector2D m_initialPosition
Definition
MM_Electron.h:37
MM_Electron::m_offsetPosition
Amg::Vector2D m_offsetPosition
Definition
MM_Electron.h:38
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition
GeoPrimitives.h:48
Generated on
for ATLAS Offline Software by
1.17.0