OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
Classes | Functions
Util Namespace Reference

Classes

struct  KahanAccumulation
 

Functions

std::string getGitRevision ()
 
double erfinv (double x)
 
Vector_t getTaitBryantAngles (Quaternion rotation, const std::string &)
 
std::string toUpper (const std::string &str)
 
std::string combineFilePath (std::initializer_list< std::string > ilist)
 
unsigned int rewindLinesSDDS (const std::string &fileName, double maxSPos, bool checkForTime)
 rewind the SDDS file such that the spos of the last step is less or equal to maxSPos More...
 
std::string base64_encode (const std::string &string_to_encode)
 
std::string base64_decode (std::string const &encoded_string)
 
double getGamma (Vector_t p)
 
Vector_t getBeta (Vector_t p)
 
double getKineticEnergy (Vector_t p, double mass)
 
double getBetaGamma (double Ekin, double mass)
 
double convertMomentumEVoverCToBetaGamma (double p, double mass)
 
std::string getTimeString (double time, unsigned int precision=3)
 
std::string getLengthString (double spos, unsigned int precision=3)
 
std::string getLengthString (Vector_t spos, unsigned int precision=3)
 
std::string getEnergyString (double energyInMeV, unsigned int precision=3)
 
std::string getChargeString (double charge, unsigned int precision=3)
 
template<typename T >
std::string toStringWithThousandSep (T value, char sep='\'')
 
template<typename T , typename A >
T * c_data (std::vector< T, A > &v)
 
template<typename T , typename A >
T const * c_data (std::vector< T, A > const &v)
 

Function Documentation

◆ base64_decode()

std::string Util::base64_decode ( std::string const &  encoded_string)

Definition at line 354 of file Util.cpp.

◆ base64_encode()

std::string Util::base64_encode ( const std::string &  string_to_encode)

Definition at line 310 of file Util.cpp.

Referenced by MeshGenerator::write().

◆ c_data() [1/2]

template<typename T , typename A >
T* Util::c_data ( std::vector< T, A > &  v)

◆ c_data() [2/2]

template<typename T , typename A >
T const* Util::c_data ( std::vector< T, A > const &  v)

Definition at line 204 of file Util.h.

References Attrib::Legacy::Distribution::T.

◆ combineFilePath()

std::string Util::combineFilePath ( std::initializer_list< std::string >  ilist)

◆ convertMomentumEVoverCToBetaGamma()

double Util::convertMomentumEVoverCToBetaGamma ( double  p,
double  mass 
)
inline

◆ erfinv()

double Util::erfinv ( double  x)

◆ getBeta()

Vector_t Util::getBeta ( Vector_t  p)
inline

Definition at line 32 of file Util.h.

References getGamma().

Referenced by Monitor::apply(), and Monitor::applyToReferenceParticle().

Here is the call graph for this function:

◆ getBetaGamma()

double Util::getBetaGamma ( double  Ekin,
double  mass 
)
inline

◆ getChargeString()

std::string Util::getChargeString ( double  charge,
unsigned int  precision = 3 
)
inline

Definition at line 151 of file Util.h.

References abs().

Referenced by PartBunchBase< T, Dim >::print().

Here is the call graph for this function:

◆ getEnergyString()

std::string Util::getEnergyString ( double  energyInMeV,
unsigned int  precision = 3 
)
inline

Definition at line 128 of file Util.h.

Referenced by ParallelTTracker::dumpStats(), and PartBunchBase< T, Dim >::print().

◆ getGamma()

double Util::getGamma ( Vector_t  p)
inline

◆ getGitRevision()

std::string Util::getGitRevision ( )

◆ getKineticEnergy()

double Util::getKineticEnergy ( Vector_t  p,
double  mass 
)
inline

◆ getLengthString() [1/2]

std::string Util::getLengthString ( double  spos,
unsigned int  precision = 3 
)
inline

Definition at line 78 of file Util.h.

References abs().

Referenced by ParallelTTracker::dumpStats(), ParallelTTracker::execute(), and PartBunchBase< T, Dim >::print().

Here is the call graph for this function:

◆ getLengthString() [2/2]

std::string Util::getLengthString ( Vector_t  spos,
unsigned int  precision = 3 
)
inline

Definition at line 97 of file Util.h.

References abs(), and max().

Here is the call graph for this function:

◆ getTaitBryantAngles()

Vector_t Util::getTaitBryantAngles ( Quaternion  rotation,
const std::string &   
)

Definition at line 102 of file Util.cpp.

References atan2(), Quaternion::conjugate(), cos(), euclidean_norm(), fmod(), Quaternion::rotate(), sin(), and Physics::two_pi.

Referenced by OpalBeamline::save3DInput(), and H5PartWrapperForPT::writeStepHeader().

Here is the call graph for this function:

◆ getTimeString()

std::string Util::getTimeString ( double  time,
unsigned int  precision = 3 
)
inline

Definition at line 55 of file Util.h.

References abs().

Referenced by ParallelTTracker::dumpStats(), ParallelTTracker::execute(), and PartBunchBase< T, Dim >::print().

Here is the call graph for this function:

◆ rewindLinesSDDS()

unsigned int Util::rewindLinesSDDS ( const std::string &  fileName,
double  maxSPos,
bool  checkForTime 
)

rewind the SDDS file such that the spos of the last step is less or equal to maxSPos

Definition at line 164 of file Util.cpp.

References Physics::c, Physics::e, end(), endl(), Hypervolume::fs, INFOMSG, level2(), IpplInfo::myNode(), and name.

Referenced by StatBaseWriter::rewindToSpos(), and Monitor::writeStatistics().

Here is the call graph for this function:

◆ toStringWithThousandSep()

template<typename T >
std::string Util::toStringWithThousandSep ( value,
char  sep = '\'' 
)

Definition at line 209 of file Util.h.

References abs(), floor(), log(), max(), pow(), and Attrib::Legacy::Distribution::T.

Referenced by ScatteringPhysics::print().

Here is the call graph for this function:

◆ toUpper()

std::string Util::toUpper ( const std::string &  str)