2 #ifndef __PHField2D_H__
3 #define __PHField2D_H__
7 #include <boost/tuple/tuple.hpp>
8 #include <boost/tuple/tuple_comparison.hpp>
16 typedef boost::tuple<float, float> trio;
19 PHField2D(
const std::string &filename,
const int verb = 0,
const float magfield_rescale = 1.0);
25 void GetFieldValue(
const double Point[4],
double *Bfield)
const;
27 void GetFieldCyl(
const double CylPoint[4],
double *Bfield)
const;
44 void print_map(std::map<trio, trio>::iterator &it)
const;
51 mutable unsigned int r_index0_cache;
52 mutable unsigned int r_index1_cache;
53 mutable unsigned int z_index0_cache;
54 mutable unsigned int z_index1_cache;
std::vector< std::vector< float > > BFieldR_
void GetFieldCyl(const double CylPoint[4], double *Bfield) const
PHField2D(const std::string &filename, const int verb=0, const float magfield_rescale=1.0)
std::vector< float > r_map_
std::vector< std::vector< float > > BFieldPHI_
std::vector< float > phi_map_
std::vector< float > z_map_
std::vector< std::vector< float > > BFieldZ_
void GetFieldValue(const double Point[4], double *Bfield) const
transient DST object for field storage and access