19#ifndef CLASSIC_FIELDMAP3DH5BLOCKBASE_H
20#define CLASSIC_FIELDMAP3DH5BLOCKBASE_H
26static_assert (
sizeof(double) ==
sizeof (h5_float64_t),
27 "double and h5_float64_t are not the same type" );
28static_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 aFilename);
175 const std::vector<double>& data,
176 const IndexTriplet& idx,
177 unsigned short corner)
const;
180 const std::vector<double>&,
181 const std::vector<double>&,
182 const std::vector<double>&,
185 enum :
unsigned short {
ippl::Vector< T, Dim > Vector_t
virtual void setFrequency(double freq)
IndexTriplet getIndex(const Vector_t< double, 3 > &X) const
void getFieldInfo(const char *)
long long getNumSteps(void)
void openFileMPIOCollective(const std::string aFilename)
unsigned long getIndex(unsigned int i, unsigned int j, unsigned int k) const
virtual ~FM3DH5BlockBase()
std::vector< double > FieldstrengthEz_m
virtual double getFrequency() const
virtual void getFieldDimensions(double &zBegin, double &zEnd) const
void setStep(const long long)
virtual bool isInside(const Vector_t< double, 3 > &r) const
virtual void getOnaxisEz(std::vector< std::pair< double, double > > &F)
virtual void getFieldDimensions(double &xIni, double &xFinal, double &yIni, double &yFinal, double &zIni, double &zFinal) const
double getWeightedData(const std::vector< double > &data, const IndexTriplet &idx, unsigned short corner) const
void getResonanceFrequency(void)
std::vector< double > FieldstrengthEx_m
void readField(const char *name, double *x, double *y, double *z)
virtual void getInfo(Inform *msg)
Vector_t< double, 3 > interpolateTrilinearly(const std::vector< double > &, const std::vector< double > &, const std::vector< double > &, const Vector_t< double, 3 > &X) const
virtual bool getFieldstrength(const Vector_t< double, 3 > &, Vector_t< double, 3 > &, Vector_t< double, 3 > &) const =0
virtual bool getFieldDerivative(const Vector_t< double, 3 > &, Vector_t< double, 3 > &, Vector_t< double, 3 > &, const DiffDirection &) const
std::vector< double > FieldstrengthEy_m
Vector_t< double, 3 > weight