CbmRoot
Loading...
Searching...
No Matches
CbmFieldMapSym2 Class Reference

#include <CbmFieldMapSym2.h>

Inheritance diagram for CbmFieldMapSym2:
[legend]
Collaboration diagram for CbmFieldMapSym2:
[legend]

Public Member Functions

 CbmFieldMapSym2 ()
 
 CbmFieldMapSym2 (const char *mapName, const char *fileType="R")
 
 CbmFieldMapSym2 (CbmFieldPar *fieldPar)
 
virtual ~CbmFieldMapSym2 ()
 
virtual Double_t GetBx (Double_t x, Double_t y, Double_t z) override
 
virtual Double_t GetBy (Double_t x, Double_t y, Double_t z) override
 
virtual Double_t GetBz (Double_t x, Double_t y, Double_t z) override
 
virtual void GetFieldValue (const Double_t point[3], Double_t *bField) override
 
virtual void Init () override
 
virtual void Init (Int_t nX, Double_t xMin, Double_t xMax, Int_t nY, Double_t yMin, Double_t yMax, Int_t nZ, Double_t zMin, Double_t zMax, TArrayF *bx, TArrayF *by, TArrayF *bz)
 
TArrayF * GetBx () const
 
TArrayF * GetBy () const
 
TArrayF * GetBz () const
 
void WriteAsciiFile (const char *fileName)
 
void WriteRootFile (const char *fileName, const char *mapName)
 
virtual void SetPosition (Double_t x, Double_t y, Double_t z)
 
virtual void SetScale (Double_t factor)
 
Double_t GetXmin () const
 
Double_t GetYmin () const
 
Double_t GetZmin () const
 
Double_t GetXmax () const
 
Double_t GetYmax () const
 
Double_t GetZmax () const
 
Double_t GetXstep () const
 
Double_t GetYstep () const
 
Double_t GetZstep () const
 
Int_t GetNx () const
 
Int_t GetNy () const
 
Int_t GetNz () const
 
Double_t GetPositionX () const
 
Double_t GetPositionY () const
 
Double_t GetPositionZ () const
 
Double_t GetScale () const
 
const char * GetFileName ()
 
virtual void Print (Option_t *="") const override
 

Protected Member Functions

LocalCoordinates Global2Local (Double_t x, Double_t y, Double_t z) const
 Transform global coordinates into local coordinates.
 
GridCoordinates Local2Grid (const LocalCoordinates &local) const
 Transform local coordinates into grid cell coordinates.
 
Double_t Interpolate (const TArrayF *B, const GridCoordinates &point) const
 Get field values by interpolation of the grid.
 
void Reset ()
 
void ReadAsciiFile (const char *fileName)
 
void ReadAsciiFile2018 (const char *fileName)
 
void ReadRootFile (const char *fileName, const char *mapName)
 
void SetField (const CbmFieldMapData *data)
 

Protected Attributes

TString fFileName
 
Double_t fScale
 
Double_t fPosX
 
Double_t fPosY
 
Double_t fPosZ
 
Double_t fXmin
 
Double_t fXmax
 
Double_t fXstep
 
Double_t fYmin
 
Double_t fYmax
 
Double_t fYstep
 
Double_t fZmin
 
Double_t fZmax
 
Double_t fZstep
 
Int_t fNx
 
Int_t fNy
 
Int_t fNz
 
TArrayF * fBx
 
TArrayF * fBy
 
TArrayF * fBz
 
Double_t fBxOrigin
 
Double_t fByOrigin
 x-component of the field at the origin
 
Double_t fBzOrigin
 y-component of the field at the origin
 

Private Member Functions

LocalCoordinates Global2LocalReflected (Double_t x, Double_t y, Double_t z) const
 Transform global coordinates into local coordinates.
 
GridCoordinates Global2Grid (Double_t x, Double_t y, Double_t z) const
 Get grid cell coordinates for a point in global coordinates.
 

Detailed Description

Definition at line 39 of file CbmFieldMapSym2.h.

Constructor & Destructor Documentation

◆ CbmFieldMapSym2() [1/3]

CbmFieldMapSym2::CbmFieldMapSym2 ( )

Default constructor

