OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
RootFinderForCSR Class Reference

#include <RootFinderForCSR.h>

Collaboration diagram for RootFinderForCSR:

Classes

struct  PolyParams

Public Member Functions

 RootFinderForCSR (double a, double b, double d, double e)
bool hasPositiveRealRoots ()
template<class T>
computeValue (const T &x) const
template<class T>
computeDerivative (T x) const
double searchRoot (const double &tol)
std::pair< double, double > getSearchRange () const

Static Private Member Functions

static double computeValueGSL (double x, void *params)

Private Attributes

double a_m
double b_m
double d_m
double e_m
std::pair< double, double > searchRange_m
std::complex< double > deltaZero_m
std::complex< double > deltaOne_m
std::vector< double > thirdOrderRoots_m

Detailed Description

Definition at line 16 of file RootFinderForCSR.h.


Class Documentation

◆ RootFinderForCSR::PolyParams

struct RootFinderForCSR::PolyParams

Definition at line 143 of file RootFinderForCSR.h.

Collaboration diagram for RootFinderForCSR::PolyParams:
Class Members
double a_m
double b_m
double d_m
double e_m

Constructor & Destructor Documentation

◆ RootFinderForCSR()

RootFinderForCSR::RootFinderForCSR ( double a,
double b,
double d,
double e )
inline

Definition at line 18 of file RootFinderForCSR.h.

References a, a_m, b_m, d_m, deltaOne_m, deltaZero_m, e_m, and searchRange_m.

Member Function Documentation

◆ computeDerivative()

template<class T>
T RootFinderForCSR::computeDerivative ( T x) const
inline

Definition at line 92 of file RootFinderForCSR.h.

References a_m, b_m, and d_m.

◆ computeValue()

template<class T>
T RootFinderForCSR::computeValue ( const T & x) const
inline

Definition at line 85 of file RootFinderForCSR.h.

References a_m, b_m, d_m, and e_m.

Referenced by hasPositiveRealRoots(), and searchRoot().

◆ computeValueGSL()

double RootFinderForCSR::computeValueGSL ( double x,
void * params )
inlinestaticprivate

◆ getSearchRange()

std::pair< double, double > RootFinderForCSR::getSearchRange ( ) const
inline

Definition at line 132 of file RootFinderForCSR.h.

References searchRange_m.

◆ hasPositiveRealRoots()

bool RootFinderForCSR::hasPositiveRealRoots ( )
inline

Definition at line 33 of file RootFinderForCSR.h.

References a_m, b_m, C1, C2, computeValue(), copysign(), deltaOne_m, deltaZero_m, searchRange_m, sqrt(), and thirdOrderRoots_m.

Referenced by CSRIGFWakeFunction::calcPsi(), and CSRWakeFunction::calcPsi().

Here is the call graph for this function:

◆ searchRoot()

double RootFinderForCSR::searchRoot ( const double & tol)
inline

Definition at line 98 of file RootFinderForCSR.h.

References a_m, b_m, computeValue(), computeValueGSL(), d_m, e_m, and searchRange_m.

Referenced by CSRIGFWakeFunction::calcPsi(), and CSRWakeFunction::calcPsi().

Here is the call graph for this function:

Member Data Documentation

◆ a_m

double RootFinderForCSR::a_m
private

◆ b_m

double RootFinderForCSR::b_m
private

◆ d_m

double RootFinderForCSR::d_m
private

Definition at line 140 of file RootFinderForCSR.h.

Referenced by computeDerivative(), computeValue(), RootFinderForCSR(), and searchRoot().

◆ deltaOne_m

std::complex<double> RootFinderForCSR::deltaOne_m
private

Definition at line 163 of file RootFinderForCSR.h.

Referenced by hasPositiveRealRoots(), and RootFinderForCSR().

◆ deltaZero_m

std::complex<double> RootFinderForCSR::deltaZero_m
private

Definition at line 162 of file RootFinderForCSR.h.

Referenced by hasPositiveRealRoots(), and RootFinderForCSR().

◆ e_m

double RootFinderForCSR::e_m
private

Definition at line 141 of file RootFinderForCSR.h.

Referenced by computeValue(), RootFinderForCSR(), and searchRoot().

◆ searchRange_m

std::pair<double, double> RootFinderForCSR::searchRange_m
private

◆ thirdOrderRoots_m

std::vector<double> RootFinderForCSR::thirdOrderRoots_m
private

Definition at line 165 of file RootFinderForCSR.h.

Referenced by hasPositiveRealRoots().


The documentation for this class was generated from the following file: