|
ATLAS Offline Software
|
Go to the documentation of this file.
12 #ifndef MAGFIELDCONDITIONS_ATLASMTFIELDCACHE_H
13 #define MAGFIELDCONDITIONS_ATLASMTFIELDCACHE_H 1
17 #include "GaudiKernel/ServiceHandle.h"
18 #include "GaudiKernel/SystemOfUnits.h"
117 const std::vector<BFieldCond>*
m_cond{
nullptr };
130 #endif // MAGFIELDCONDITIONS_ATLASMTFIELDCACHE_H
const BFieldMeshZR * m_meshZR
fast 2d map made of one zone assuming phi/roatational symmetry Owned by AtlasFieldMap.
void getFieldZR(const double *ATH_RESTRICT xyz, double *ATH_RESTRICT bxyz, double *ATH_RESTRICT deriv=nullptr)
get B field valaue on the z-r plane at given position works only inside the solenoid.
const std::vector< BFieldCond > * m_cond
Pointer to the conductors in the current field zone (to compute Biot-Savart component) Owned by Atlas...
BFieldCacheZR m_cacheZR
Fast 2d field cell/cache.
bool fillFieldCacheZR(double z, double r)
fill Z-R cache for solenoid */
AtlasFieldCache(AtlasFieldCache &&other)=default
AtlasFieldCache()=default
const AtlasFieldMap * m_fieldMap
handle to the magnetic field map - not owned
BFieldCache m_cache3d
Full 3d field cell/cache This will be a cell inside a 3d field zone.
AtlasFieldCache & operator=(AtlasFieldCache &&other)=default
Move-able and copy-able.
bool solenoidOn() const
status of the magnets
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
Macro wrapping the nonstandard restrict keyword.
AtlasFieldCache(double solFieldScale, double torFieldScale, const AtlasFieldMap *fieldMap)
constructor to setup with field scale and magnetic field map for first access to field
double m_solScale
magnetic field scales from currents
bool fillFieldCache(double z, double r, double phi)
fill given magnetic field zone */
const BFieldZone * m_zone3d
A zone of the full 3d field.
AtlasFieldCache(const AtlasFieldCache &other)=default
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
AtlasFieldCache & operator=(const AtlasFieldCache &other)=default
void getField(const double *ATH_RESTRICT xyz, double *ATH_RESTRICT bxyz, double *ATH_RESTRICT deriv=nullptr)
get B field value at given position xyz[3] is in mm, bxyz[3] is in kT if deriv[9] is given,...
~AtlasFieldCache()=default