Definition at line 15 of file CbmFieldMapSym2.cxx.

References CbmFieldMap::CbmFieldMap().

◆ CbmFieldMapSym2() [2/3]

CbmFieldMapSym2::CbmFieldMapSym2 ( const char * mapName,
const char * fileType = "R" )

Standard constructor

Parameters
nameName of field map
fileTypeR = ROOT file, A = ASCII

Definition at line 20 of file CbmFieldMapSym2.cxx.

References CbmFieldMap::CbmFieldMap().

◆ CbmFieldMapSym2() [3/3]

CbmFieldMapSym2::CbmFieldMapSym2 ( CbmFieldPar * fieldPar)

Constructor from CbmFieldPar

Definition at line 28 of file CbmFieldMapSym2.cxx.

References CbmFieldMap::CbmFieldMap().

◆ ~CbmFieldMapSym2()

CbmFieldMapSym2::~CbmFieldMapSym2 ( )
virtual

Destructor

Definition at line 33 of file CbmFieldMapSym2.cxx.

Member Function Documentation

◆ GetBx() [1/2]

TArrayF * CbmFieldMap::GetBx ( ) const
inlineinherited

Accessors to the field value arrays

Definition at line 141 of file CbmFieldMap.h.

References fBx.

Referenced by Init(), and Init().

◆ GetBx() [2/2]

Double_t CbmFieldMapSym2::GetBx ( Double_t x,
Double_t y,
Double_t z )
overridevirtual

Get the field components at a certain point

Parameters
x,y,zPoint coordinates (global) [cm] @value Bx,By,Bz Field components [kG]

Reimplemented from CbmFieldMap.

Definition at line 38 of file CbmFieldMapSym2.cxx.

References CbmFieldMap::fBx, Global2LocalReflected(), CbmFieldMap::Interpolate(), CbmFieldMap::Local2Grid(), x, and y.

◆ GetBy() [1/2]

TArrayF * CbmFieldMap::GetBy ( ) const
inlineinherited

Definition at line 142 of file CbmFieldMap.h.

References fBy.

Referenced by Init(), and Init().

◆ GetBy() [2/2]

Double_t CbmFieldMapSym2::GetBy ( Double_t x,
Double_t y,
Double_t z )
overridevirtual

◆ GetBz() [1/2]

TArrayF * CbmFieldMap::GetBz ( ) const
inlineinherited

Definition at line 143 of file CbmFieldMap.h.

References fBz.

Referenced by Init(), and Init().

◆ GetBz() [2/2]

Double_t CbmFieldMapSym2::GetBz ( Double_t x,
Double_t y,
Double_t z )
overridevirtual

◆ GetFieldValue()

void CbmFieldMapSym2::GetFieldValue ( const Double_t point[3],
Double_t * bField )
overridevirtual

Get the field value at a point

Parameters
pointPoint coordinates (global) [cm] @value bField Array with field components [kG]

Reimplemented from CbmFieldMap.

Definition at line 65 of file CbmFieldMapSym2.cxx.

References CbmFieldMap::fBx, CbmFieldMap::fBy, CbmFieldMap::fBz, Global2LocalReflected(), CbmFieldMap::Interpolate(), and CbmFieldMap::Local2Grid().

◆ GetFileName()

const char * CbmFieldMap::GetFileName ( )
inlineinherited

Accessor to field map file

Definition at line 147 of file CbmFieldMap.h.

References fFileName.

◆ GetNx()

Int_t CbmFieldMap::GetNx ( ) const
inlineinherited

Definition at line 125 of file CbmFieldMap.h.

References fNx.

Referenced by CbmFieldMapDistorted::SetFromParent().

◆ GetNy()

Int_t CbmFieldMap::GetNy ( ) const
inlineinherited

Definition at line 126 of file CbmFieldMap.h.

References fNy.

Referenced by CbmFieldMapDistorted::SetFromParent().

◆ GetNz()

Int_t CbmFieldMap::GetNz ( ) const
inlineinherited

Definition at line 127 of file CbmFieldMap.h.

References fNz.

Referenced by CbmFieldMapDistorted::SetFromParent().

◆ GetPositionX()

