ATLAS Offline Software
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 
6 
7 MM_Electron::MM_Electron(float x, float y) : m_initialPosition(x, y) {}
8 
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
16 
17  if (driftVel > 0.)
18  m_time = m_offsetPosition.mag() / driftVel;
19  else
20  m_time = -1.;
21 }
22 
24 void MM_Electron::setCharge(float Charge) { m_charge = Charge; }
25 
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