k4SimGeant4
Loading...
Searching...
No Matches
sim::MapField3DRegular Class Reference

Magnetic field from the field map. More...

#include <SimG4Common/include/SimG4Common/MapField3DRegular.h>

Inheritance diagram for sim::MapField3DRegular:
Collaboration diagram for sim::MapField3DRegular:

Public Member Functions

 MapField3DRegular (const std::vector< double > &bX, const std::vector< double > &bY, const std::vector< double > &bZ, const std::vector< double > &posX, const std::vector< double > &posY, const std::vector< double > &posZ)
 
virtual ~MapField3DRegular ()
 
virtual void GetFieldValue (const G4double point[4], double *bField) const final
 Get the value of the magnetic field value at position.
 

Private Attributes

std::vector< std::vector< std::vector< double > > > m_fieldX
 Bx component of the field.
 
std::vector< std::vector< std::vector< double > > > m_fieldY
 By component of the field.
 
std::vector< std::vector< std::vector< double > > > m_fieldZ
 Bz component of the field.
 
double m_minX
 Extend of the field in x direction.
 
double m_maxX
 
double m_widthX
 
double m_minY
 Extend of the field in y direction.
 
double m_maxY
 
double m_widthY
 
double m_minZ
 Extend of the field in z direction.
 
double m_maxZ
 
double m_widthZ
 
size_t m_nX
 Number of datapoints in every direction.
 
size_t m_nY
 
size_t m_nZ
 

Detailed Description

Magnetic field from the field map.

Regularly spaced 3D map is expected.

Author
Juraj Smiesko

Constructor & Destructor Documentation

◆ MapField3DRegular()

sim::MapField3DRegular::MapField3DRegular ( const std::vector< double > & bX,
const std::vector< double > & bY,
const std::vector< double > & bZ,
const std::vector< double > & posX,
const std::vector< double > & posY,
const std::vector< double > & posZ )
explicit

◆ ~MapField3DRegular()

virtual sim::MapField3DRegular::~MapField3DRegular ( )
inlinevirtual

Member Function Documentation

◆ GetFieldValue()

void sim::MapField3DRegular::GetFieldValue ( const G4double point[4],
double * bField ) const
finalvirtual

Get the value of the magnetic field value at position.

Parameters
[in]pointthe position where the field is to be returned
[out]bFieldthe return value

Member Data Documentation

◆ m_fieldX

std::vector<std::vector<std::vector<double> > > sim::MapField3DRegular::m_fieldX
private

Bx component of the field.

◆ m_fieldY

std::vector<std::vector<std::vector<double> > > sim::MapField3DRegular::m_fieldY
private

By component of the field.

◆ m_fieldZ

std::vector<std::vector<std::vector<double> > > sim::MapField3DRegular::m_fieldZ
private

Bz component of the field.

◆ m_maxX

double sim::MapField3DRegular::m_maxX
private

◆ m_maxY

double sim::MapField3DRegular::m_maxY
private

◆ m_maxZ

double sim::MapField3DRegular::m_maxZ
private

◆ m_minX

double sim::MapField3DRegular::m_minX
private

Extend of the field in x direction.

◆ m_minY

double sim::MapField3DRegular::m_minY
private

Extend of the field in y direction.

◆ m_minZ

double sim::MapField3DRegular::m_minZ
private

Extend of the field in z direction.

◆ m_nX

size_t sim::MapField3DRegular::m_nX
private

Number of datapoints in every direction.

◆ m_nY

size_t sim::MapField3DRegular::m_nY
private

◆ m_nZ

size_t sim::MapField3DRegular::m_nZ
private

◆ m_widthX

double sim::MapField3DRegular::m_widthX
private

◆ m_widthY

double sim::MapField3DRegular::m_widthY
private

◆ m_widthZ

double sim::MapField3DRegular::m_widthZ
private

The documentation for this class was generated from the following files: