19 #ifndef CLASSIC_FIELDMAP3DH5BLOCKBASE_H
20 #define CLASSIC_FIELDMAP3DH5BLOCKBASE_H
26 static_assert (
sizeof(
double) ==
sizeof (h5_float64_t),
27 "double and h5_float64_t are not the same type" );
28 static_assert (
sizeof(
long long) ==
sizeof (h5_int64_t),
29 "long long and h5_int64_t are not the same type" );
44 double &zBegin,
double &zEnd
51 double &xIni,
double &xFinal,
52 double &yIni,
double &yFinal,
53 double &zIni,
double &zFinal
85 std::vector<std::pair<double, double> >& F);
95 const std::string& filename);
192 long double difference = (
long double)(
X(0)) - (
long double)(
xbegin_m);
194 (
unsigned int)((difference) / (
long double)(
hx_m)),
198 (
long double)difference,
202 difference = (
long double)(
X(1)) - (
long double)(
ybegin_m);
204 (
unsigned int)((difference) / (
long double)(
hy_m)),
208 (
long double)difference,
212 difference = (
long double)(
X(2)) - (
long double)(
zbegin_m);
214 (
unsigned int)((difference) / (
long double)(
hz_m)),
218 (
long double)difference,
225 const std::vector<double>& data,
226 const IndexTriplet& idx,
227 unsigned short corner)
const;
230 const std::vector<double>&,
231 const std::vector<double>&,
232 const std::vector<double>&,
235 enum :
unsigned short {
virtual void getFieldDimensions(double &zBegin, double &zEnd) const
IndexTriplet getIndex(const Vector_t &X) const
virtual ~_FM3DH5BlockBase()
virtual bool getFieldstrength(const Vector_t &, Vector_t &, Vector_t &) const =0
std::shared_ptr< _FM3DH5BlockBase > FM3DH5BlockBase
virtual bool isInside(const Vector_t &r) const
unsigned long getIndex(unsigned int i, unsigned int j, unsigned int k) const
void getFieldInfo(const char *)
unsigned int num_gridpz_m
void getResonanceFrequency(void)
void readField(const char *name, double *x, double *y, double *z)
T::PETE_Expr_t::PETE_Return_t min(const PETE_Expr< T > &expr, NDIndex< D > &loc)
long long getNumSteps(void)
unsigned int num_gridpy_m
void openFileMPIOCollective(const std::string &filename)
void setStep(const long long)
std::vector< double > FieldstrengthEy_m
double getWeightedData(const std::vector< double > &data, const IndexTriplet &idx, unsigned short corner) const
virtual void getOnaxisEz(std::vector< std::pair< double, double > > &F)
virtual void setFrequency(double freq)
virtual void getFieldDimensions(double &xIni, double &xFinal, double &yIni, double &yFinal, double &zIni, double &zFinal) const
PETE_TBTree< FnFmod, PETE_Scalar< Vektor< T1, Dim > >, typename T2::PETE_Expr_t > fmod(const Vektor< T1, Dim > &l, const PETE_Expr< T2 > &r)
virtual double getFrequency() const
unsigned int num_gridpx_m
virtual bool getFieldDerivative(const Vector_t &, Vector_t &, Vector_t &, const DiffDirection &) const
virtual void getInfo(Inform *msg)
Vector_t interpolateTrilinearly(const std::vector< double > &, const std::vector< double > &, const std::vector< double > &, const Vector_t &X) const
std::vector< double > FieldstrengthEx_m
std::vector< double > FieldstrengthEz_m