ATLAS Offline Software
Public Member Functions | Protected Attributes | Private Attributes | List of all members
BFieldZone Class Reference

#include <BFieldZone.h>

Inheritance diagram for BFieldZone:
Collaboration diagram for BFieldZone:

Public Member Functions

 BFieldZone (int id, double zmin, double zmax, double rmin, double rmax, double phimin, double phimax, double scale)
 
void appendCond (const BFieldCond &cond)
 add elements to the current conductors vector More...
 
void addBiotSavart (const double *ATH_RESTRICT xyz, double *ATH_RESTRICT B, double *ATH_RESTRICT deriv=nullptr) const
 compute Biot-Savart magnetic field and add to B[3] More...
 
int id () const
 
unsigned ncond () const
 
const BFieldCondcond (int i) const
 
const std::vector< BFieldCond > * condVector () const
 
int memSize () const
 
void adjustMin (int i, double x)
 
void adjustMax (int i, double x)
 
void setRange (double zmin, double zmax, double rmin, double rmax, double phimin, double phimax)
 set mesh range/dimensions More...
 
void setBscale (double bscale)
 set B scale More...
 
void scaleBscale (double factor)
 scale B scale by a factor More...
 
void reserve (int nz, int nr, int nphi, int nfield)
 allocate space to vectors More...
 
void reserve (int nz, int nr, int nphi)
 allocate space to vectors More...
 
void appendMesh (int axis, double value)
 add a position for a cell corner for an axis
More...
 
void appendField (const BFieldVector< short > &field)
 append a filed vector
More...
 
void buildLUT ()
 build Look Up Table More...
 
bool inside (double z, double r, double phi) const
 
void getCache (double z, double r, double phi, BFieldCache &cache, double scaleFactor=1.0) const
 
void getB (const double *ATH_RESTRICT xyz, double *ATH_RESTRICT B, double *ATH_RESTRICT deriv=nullptr) const
 get the bfield given a point in xyz More...
 
double min (size_t axis) const
 minimum for a particular axis = 0 (z), 1 (r), 2 (phi) More...
 
double max (size_t axis) const
 maximum or a particular axis = 0 (z), 1 (r), 2 (phi) More...
 
double zmin () const
 minimum in z More...
 
double zmax () const
 maximum in z More...
 
double rmin () const
 minimun in r More...
 
double rmax () const
 maximum in r More...
 
double phimin () const
 minimun in phi More...
 
double phimax () const
 maximum in phi More...
 
unsigned nmesh (size_t axis) const
 number of cells along each axis = 0 (z), 1 (r), 2 (phi) More...
 
double mesh (size_t axis, size_t index) const
 coordinate along axis (0 (z), 1 (r), 2 (phi)) of the cell at index (0 to nmesh-1) More...
 
unsigned nfield () const
 field entries in mesh More...
 
const BFieldVector< short > & field (size_t index) const
 field vector at cell corner at index More...
 
double bscale () const
 scale More...
 
int memSize () const
 memory size More...
 

Protected Attributes

std::array< double, 3 > m_min
 
std::array< double, 3 > m_max
 
std::array< std::vector< double >, 3 > m_mesh
 

Private Attributes

int m_id
 
std::vector< BFieldCondm_cond
 
std::vector< BFieldVector< short > > m_field
 
double m_scale
 
double m_nomScale
 
std::array< std::vector< int >, 3 > m_LUT
 
std::array< double, 3 > m_invUnit
 
int m_roff
 
int m_zoff
 

Detailed Description

Definition at line 28 of file BFieldZone.h.

Constructor & Destructor Documentation

◆ BFieldZone()

BFieldZone::BFieldZone ( int  id,
double  zmin,
double  zmax,
double  rmin,
double  rmax,
double  phimin,
double  phimax,
double  scale 
)

Member Function Documentation

◆ addBiotSavart()

void BFieldZone::addBiotSavart ( const double *ATH_RESTRICT  xyz,
double *ATH_RESTRICT  B,
double *ATH_RESTRICT  deriv = nullptr 
) const

compute Biot-Savart magnetic field and add to B[3]

◆ adjustMax()

void BFieldZone::adjustMax ( int  i,
double  x 
)

◆ adjustMin()

void BFieldZone::adjustMin ( int  i,
double  x 
)

◆ appendCond()

void BFieldZone::appendCond ( const BFieldCond cond)

add elements to the current conductors vector

◆ appendField()

void BFieldMesh< short >::appendField ( const BFieldVector< short > &  field)
inherited

append a filed vector

◆ appendMesh()

void BFieldMesh< short >::appendMesh ( int  axis,
double  value 
)
inherited

add a position for a cell corner for an axis

◆ bscale()

double BFieldMesh< short >::bscale
inherited

scale

◆ buildLUT()

void BFieldMesh< short >::buildLUT
inherited

build Look Up Table

◆ cond()

const BFieldCond& BFieldZone::cond ( int  i) const

◆ condVector()

const std::vector<BFieldCond>* BFieldZone::condVector ( ) const

◆ field()

const BFieldVector<short >& BFieldMesh< short >::field ( size_t  index) const
inherited

field vector at cell corner at index

◆ getB()

void BFieldMesh< short >::getB ( const double *ATH_RESTRICT  xyz,
double *ATH_RESTRICT  B,
double *ATH_RESTRICT  deriv = nullptr 
) const
inherited

get the bfield given a point in xyz

◆ getCache()

void BFieldMesh< short >::getCache ( double  z,
double  r,
double  phi,
BFieldCache cache,
double  scaleFactor = 1.0 
) const
inherited

◆ id()

int BFieldZone::id ( ) const

◆ inside()

bool BFieldMesh< short >::inside ( double  z,
double  r,
double  phi 
) const
inherited

◆ max()

double BFieldMesh< short >::max ( size_t  axis) const
inherited

maximum or a particular axis = 0 (z), 1 (r), 2 (phi)

◆ memSize() [1/2]

int BFieldZone::memSize ( ) const

◆ memSize() [2/2]

int BFieldMesh< short >::memSize
inherited

memory size

◆ mesh()

double BFieldMesh< short >::mesh ( size_t  axis,
size_t  index 
) const
inherited

coordinate along axis (0 (z), 1 (r), 2 (phi)) of the cell at index (0 to nmesh-1)

◆ min()

double BFieldMesh< short >::min ( size_t  axis) const
inherited

minimum for a particular axis = 0 (z), 1 (r), 2 (phi)

◆ ncond()

unsigned BFieldZone::ncond ( ) const

◆ nfield()

unsigned BFieldMesh< short >::nfield
inherited

field entries in mesh

◆ nmesh()

unsigned BFieldMesh< short >::nmesh ( size_t  axis) const
inherited

number of cells along each axis = 0 (z), 1 (r), 2 (phi)

◆ phimax()

double BFieldMesh< short >::phimax
inherited

maximum in phi

◆ phimin()

double BFieldMesh< short >::phimin
inherited

minimun in phi

◆ reserve() [1/2]

void BFieldMesh< short >::reserve ( int  nz,
int  nr,
int  nphi 
)
inherited

allocate space to vectors

◆ reserve() [2/2]

void BFieldMesh< short >::reserve ( int  nz,
int  nr,
int  nphi,
int  nfield 
)
inherited

allocate space to vectors

◆ rmax()

double BFieldMesh< short >::rmax
inherited

maximum in r

◆ rmin()

double BFieldMesh< short >::rmin
inherited

minimun in r

◆ scaleBscale()

void BFieldMesh< short >::scaleBscale ( double  factor)
inherited

scale B scale by a factor

◆ setBscale()

void BFieldMesh< short >::setBscale ( double  bscale)
inherited

set B scale

◆ setRange()

void BFieldMesh< short >::setRange ( double  zmin,
double  zmax,
double  rmin,
double  rmax,
double  phimin,
double  phimax 
)
inherited

set mesh range/dimensions

◆ zmax()

double BFieldMesh< short >::zmax
inherited

maximum in z

◆ zmin()

double BFieldMesh< short >::zmin
inherited

minimum in z

Member Data Documentation

◆ m_cond

std::vector<BFieldCond> BFieldZone::m_cond
private

Definition at line 58 of file BFieldZone.h.

◆ m_field

std::vector<BFieldVector<short > > BFieldMesh< short >::m_field
privateinherited

Definition at line 133 of file BFieldMesh.h.

◆ m_id

int BFieldZone::m_id
private

Definition at line 57 of file BFieldZone.h.

◆ m_invUnit

std::array<double, 3> BFieldMesh< short >::m_invUnit
privateinherited

Definition at line 139 of file BFieldMesh.h.

◆ m_LUT

std::array<std::vector<int>, 3> BFieldMesh< short >::m_LUT
privateinherited

Definition at line 138 of file BFieldMesh.h.

◆ m_max

std::array<double, 3> BFieldMesh< short >::m_max
protectedinherited

Definition at line 129 of file BFieldMesh.h.

◆ m_mesh

std::array<std::vector<double>, 3> BFieldMesh< short >::m_mesh
protectedinherited

Definition at line 130 of file BFieldMesh.h.

◆ m_min

std::array<double, 3> BFieldMesh< short >::m_min
protectedinherited

Definition at line 128 of file BFieldMesh.h.

◆ m_nomScale

double BFieldMesh< short >::m_nomScale
privateinherited

Definition at line 135 of file BFieldMesh.h.

◆ m_roff

int BFieldMesh< short >::m_roff
privateinherited

Definition at line 140 of file BFieldMesh.h.

◆ m_scale

double BFieldMesh< short >::m_scale
privateinherited

Definition at line 134 of file BFieldMesh.h.

◆ m_zoff

int BFieldMesh< short >::m_zoff
privateinherited

Definition at line 141 of file BFieldMesh.h.


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