ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::ToroidField Class Referencefinal

Toroid magnetic field implementation. More...

#include <Acts/MagneticField/ToroidField.hpp>

Inheritance diagram for Acts::ToroidField:
[legend]
Collaboration diagram for Acts::ToroidField:
[legend]

Classes

struct  BarrelConfig
 Configuration for barrel toroid coils. More...
struct  Cache
 Cache for magnetic field provider. More...
struct  Config
 Full configuration for the toroid field. More...
struct  EctConfig
 Configuration for end-cap toroid (ECT) coils. More...
struct  LayoutConfig
 Configuration for coil layout and discretization. More...

Public Member Functions

 ToroidField ()
 Construct with default configuration.
 ToroidField (Config cfg)
 Construct with custom configuration.
const Configconfig () const
 Get the configuration.
Result< Vector3getField (const Vector3 &position, MagneticFieldProvider::Cache &cache) const override
 Retrieve magnetic field value at a given location.
bool isInside (const Vector3 &) const
 Field is defined everywhere.
MagneticFieldProvider::Cache makeCache (const MagneticFieldContext &mctx) const override
 Make an opaque cache for the magnetic field.
Public Member Functions inherited from Acts::MagneticFieldProvider
virtual ~MagneticFieldProvider ()=default

Additional Inherited Members

Public Types inherited from Acts::MagneticFieldProvider
using Cache = Acts::AnyBase<sizeof(char) * 512>
 Opaque cache type that can store arbitrary implementation specific cache data.

Detailed Description

Toroid magnetic field implementation.

This class implements a toroid magnetic field configuration similar to those used in ATLAS and other detector systems. It uses Biot-Savart calculations with discrete current-carrying wire segments to compute the field at any position.

Constructor & Destructor Documentation

◆ ToroidField() [1/2]

Acts::ToroidField::ToroidField ( )

Construct with default configuration.

◆ ToroidField() [2/2]

Acts::ToroidField::ToroidField ( Config cfg)
explicit

Construct with custom configuration.

Member Function Documentation

◆ config()

const Config & Acts::ToroidField::config ( ) const

Get the configuration.

◆ getField()

Result< Vector3 > Acts::ToroidField::getField ( const Vector3 & position,
MagneticFieldProvider::Cache & cache ) const
overridevirtual

Retrieve magnetic field value at a given location.

Requires an instance of Acts::MagneticFieldProvider::Cache created through makeCache.

Parameters
[in]positionglobal 3D position for the lookup
[in,out]cacheField provider specific cache object
Returns
magnetic field vector at given position

Implements Acts::MagneticFieldProvider.

◆ isInside()

bool Acts::ToroidField::isInside ( const Vector3 & ) const

Field is defined everywhere.

◆ makeCache()

MagneticFieldProvider::Cache Acts::ToroidField::makeCache ( const MagneticFieldContext & mctx) const
overridevirtual

Make an opaque cache for the magnetic field.

Instructs the specific implementation to generate a Acts::MagneticFieldProvider::Cache instance for magnetic field lookup.

Parameters
mctxThe magnetic field context to generate cache for
Returns
Cache The opaque cache object

Implements Acts::MagneticFieldProvider.