ATLAS Offline Software
|
#include <BFieldZone.h>
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 BFieldCond & | cond (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< BFieldCond > | m_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 |
Definition at line 28 of file BFieldZone.h.
BFieldZone::BFieldZone | ( | int | id, |
double | zmin, | ||
double | zmax, | ||
double | rmin, | ||
double | rmax, | ||
double | phimin, | ||
double | phimax, | ||
double | scale | ||
) |
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]
void BFieldZone::adjustMax | ( | int | i, |
double | x | ||
) |
void BFieldZone::adjustMin | ( | int | i, |
double | x | ||
) |
void BFieldZone::appendCond | ( | const BFieldCond & | cond | ) |
add elements to the current conductors vector
|
inherited |
append a filed vector
|
inherited |
add a position for a cell corner for an axis
|
inherited |
scale
|
inherited |
build Look Up Table
const BFieldCond& BFieldZone::cond | ( | int | i | ) | const |
const std::vector<BFieldCond>* BFieldZone::condVector | ( | ) | const |
|
inherited |
field vector at cell corner at index
|
inherited |
get the bfield given a point in xyz
|
inherited |
int BFieldZone::id | ( | ) | const |
|
inherited |
|
inherited |
maximum or a particular axis = 0 (z), 1 (r), 2 (phi)
int BFieldZone::memSize | ( | ) | const |
|
inherited |
memory size
|
inherited |
coordinate along axis (0 (z), 1 (r), 2 (phi)) of the cell at index (0 to nmesh-1)
|
inherited |
minimum for a particular axis = 0 (z), 1 (r), 2 (phi)
unsigned BFieldZone::ncond | ( | ) | const |
|
inherited |
field entries in mesh
|
inherited |
number of cells along each axis = 0 (z), 1 (r), 2 (phi)
|
inherited |
maximum in phi
|
inherited |
minimun in phi
|
inherited |
allocate space to vectors
|
inherited |
allocate space to vectors
|
inherited |
maximum in r
|
inherited |
minimun in r
|
inherited |
scale B scale by a factor
|
inherited |
set B scale
|
inherited |
set mesh range/dimensions
|
inherited |
maximum in z
|
inherited |
minimum in z
|
private |
Definition at line 58 of file BFieldZone.h.
|
privateinherited |
Definition at line 133 of file BFieldMesh.h.
|
private |
Definition at line 57 of file BFieldZone.h.
|
privateinherited |
Definition at line 139 of file BFieldMesh.h.
|
privateinherited |
Definition at line 138 of file BFieldMesh.h.
|
protectedinherited |
Definition at line 129 of file BFieldMesh.h.
|
protectedinherited |
Definition at line 130 of file BFieldMesh.h.
|
protectedinherited |
Definition at line 128 of file BFieldMesh.h.
|
privateinherited |
Definition at line 135 of file BFieldMesh.h.
|
privateinherited |
Definition at line 140 of file BFieldMesh.h.
|
privateinherited |
Definition at line 134 of file BFieldMesh.h.
|
privateinherited |
Definition at line 141 of file BFieldMesh.h.