Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DMagneticFieldMapCalibDB Class Reference

#include <DMagneticFieldMapCalibDB.h>

+ Inheritance diagram for DMagneticFieldMapCalibDB:

Classes

struct  DBfieldPoint_t
 

Public Member Functions

 DMagneticFieldMapCalibDB (JApplication *japp, int32_t runnumber=1, string namepath="Magnets/Solenoid/solenoid_1500_poisson_20090814_01")
 
 DMagneticFieldMapCalibDB (JCalibration *jcalib, string namepath="Magnets/Solenoid/solenoid_1500_poisson_20090814_01")
 
virtual ~DMagneticFieldMapCalibDB ()
 
int ReadMap (string namepath, int32_t runnumber=1, string context="")
 
void GetField (const DVector3 &pos, DVector3 &Bout) const
 
void GetField (double x, double y, double z, double &Bx, double &By, double &Bz, int method=0) const
 
double GetBz (double x, double y, double z) const
 
void GetFieldGradient (double x, double y, double z, double &dBxdx, double &dBxdy, double &dBxdz, double &dBydx, double &dBydy, double &dBydz, double &dBzdx, double &dBzdy, double &dBzdz) const
 
void GetFieldBicubic (double x, double y, double z, double &Bx, double &By, double &Bz) const
 
void GetFieldAndGradient (double x, double y, double z, double &Bx, double &By, double &Bz, double &dBxdx, double &dBxdy, double &dBxdz, double &dBydx, double &dBydy, double &dBydz, double &dBzdx, double &dBzdy, double &dBzdz) const
 

Protected Attributes

JCalibration * jcalib
 
vector< vector< vector
< DBfieldPoint_t > > > 
Btable
 
float xmin
 
float xmax
 
float ymin
 
float ymax
 
float zmin
 
float zmax
 
int Nx
 
int Ny
 
int Nz
 
double dx
 
double dy
 
double dz
 

Detailed Description

Definition at line 24 of file DMagneticFieldMapCalibDB.h.

Constructor & Destructor Documentation

DMagneticFieldMapCalibDB::DMagneticFieldMapCalibDB ( JApplication *  japp,
int32_t  runnumber = 1,
string  namepath = "Magnets/Solenoid/solenoid_1500_poisson_20090814_01" 
)

Definition at line 16 of file DMagneticFieldMapCalibDB.cc.

References _DBG_.

DMagneticFieldMapCalibDB::DMagneticFieldMapCalibDB ( JCalibration *  jcalib,
string  namepath = "Magnets/Solenoid/solenoid_1500_poisson_20090814_01" 
)

Definition at line 33 of file DMagneticFieldMapCalibDB.cc.

References _DBG_.

DMagneticFieldMapCalibDB::~DMagneticFieldMapCalibDB ( )
virtual

Definition at line 45 of file DMagneticFieldMapCalibDB.cc.

Member Function Documentation

void DMagneticFieldMapCalibDB::GetField ( const DVector3 pos,
DVector3 Bout 
) const
virtual

This calculates the magnetic field at an arbitrary point in space using the field map read from the calibaration database. It interpolates between grid points using the gradient values calculated in ReadMap (called from the constructor).

Implements DMagneticFieldMap.

Definition at line 602 of file DMagneticFieldMapCalibDB.cc.

References _DBG_, DMagneticFieldMapCalibDB::DBfieldPoint_t::Bx, DMagneticFieldMapCalibDB::DBfieldPoint_t::Bz, DMagneticFieldMapCalibDB::DBfieldPoint_t::dBxdx, DMagneticFieldMapCalibDB::DBfieldPoint_t::dBxdz, DMagneticFieldMapCalibDB::DBfieldPoint_t::dBzdx, DMagneticFieldMapCalibDB::DBfieldPoint_t::dBzdz, Nz, DMagneticFieldMapCalibDB::DBfieldPoint_t::x, DMagneticFieldMapCalibDB::DBfieldPoint_t::z, and zmin.

