CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
MFGrid Class Referenceabstract

#include <MFGrid.h>

Inheritance diagram for MFGrid:
MagneticFieldProvider< float > CylinderFromSectorMFGrid GlobalGridWrapper MFGrid3D ZReflectedMFGrid RectangularCartesianMFGrid RectangularCylindricalMFGrid SpecialCylindricalMFGrid TrapezoidalCartesianMFGrid TrapezoidalCylindricalMFGrid

Public Types

typedef GloballyPositioned< float >::GlobalPoint GlobalPoint
 
typedef GloballyPositioned< float >::GlobalVector GlobalVector
 
typedef GloballyPositioned< float >::LocalPoint LocalPoint
 
typedef GloballyPositioned< float >::LocalVector LocalVector
 
- Public Types inherited from MagneticFieldProvider< float >
typedef Point3DBase< float, GlobalTagGlobalPointType
 
typedef Vector3DBase< float, GlobalTagGlobalVectorType
 
typedef Point3DBase< float, LocalTagLocalPointType
 
typedef Vector3DBase< float, LocalTagLocalVectorType
 

Public Member Functions

virtual Dimensions dimensions () const =0
 
virtual void dump () const
 
const GloballyPositioned< float > & frame () const
 Local reference frame. More...
 
virtual LocalPoint fromGridFrame (double a, double b, double c) const =0
 find grid coordinates for point. For debugging and validation only. More...
 
virtual Indexes index (const LocalPoint &p) const
 
 MFGrid (const GloballyPositioned< float > &vol)
 
virtual LocalPoint nodePosition (int i, int j, int k) const =0
 Position of node in local frame. More...
 
virtual LocalVector nodeValue (int i, int j, int k) const =0
 Field value at node. More...
 
virtual void toGridFrame (const LocalPoint &p, double &a, double &b, double &c) const =0
 find grid coordinates for point. For debugging and validation only. More...
 
LocalVector valueInTesla (const LocalPoint &p) const override=0
 Interpolated field value at given point. More...
 
 ~MFGrid () override
 
- Public Member Functions inherited from MagneticFieldProvider< float >
virtual LocalVectorType derivativeInTeslaPerMeter (const LocalPointType &p, int N) const
 
virtual int hasDerivatives () const
 
virtual LocalVectorType valueInTesla (const LocalPointType &p) const=0
 
virtual ~MagneticFieldProvider ()
 

Private Attributes

GloballyPositioned< float > frame_
 

Detailed Description

Virtual interface for a field provider that is based on interpolation on a regular grid.

Author
T. Todorov

Definition at line 27 of file MFGrid.h.

Member Typedef Documentation

◆ GlobalPoint

Definition at line 29 of file MFGrid.h.

◆ GlobalVector

Definition at line 30 of file MFGrid.h.

◆ LocalPoint

Definition at line 31 of file MFGrid.h.

◆ LocalVector

Definition at line 32 of file MFGrid.h.

Constructor & Destructor Documentation

◆ MFGrid()

MFGrid::MFGrid ( const GloballyPositioned< float > &  vol)
inlineexplicit

Definition at line 34 of file MFGrid.h.

34 : frame_(vol) {}
GloballyPositioned< float > frame_
Definition: MFGrid.h:63

◆ ~MFGrid()

MFGrid::~MFGrid ( )
inlineoverride

Definition at line 36 of file MFGrid.h.

36 {}

Member Function Documentation

◆ dimensions()

virtual Dimensions MFGrid::dimensions ( ) const
pure virtual

◆ dump()

virtual void MFGrid::dump ( void  ) const
inlinevirtual

◆ frame()

const GloballyPositioned<float>& MFGrid::frame ( ) const
inline

◆ fromGridFrame()

virtual LocalPoint MFGrid::fromGridFrame ( double  a,
double  b,
double  c 
) const
pure virtual

◆ index()

virtual Indexes MFGrid::index ( const LocalPoint p) const
inlinevirtual

Reimplemented in MFGrid3D.

Definition at line 57 of file MFGrid.h.

57 { return Indexes(); }
Definition: MFGrid.h:21

◆ nodePosition()

virtual LocalPoint MFGrid::nodePosition ( int  i,
int  j,
int  k 
) const
pure virtual

Position of node in local frame.

Implemented in GlobalGridWrapper, MFGrid3D, CylinderFromSectorMFGrid, and ZReflectedMFGrid.

◆ nodeValue()

virtual LocalVector MFGrid::nodeValue ( int  i,
int  j,
int  k 
) const
pure virtual

Field value at node.

Implemented in GlobalGridWrapper, MFGrid3D, CylinderFromSectorMFGrid, and ZReflectedMFGrid.

◆ toGridFrame()

virtual void MFGrid::toGridFrame ( const LocalPoint p,
double &  a,
double &  b,
double &  c 
) const
pure virtual

◆ valueInTesla()

LocalVector MFGrid::valueInTesla ( const LocalPoint p) const
overridepure virtual

Member Data Documentation

◆ frame_

GloballyPositioned<float> MFGrid::frame_
private

Definition at line 63 of file MFGrid.h.

Referenced by frame().