ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::VKalAtlasMagFld Class Reference

#include <VKalAtlasMagFld.h>

Inheritance diagram for Trk::VKalAtlasMagFld:
Collaboration diagram for Trk::VKalAtlasMagFld:

Public Member Functions

 VKalAtlasMagFld ()
 ~VKalAtlasMagFld ()
virtual void getMagFld (const double, const double, const double, double &, double &, double &) override
void setAtlasField (MagField::AtlasFieldCache *)
void setAtlasField (const double)
void setAtlasMagRefFrame (double, double, double)
double getEffField (double bx, double by, double bz, double phi, double theta)

Private Attributes

MagField::AtlasFieldCachem_VKalAthenaField {}
double m_FIXED_ATLAS_FIELD = 1.997
double m_magFrameX
double m_magFrameY
double m_magFrameZ

Detailed Description

Definition at line 17 of file VKalAtlasMagFld.h.

Constructor & Destructor Documentation

◆ VKalAtlasMagFld()

Trk::VKalAtlasMagFld::VKalAtlasMagFld ( )

Definition at line 37 of file VKalAtlasMagFld.cxx.

◆ ~VKalAtlasMagFld()

Trk::VKalAtlasMagFld::~VKalAtlasMagFld ( )
default

Member Function Documentation

◆ getEffField()

double Trk::baseMagFld::getEffField ( double bx,
double by,
double bz,
double phi,
double theta )
inlineinherited

Definition at line 41 of file VKalVrtBMag.h.

41 {
42 return bz-(by*std::sin(phi)+bx*std::cos(phi))/std::tan(theta);
43 };
@ theta
Definition ParamDefs.h:66
@ phi
Definition ParamDefs.h:75

◆ getMagFld()

void Trk::VKalAtlasMagFld::getMagFld ( const double x,
const double y,
const double z,
double & bx,
double & by,
double & bz )
overridevirtual

Implements Trk::baseMagFld.

Definition at line 61 of file VKalAtlasMagFld.cxx.

62 {
63 double fieldXYZ[3];
64 double BField[3];
65 fieldXYZ[0] = (x + m_magFrameX) * CLHEP::mm;
66 fieldXYZ[1] = (y + m_magFrameY) * CLHEP::mm;
67 fieldXYZ[2] = (z + m_magFrameZ) * CLHEP::mm;
69 m_VKalAthenaField->getField(fieldXYZ, BField);
70 bx = BField[0] / CLHEP::tesla;
71 by = BField[1] / CLHEP::tesla; // Field in TESLA!!!!
72 bz = BField[2] / CLHEP::tesla;
73 } else {
74 bx = 0.;
75 by = 0.;
77 }
78}
MagField::AtlasFieldCache * m_VKalAthenaField
@ x
Definition ParamDefs.h:55
@ z
global position (cartesian)
Definition ParamDefs.h:57
@ y
Definition ParamDefs.h:56

◆ setAtlasField() [1/2]

void Trk::VKalAtlasMagFld::setAtlasField ( const double field)

Definition at line 48 of file VKalAtlasMagFld.cxx.

◆ setAtlasField() [2/2]

void Trk::VKalAtlasMagFld::setAtlasField ( MagField::AtlasFieldCache * pnt)

Definition at line 44 of file VKalAtlasMagFld.cxx.

44 {
46}

◆ setAtlasMagRefFrame()

void Trk::VKalAtlasMagFld::setAtlasMagRefFrame ( double x,
double y,
double z )

Definition at line 52 of file VKalAtlasMagFld.cxx.

52 {
53 m_magFrameX = x;
54 m_magFrameY = y;
55 m_magFrameZ = z;
56}

Member Data Documentation

◆ m_FIXED_ATLAS_FIELD

double Trk::VKalAtlasMagFld::m_FIXED_ATLAS_FIELD = 1.997
private

Definition at line 29 of file VKalAtlasMagFld.h.

◆ m_magFrameX

double Trk::VKalAtlasMagFld::m_magFrameX
private

Definition at line 30 of file VKalAtlasMagFld.h.

◆ m_magFrameY

double Trk::VKalAtlasMagFld::m_magFrameY
private

Definition at line 30 of file VKalAtlasMagFld.h.

◆ m_magFrameZ

double Trk::VKalAtlasMagFld::m_magFrameZ
private

Definition at line 30 of file VKalAtlasMagFld.h.

◆ m_VKalAthenaField

MagField::AtlasFieldCache* Trk::VKalAtlasMagFld::m_VKalAthenaField {}
private

Definition at line 28 of file VKalAtlasMagFld.h.

28{};

The documentation for this class was generated from the following files: