|
ATLAS Offline Software
|
Go to the documentation of this file.
47 "Type for the BField Mesh must be one of short or double");
92 double scaleFactor = 1.0)
const;
130 std::array<std::vector<double>, 3>
m_mesh{};
138 std::array<std::vector<int>, 3>
m_LUT{};
BFieldMesh(double zmin, double zmax, double rmin, double rmax, double phimin, double phimax, double bscale)
constructor with mesh dimensions and scale
Scalar phi() const
phi method
double phimin() const
minimun in phi
std::vector< BFieldVector< T > > m_field
double min(size_t axis) const
minimum for a particular axis = 0 (z), 1 (r), 2 (phi)
double max(size_t axis) const
maximum or a particular axis = 0 (z), 1 (r), 2 (phi)
void setRange(double zmin, double zmax, double rmin, double rmax, double phimin, double phimax)
set mesh range/dimensions
void getCache(double z, double r, double phi, BFieldCache &cache, double scaleFactor=1.0) const
std::array< double, 3 > m_min
bool inside(double z, double r, double phi) 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
void appendMesh(int axis, double value)
add a position for a cell corner for an axis
unsigned nfield() const
field entries in mesh
double bscale() const
scale
void scaleBscale(double factor)
scale B scale by a factor
BFieldMesh & operator=(const BFieldMesh &)=default
void reserve(int nz, int nr, int nphi)
allocate space to vectors
double phimax() const
maximum in phi
std::array< std::vector< int >, 3 > m_LUT
BFieldMesh & operator=(BFieldMesh &&)=default
double zmax() const
maximum in z
BFieldMesh(BFieldMesh &&)=default
std::array< std::vector< double >, 3 > m_mesh
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)
unsigned nmesh(size_t axis) const
number of cells along each axis = 0 (z), 1 (r), 2 (phi)
const BFieldVector< T > & field(size_t index) const
field vector at cell corner at index
Macro wrapping the nonstandard restrict keyword.
void setBscale(double bscale)
set B scale
void appendField(const BFieldVector< T > &field)
append a filed vector
double zmin() const
minimum in z
std::array< double, 3 > m_invUnit
void reserve(int nz, int nr, int nphi, int nfield)
allocate space to vectors
int memSize() const
memory size
double rmax() const
maximum in r
std::array< double, 3 > m_max
void buildLUT()
build Look Up Table
BFieldMesh(const BFieldMesh &)=default
double rmin() const
minimun in r