void DMagneticFieldMapCalibDB::GetField ( double  x,
double  y,
double  z,
double &  Bx,
double &  By,
double &  Bz,
int  method = 0 
) const
virtual

This calculates the magnetic field at an arbitrary point in space using the field map read from the calibaration database. It interpolates between grid points using the gradient values calculated in ReadMap (called from the constructor).

Implements DMagneticFieldMap.

Definition at line 550 of file DMagneticFieldMapCalibDB.cc.

References _DBG_, DMagneticFieldMapCalibDB::DBfieldPoint_t::Bx, DMagneticFieldMapCalibDB::DBfieldPoint_t::Bz, DMagneticFieldMapCalibDB::DBfieldPoint_t::dBxdx, DMagneticFieldMapCalibDB::DBfieldPoint_t::dBxdz, DMagneticFieldMapCalibDB::DBfieldPoint_t::dBzdx, DMagneticFieldMapCalibDB::DBfieldPoint_t::dBzdz, Nz, sqrt(), DMagneticFieldMapCalibDB::DBfieldPoint_t::x, DMagneticFieldMapCalibDB::DBfieldPoint_t::z, and zmin.

void DMagneticFieldMapCalibDB::GetFieldAndGradient ( double  x,
double  y,
double  z,
double &  Bx,
double &  By,
double &  Bz,
double &  dBxdx,
double &  dBxdy,
double &  dBxdz,
double &  dBydx,
double &  dBydy,
double &  dBydz,
double &  dBzdx,
double &  dBzdy,
double &  dBzdz 
) const
virtual
void DMagneticFieldMapCalibDB::GetFieldGradient ( double  x,
double  y,
double  z,
double &  dBxdx,
double &  dBxdy,
double &  dBxdz,
double &  dBydx,
double &  dBydy,
double &  dBydz,
double &  dBzdx,
double &  dBzdy,
double &  dBzdz 
) const
virtual
int DMagneticFieldMapCalibDB::ReadMap ( string  namepath,
int32_t  runnumber = 1,
string  context = "" 
)

Member Data Documentation

vector< vector< vector<DBfieldPoint_t> > > DMagneticFieldMapCalibDB::Btable
protected

Definition at line 66 of file DMagneticFieldMapCalibDB.h.

double DMagneticFieldMapCalibDB::dx
protected

Definition at line 70 of file DMagneticFieldMapCalibDB.h.

double DMagneticFieldMapCalibDB::dy
protected

Definition at line 70 of file DMagneticFieldMapCalibDB.h.

double DMagneticFieldMapCalibDB::dz
protected

Definition at line 70 of file DMagneticFieldMapCalibDB.h.

JCalibration* DMagneticFieldMapCalibDB::jcalib
protected

Definition at line 65 of file DMagneticFieldMapCalibDB.h.

int DMagneticFieldMapCalibDB::Nx
protected

Definition at line 69 of file DMagneticFieldMapCalibDB.h.

int DMagneticFieldMapCalibDB::Ny
protected

Definition at line 69 of file DMagneticFieldMapCalibDB.h.

int DMagneticFieldMapCalibDB::Nz
protected

Definition at line 69 of file DMagneticFieldMapCalibDB.h.

float DMagneticFieldMapCalibDB::xmax
protected

Definition at line 68 of file DMagneticFieldMapCalibDB.h.

float DMagneticFieldMapCalibDB::xmin
protected

Definition at line 68 of file DMagneticFieldMapCalibDB.h.

float DMagneticFieldMapCalibDB::ymax
protected

Definition at line 68 of file DMagneticFieldMapCalibDB.h.

float DMagneticFieldMapCalibDB::ymin
protected

Definition at line 68 of file DMagneticFieldMapCalibDB.h.

float DMagneticFieldMapCalibDB::zmax
protected

Definition at line 68 of file DMagneticFieldMapCalibDB.h.

float DMagneticFieldMapCalibDB::zmin
protected

Definition at line 68 of file DMagneticFieldMapCalibDB.h.


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