Double_t CbmFieldMap::GetPositionX ( ) const
inlineinherited

Accessor to field centre position in global system

Definition at line 131 of file CbmFieldMap.h.

References fPosX.

Referenced by CbmFieldMapDistorted::SetFromParent(), and CbmFieldPar::SetParameters().

◆ GetPositionY()

Double_t CbmFieldMap::GetPositionY ( ) const
inlineinherited

Definition at line 132 of file CbmFieldMap.h.

References fPosY.

Referenced by CbmFieldMapDistorted::SetFromParent(), and CbmFieldPar::SetParameters().

◆ GetPositionZ()

Double_t CbmFieldMap::GetPositionZ ( ) const
inlineinherited

Definition at line 133 of file CbmFieldMap.h.

References fPosZ.

Referenced by CbmFieldMapDistorted::SetFromParent(), and CbmFieldPar::SetParameters().

◆ GetScale()

Double_t CbmFieldMap::GetScale ( ) const
inlineinherited

Accessor to global scaling factor

Definition at line 137 of file CbmFieldMap.h.

References fScale.

Referenced by CbmFieldMapData::CbmFieldMapData(), CbmFieldMapDistorted::SetFromParent(), and CbmFieldPar::SetParameters().

◆ GetXmax()

Double_t CbmFieldMap::GetXmax ( ) const
inlineinherited

Definition at line 119 of file CbmFieldMap.h.

References fXmax.

Referenced by CbmFieldMapDistorted::SetFromParent().

◆ GetXmin()

Double_t CbmFieldMap::GetXmin ( ) const
inlineinherited

Accessors to field parameters in local coordinate system

Definition at line 116 of file CbmFieldMap.h.

References fXmin.

Referenced by CbmFieldMapDistorted::SetFromParent().

◆ GetXstep()

Double_t CbmFieldMap::GetXstep ( ) const
inlineinherited

Definition at line 122 of file CbmFieldMap.h.

References fXstep.

Referenced by CbmFieldMapDistorted::SetFromParent().

◆ GetYmax()

Double_t CbmFieldMap::GetYmax ( ) const
inlineinherited

Definition at line 120 of file CbmFieldMap.h.

References fYmax.

Referenced by CbmFieldMapDistorted::SetFromParent().

◆ GetYmin()

Double_t CbmFieldMap::GetYmin ( ) const
inlineinherited

Definition at line 117 of file CbmFieldMap.h.

References fYmin.

Referenced by CbmFieldMapDistorted::SetFromParent().

◆ GetYstep()

Double_t CbmFieldMap::GetYstep ( ) const
inlineinherited

Definition at line 123 of file CbmFieldMap.h.

References fYstep.

Referenced by CbmFieldMapDistorted::SetFromParent().

◆ GetZmax()

Double_t CbmFieldMap::GetZmax ( ) const
inlineinherited

Definition at line 121 of file CbmFieldMap.h.

References fZmax.

Referenced by CbmFieldMapDistorted::SetFromParent().

◆ GetZmin()

Double_t CbmFieldMap::GetZmin ( ) const
inlineinherited

Definition at line 118 of file CbmFieldMap.h.

References fZmin.

Referenced by CbmFieldMapDistorted::SetFromParent().

◆ GetZstep()

Double_t CbmFieldMap::GetZstep ( ) const
inlineinherited

Definition at line 124 of file CbmFieldMap.h.

References fZstep.

Referenced by CbmFieldMapDistorted::SetFromParent().

◆ Global2Grid()

GridCoordinates CbmFieldMap::Global2Grid ( Double_t x,
Double_t y,
Double_t z ) const
inlineprivateinherited

Get grid cell coordinates for a point in global coordinates.

Parameters
x,y,zPoint coordinates (global) [cm]
Returns
GridCoordinates structure

Definition at line 253 of file CbmFieldMap.h.

References Global2Local(), Local2Grid(), x, and y.

Referenced by GetBx(), GetBy(), GetBz(), and GetFieldValue().

◆ Global2Local()

LocalCoordinates CbmFieldMap::Global2Local ( Double_t x,
Double_t y,
Double_t z ) const
inlineprotectedinherited

Transform global coordinates into local coordinates.

Definition at line 168 of file CbmFieldMap.h.

References fPosX, fPosY, fPosZ, x, and y.

Referenced by Global2Grid(), CbmFieldMapSym1::Global2LocalReflected(), CbmFieldMapSym2::Global2LocalReflected(), and CbmFieldMapSym3::Global2LocalReflected().

◆ Global2LocalReflected()

LocalCoordinates CbmFieldMapSym2::Global2LocalReflected ( Double_t x,
Double_t y,
Double_t z ) const
inlineprivate

Transform global coordinates into local coordinates.

Parameters
x,y,zPoint coordinates (global) [cm]
Returns
LocalCoordinates structure with the following fields:
  • x, y, z: Local coordinates [cm], reflected to the quadrant x>0, y>0
  • hemiX, hemiY, hemiZ: Hemispheres of the point (1 or -1)

Definition at line 82 of file CbmFieldMapSym2.h.

References CbmFieldMap::Global2Local(), CbmFieldMap::LocalCoordinates::x, x, CbmFieldMap::LocalCoordinates::y, and y.

Referenced by GetBx(), GetBy(), GetBz(), and GetFieldValue().

◆ Init() [1/2]

void CbmFieldMap::Init ( )
overridevirtualinherited

Initialisation (read map from file)

Reimplemented in CbmBsField, and CbmFieldMapDistorted.

Definition at line 238 of file CbmFieldMap.cxx.

References fBxOrigin, fByOrigin, fBzOrigin, fFileName, GetBx(), GetBy(), GetBz(), Print(), ReadAsciiFile(), and ReadRootFile().

◆ Init() [2/2]

void CbmFieldMap::Init ( Int_t nX,
Double_t xMin,
Double_t xMax,
Int_t nY,
Double_t yMin,
Double_t yMax,
Int_t nZ,
Double_t zMin,
Double_t zMax,
TArrayF * bx,
TArrayF * by,
TArrayF * bz )
virtualinherited

Initialisation with arrays. To be used e.g.for reading from ASCII.

Parameters
xMinMinimum x coordinate
xMaxMaximum x coordinate
yMinMinimum y coordinate
yMaxMaximum y coordinate
zMinMinimum z coordinate
zMaxMaximum z coordinate
bxPointer to array with Bx values [T]
byPointer to array with By values [T]
bzPointer to array with Bz values [T]

Definition at line 260 of file CbmFieldMap.cxx.

References fBx, fBxOrigin, fBy, fByOrigin, fBz, fBzOrigin, fNx, fNy, fNz, fXmax, fXmin, fXstep, fYmax, fYmin, fYstep, fZmax, fZmin, fZstep, GetBx(), GetBy(), GetBz(), Print(), and Reset().

◆ Interpolate()

◆ Local2Grid()

◆ Print()

void CbmFieldMap::Print ( Option_t * = "") const
overridevirtualinherited

Screen output

Reimplemented in CbmFieldMapDistorted.

Definition at line 417 of file CbmFieldMap.cxx.

References fBxOrigin, fByOrigin, fBzOrigin, fNx, fNy, fNz, fPosX, fPosY, fPosZ, fScale, fXmax, fXmin, fXstep, fYmax, fYmin, fYstep, fZmax, fZmin, and fZstep.

Referenced by CbmBsField::CalculateMapFromBs(), Init(), and Init().

◆ ReadAsciiFile()

void CbmFieldMap::ReadAsciiFile ( const char * fileName)
protectedinherited

Read the field map from an ASCII file

Definition at line 475 of file CbmFieldMap.cxx.

References fBx, fBy, fBz, fNx, fNy, fNz, fScale, fXmax, fXmin, fXstep, fYmax, fYmin, fYstep, fZmax, fZmin, and fZstep.

Referenced by Init().

◆ ReadAsciiFile2018()

void CbmFieldMap::ReadAsciiFile2018 ( const char * fileName)
protectedinherited

Read the field map from an ASCII file. Updated version.

◆ ReadRootFile()

void CbmFieldMap::ReadRootFile ( const char * fileName,
const char * mapName )
protectedinherited

Read field map from a ROOT file

Save old global file and folder pointer to avoid messing with FairRoot

