1 #ifndef CLASSIC_AstraFIELDMAP1DFAST_HH
2 #define CLASSIC_AstraFIELDMAP1DFAST_HH
14 virtual void getFieldDimensions(
double &xIni,
double &xFinal,
double &yIni,
double &yFinal,
double &zIni,
double &zFinal)
const = 0;
15 virtual void swap() = 0;
19 virtual void getOnaxisEz(std::vector<std::pair<double, double> > & F);
virtual void getInfo(Inform *)=0
std::shared_ptr< _Astra1D_fast > Astra1D_fast
virtual void getFieldDimensions(double &zBegin, double &zEnd) const =0
virtual double getFrequency() const =0
virtual bool getFieldDerivative(const Vector_t &R, Vector_t &E, Vector_t &B, const DiffDirection &dir) const =0
gsl_spline * onAxisInterpolants_m[4]
std::vector< double > interpolateFieldData(std::vector< double > &samplingPoints)
virtual bool getFieldstrength(const Vector_t &R, Vector_t &E, Vector_t &B) const =0
void normalizeFieldData(double maxEz)
virtual void getOnaxisEz(std::vector< std::pair< double, double > > &F)
double readFieldData(std::ifstream &file)
virtual bool isInside(const Vector_t &r) const
std::vector< double > getEvenlyDistributedSamplingPoints()
virtual void setFrequency(double freq)=0
_Astra1D_fast(const std::string &filename)
gsl_interp_accel * onAxisAccel_m[4]
void computeFieldDerivatives(std::vector< double > &fourierComponents, int accuracy)
std::vector< double > computeFourierCoefficients(int accuracy, std::vector< double > &evenSampling)
bool determineNumSamplingPoints(std::ifstream &file)