1#ifndef CLASSIC_FM2DMAGNETOSTATICEXTENDED_HH
2#define CLASSIC_FM2DMAGNETOSTATICEXTENDED_HH
12 virtual void getFieldDimensions(
double &xIni,
double &xFinal,
double &yIni,
double &yFinal,
double &zIni,
double &zFinal)
const;
14 virtual void getInfo(Inform *msg);
40 unsigned long getIndex(
unsigned int i,
unsigned int j,
unsigned int k)
const;
42 double getWeightedData(
double *data,
const IndexTriplet &idx,
unsigned short corner)
const;
57 void saveField(
const std::string &fname,
unsigned int j)
const;
99 idx.
j = std::floor(std::abs(X(1)) /
hy_m);
ippl::Vector< T, Dim > Vector_t
std::shared_ptr< _FM3DMagnetoStaticExtended > FM3DMagnetoStaticExtended
double * FieldstrengthBx_m
void integrateBy(unsigned j)
virtual bool getFieldDerivative(const Vector_t< double, 3 > &R, Vector_t< double, 3 > &E, Vector_t< double, 3 > &B, const DiffDirection &dir) const
FM3DMagnetoStaticExtended(std::string aFilename)
void smoothData(double *data, unsigned j)
double * FieldstrengthBy_m
virtual bool getFieldstrength(const Vector_t< double, 3 > &R, Vector_t< double, 3 > &E, Vector_t< double, 3 > &B) const
void integrateBx(unsigned j)
double getWeightedData(double *data, const IndexTriplet &idx, unsigned short corner) const
double * FieldstrengthBz_m
virtual void getInfo(Inform *msg)
unsigned int num_gridpy_m
~FM3DMagnetoStaticExtended()
unsigned int num_gridpz_m
unsigned int num_gridpx_m
virtual bool isInside(const Vector_t< double, 3 > &r) const
virtual void setFrequency(double freq)
virtual void getFieldDimensions(double &zBegin, double &zEnd) const
void saveField(const std::string &fname, unsigned int j) const
virtual double getFrequency() const
IndexTriplet getIndex(const Vector_t< double, 3 > &X) const
Vector_t< double, 3 > interpolateTrilinearly(const Vector_t< double, 3 > &X) const
void integrateBz(unsigned j)
Vector_t< double, 3 > weight