Hall-D Software
alpha
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
DMagneticFieldMapPS2DMap.h
Go to the documentation of this file.
1
// $Id$
2
//
3
// File: DMagneticFieldMapPS2DMap.h
4
5
#ifndef _DMagneticFieldMapPS2DMap_
6
#define _DMagneticFieldMapPS2DMap_
7
8
#include <JANA/jerror.h>
9
10
#include <
HDGEOMETRY/DMagneticFieldMapPS.h
>
11
12
#include <vector>
13
#include <string>
14
using
std::vector;
15
using
std::string
;
16
17
#include <JANA/JApplication.h>
18
#include <JANA/JCalibration.h>
19
using namespace
jana;
20
21
class
DGeometry
;
22
23
24
class
DMagneticFieldMapPS2DMap
:
public
DMagneticFieldMapPS
{
25
public
:
26
DMagneticFieldMapPS2DMap
(JApplication *
japp
, int32_t runnumber=1,
string
namepath =
"Magnets/PairSpectrometer/PS_1.8T_20150513_test"
);
27
DMagneticFieldMapPS2DMap
(JCalibration *jcalib,
string
namepath =
"Magnets/PairSpectrometer/PS_1.8T_20150513_test"
);
28
virtual
~
DMagneticFieldMapPS2DMap
();
29
30
int
ReadMap(
string
namepath, int32_t runnumber=1,
string
context=
""
);
31
32
void
GetField(
const
DVector3
&pos,
DVector3
&Bout)
const
;
33
void
GetField(
double
x
,
double
y
,
double
z,
double
&Bx,
double
&By,
double
&Bz,
int
method=0)
const
;
34
void
GetFieldGradient(
double
x,
double
y,
double
z,
35
double
&dBxdx,
double
&dBxdy,
36
double
&dBxdz,
37
double
&dBydx,
double
&dBydy,
38
double
&dBydz,
39
double
&dBzdx,
double
&dBzdy,
40
double
&dBzdz)
const
;
41
void
GetFieldBicubic(
double
x,
double
y,
double
z,
42
double
&Bx,
double
&By,
double
&Bz)
const
;
43
void
GetFieldAndGradient(
double
x,
double
y,
double
z,
44
double
&Bx,
double
&By,
45
double
&Bz,
46
double
&dBxdx,
double
&dBxdy,
47
double
&dBxdz,
48
double
&dBydx,
double
&dBydy,
49
double
&dBydz,
50
double
&dBzdx,
double
&dBzdy,
51
double
&dBzdz)
const
;
52
53
54
typedef
struct
{
55
float
x
,
y
,
z
,Bx,By,Bz;
56
double
dBxdx, dBxdy,
dBxdz
;
57
double
dBydx, dBydy,
dBydz
;
58
double
dBzdx, dBzdy,
dBzdz
;
59
double
dBxdxdy,dBxdxdz,
dBxdydz
;
60
double
dBydxdy,dBydxdz,
dBydydz
;
61
double
dBzdxdy,dBzdxdz,
dBzdydz
;
62
}
DBfieldPoint_t
;
63
64
protected
:
65
66
JCalibration *
jcalib
;
67
JResourceManager *
jresman
;
68
DGeometry
*
geom
;
69
70
vector< vector< vector<DBfieldPoint_t> > >
Btable
;
71
72
float
xmin, xmax,
ymin
,
ymax
,
zmin
,
zmax
;
73
int
Nx, Ny,
Nz
;
74
double
dx, dy,
dz
;
75
double
one_over_dx,
one_over_dz
;
76
77
double
z_shift
;
78
79
private
:
80
void
InterpolateField(
double
r,
double
z,
double
&Br,
double
&Bz,
double
&dBrdr,
81
double
&dBrdz,
double
&dBzdr,
double
&dBzdz)
const
;
82
};
83
84
#endif // _DMagneticFieldMapPS2DMap_
85
DMagneticFieldMapPS2DMap::Btable
vector< vector< vector< DBfieldPoint_t > > > Btable
Definition:
DMagneticFieldMapPS2DMap.h:70
DMagneticFieldMapPS.h
DMagneticFieldMapPS2DMap::DBfieldPoint_t::dBxdydz
double dBxdydz
Definition:
DMagneticFieldMapPS2DMap.h:59
DMagneticFieldMapPS2DMap::DBfieldPoint_t::dBzdydz
double dBzdydz
Definition:
DMagneticFieldMapPS2DMap.h:61
DVector3
TVector3 DVector3
Definition:
DVector3.h:14
x
Double_t x[NCHANNELS]
Definition:
st_tw_resols.C:39
string
char string[256]
Definition:
plot_epics_dump.C:24
DMagneticFieldMapPS2DMap::zmin
float zmin
Definition:
DMagneticFieldMapPS2DMap.h:72
DMagneticFieldMapPS2DMap::DBfieldPoint_t::z
float z
Definition:
DMagneticFieldMapPS2DMap.h:55
y
#define y
zmax
double zmax
Definition:
mkMaterialMap.cc:43
DMagneticFieldMapPS2DMap::DBfieldPoint_t::dBydz
double dBydz
Definition:
DMagneticFieldMapPS2DMap.h:57
japp
JApplication * japp
DGeometry
Definition:
DGeometry.h:35
DMagneticFieldMapPS2DMap::jresman
JResourceManager * jresman
Definition:
DMagneticFieldMapPS2DMap.h:67
DMagneticFieldMapPS2DMap::DBfieldPoint_t
Definition:
DMagneticFieldMapPS2DMap.h:54
DMagneticFieldMapPS2DMap::jcalib
JCalibration * jcalib
Definition:
DMagneticFieldMapPS2DMap.h:66
DMagneticFieldMapPS2DMap
Definition:
DMagneticFieldMapPS2DMap.h:24
DMagneticFieldMapPS2DMap::Nz
int Nz
Definition:
DMagneticFieldMapPS2DMap.h:73
DMagneticFieldMapPS2DMap::dz
double dz
Definition:
DMagneticFieldMapPS2DMap.h:74
DMagneticFieldMapPS2DMap::DBfieldPoint_t::dBydydz
double dBydydz
Definition:
DMagneticFieldMapPS2DMap.h:60
DMagneticFieldMapPS2DMap::z_shift
double z_shift
Definition:
DMagneticFieldMapPS2DMap.h:77
DMagneticFieldMapPS2DMap::geom
DGeometry * geom
Definition:
DMagneticFieldMapPS2DMap.h:68
DMagneticFieldMapPS
Definition:
DMagneticFieldMapPS.h:12
DMagneticFieldMapPS2DMap::DBfieldPoint_t::dBxdz
double dBxdz
Definition:
DMagneticFieldMapPS2DMap.h:56
ymin
Double_t ymin
Definition:
bcal_hist_eff.C:89
ymax
Double_t ymax
Definition:
bcal_hist_eff.C:91
DMagneticFieldMapPS2DMap::one_over_dz
double one_over_dz
Definition:
DMagneticFieldMapPS2DMap.h:75
DMagneticFieldMapPS2DMap::DBfieldPoint_t::dBzdz
double dBzdz
Definition:
DMagneticFieldMapPS2DMap.h:58
libraries
HDGEOMETRY
DMagneticFieldMapPS2DMap.h
Generated on Fri Jul 26 2019 14:00:53 for Hall-D Software by
1.8.5