Restore old global file and folder pointer to avoid messing with FairRoot

Definition at line 557 of file CbmFieldMap.cxx.

References SetField().

Referenced by Init().

◆ Reset()

void CbmFieldMap::Reset ( )
protectedinherited

Reset the field parameters and data

Definition at line 450 of file CbmFieldMap.cxx.

References fBx, fBy, fBz, fNx, fNy, fNz, fPosX, fPosY, fPosZ, fScale, fXmax, fXmin, fXstep, fYmax, fYmin, fYstep, fZmax, fZmin, and fZstep.

Referenced by Init().

◆ SetField()

◆ SetPosition()

void CbmFieldMap::SetPosition ( Double_t x,
Double_t y,
Double_t z )
virtualinherited

Set the position of the field centre

Reimplemented in CbmFieldMapDistorted.

Definition at line 407 of file CbmFieldMap.cxx.

References fPosX, fPosY, fPosZ, x, and y.

Referenced by CbmSetup::CreateFieldMap().

◆ SetScale()

virtual void CbmFieldMap::SetScale ( Double_t factor)
inlinevirtualinherited

Set a global field scaling factor

Reimplemented in CbmFieldMapDistorted.

Definition at line 112 of file CbmFieldMap.h.

References fScale.

Referenced by CbmSetup::CreateFieldMap().

◆ WriteAsciiFile()

void CbmFieldMap::WriteAsciiFile ( const char * fileName)
inherited

Write the field map to an ASCII file

Definition at line 337 of file CbmFieldMap.cxx.

References fBx, fBy, fBz, fNx, fNy, fNz, fScale, fXmax, fXmin, fYmax, fYmin, fZmax, and fZmin.

◆ WriteRootFile()

void CbmFieldMap::WriteRootFile ( const char * fileName,
const char * mapName )
inherited

Write field map data to a ROOT file

Save old global file and folder pointer to avoid messing with FairRoot

Restore old global file and folder pointer to avoid messing with FairRoot

Definition at line 386 of file CbmFieldMap.cxx.

Referenced by CbmFieldMapCreator::CreateMap().

Member Data Documentation

◆ fBx

◆ fBxOrigin

Double_t CbmFieldMap::fBxOrigin
protectedinherited

Variables for temporary storage

Definition at line 242 of file CbmFieldMap.h.

Referenced by CbmFieldMap(), CbmFieldMap(), CbmFieldMap(), CbmFieldMap(), Init(), Init(), CbmFieldMapDistorted::Init(), Print(), and CbmFieldMapDistorted::Print().

◆ fBy

◆ fByOrigin

Double_t CbmFieldMap::fByOrigin
protectedinherited

x-component of the field at the origin

Definition at line 243 of file CbmFieldMap.h.

Referenced by CbmFieldMap(), CbmFieldMap(), CbmFieldMap(), CbmFieldMap(), Init(), Init(), CbmFieldMapDistorted::Init(), Print(), and CbmFieldMapDistorted::Print().

◆ fBz

◆ fBzOrigin

Double_t CbmFieldMap::fBzOrigin
protectedinherited

y-component of the field at the origin

Definition at line 244 of file CbmFieldMap.h.

Referenced by CbmFieldMap(), CbmFieldMap(), CbmFieldMap(), CbmFieldMap(), Init(), Init(), CbmFieldMapDistorted::Init(), Print(), and CbmFieldMapDistorted::Print().

◆ fFileName

TString CbmFieldMap::fFileName
protectedinherited

Map file name

Definition at line 213 of file CbmFieldMap.h.

Referenced by CbmFieldMap(), CbmFieldMap(), CbmFieldMap(), CbmFieldMap(), GetFileName(), and Init().

◆ fNx

◆ fNy

◆ fNz

◆ fPosX

◆ fPosY

◆ fPosZ

◆ fScale

Double_t CbmFieldMap::fScale
protectedinherited

◆ fXmax

◆ fXmin

Double_t CbmFieldMap::fXmin
protectedinherited

◆ fXstep

◆ fYmax

Double_t CbmFieldMap::fYmax
protectedinherited

◆ fYmin

◆ fYstep

◆ fZmax

◆ fZmin

◆ fZstep


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