12 entranceParameter1_m(0.0),
13 entranceParameter2_m(0.0),
14 entranceParameter3_m(0.0),
15 exitParameter1_m(0.0),
16 exitParameter2_m(0.0),
17 exitParameter3_m(0.0),
54 if(inputFile.good()) {
57 std::string tempString;
58 double tempDouble = 0.0;
60 bool parsingPassed = interpretLine<std::string, int, int, double>
67 parsingPassed = parsingPassed &&
68 interpretLine<double, double, double, int>
76 parsingPassed = parsingPassed &&
77 interpretLine<double, double, double, int>
87 parsingPassed = parsingPassed &&
88 interpretLine<double>(inputFile, tempDouble);
158 std::string tempString;
161 interpretLine<std::string, int, int, double>(inputFile,
166 interpretLine<double, double, double, int>(inputFile,
171 interpretLine<double, double, double, int>(inputFile,
178 interpretLine<double>(inputFile, tempDouble);
183 interpretLine<double>(inputFile, tempDouble);
196 if (index % 2 == 0)
continue;
203 if (index % 2 == 0)
continue;
230 double &sEnd)
const {
248 <<
" (1D Profile type 1)"
260 std::vector<double> &engeCoeffsExit) {
267 double &entranceParameter2,
268 double &entranceParameter3) {
275 double &exitParameter2,
276 double &exitParameter3) {
301 const size_t N = coefs.size();
302 double expSum = coefs.at(0);
304 for (
size_t i = 1; i < N; ++ i) {
305 expSum +=
std::pow(z, i) * coefs.at(i);
308 return 1.0 / (1.0 +
exp(expSum));
Tps< T > pow(const Tps< T > &x, int y)
Integer power.
Tps< T > exp(const Tps< T > &x)
Exponential.
PETE_TUTree< FnAbs, typename T::PETE_Expr_t > abs(const PETE_Expr< T > &l)
Inform & endl(Inform &inf)
Inform & level3(Inform &inf)
bool interpreteEOF(std::ifstream &in)
void disableFieldmapWarning()
static std::string typeset_msg(const std::string &msg, const std::string &title)
double entranceParameter2_m
double entranceParameter3_m
virtual void setFrequency(double freq)
double entranceParameter1_m
double gapHeight_m
Enge function order for entry region.
virtual void get1DProfile1ExitParam(double &exitParameter1, double &exitParameter2, double &exitParameter3)
double computeExitFringe(double z) const
double computeFringe(const std::vector< double > &coefs, double z) const
virtual void get1DProfile1EngeCoeffs(std::vector< double > &engeCoeffsEntry, std::vector< double > &engeCoeffsExit)
virtual bool getFieldstrength(const Vector_t &X, Vector_t &strength, Vector_t &info) const
virtual double getFrequency() const
virtual bool getFieldDerivative(const Vector_t &X, Vector_t &E, Vector_t &B, const DiffDirection &dir) const
virtual double getFieldGap()
virtual void setFieldGap(double gap)
virtual void getInfo(Inform *)
double sEnd_m
Start of field map in s coordinates (m).
FM1DProfile1(std::string Filename)
Constructor with field map file name.
double sBegin_m
Full gap height of field map.
std::vector< double > engeCoeffsEntry_m
Enge coefficients for map entry and exit regions.
virtual void getFieldDimensions(double &zBegin, double &zEnd) const
int polyOrderExit_m
Enge function order for entry region.
virtual void get1DProfile1EntranceParam(double &entranceParameter1, double &entranceParameter2, double &entranceParameter3)
double computeEntranceFringe(double z) const
std::vector< double > engeCoeffsExit_m