OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Classes | Public Member Functions | Static Private Member Functions | Private Attributes | List of all members
RootFinderForCSR Class Reference

#include <RootFinderForCSR.h>

Classes

struct  PolyParams
 

Public Member Functions

 RootFinderForCSR (double a, double b, double d, double e)
 
bool hasPositiveRealRoots ()
 
template<class T >
T computeValue (const T &x) const
 
template<class T >
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.

Constructor & Destructor Documentation

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

Definition at line 18 of file RootFinderForCSR.h.

References deltaOne_m, deltaZero_m, and pow().

Here is the call graph for this function:

Member Function Documentation

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

Definition at line 92 of file RootFinderForCSR.h.

References a_m, b_m, d_m, pow(), and T.

Here is the call graph for this function:

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, e_m, pow(), and T.

Referenced by hasPositiveRealRoots(), and searchRoot().

Here is the call graph for this function:

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

Definition at line 151 of file RootFinderForCSR.h.

References RootFinderForCSR::PolyParams::a_m, RootFinderForCSR::PolyParams::b_m, RootFinderForCSR::PolyParams::d_m, RootFinderForCSR::PolyParams::e_m, and pow().

Referenced by searchRoot().

Here is the call graph for this function:

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

Definition at line 132 of file RootFinderForCSR.h.

References searchRange_m.

bool RootFinderForCSR::hasPositiveRealRoots ( )
inline

Definition at line 33 of file RootFinderForCSR.h.

References a_m, abs(), b_m, C1, C2, computeValue(), copysign(), deltaOne_m, deltaZero_m, Physics::e, pow(), searchRange_m, sqrt(), and thirdOrderRoots_m.

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

Here is the call graph for this function:

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, searchRange_m, and T.

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

Here is the call graph for this function:

Member Data Documentation

double RootFinderForCSR::a_m
private
double RootFinderForCSR::b_m
private
double RootFinderForCSR::d_m
private

Definition at line 140 of file RootFinderForCSR.h.

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

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

Definition at line 163 of file RootFinderForCSR.h.

Referenced by hasPositiveRealRoots(), and RootFinderForCSR().

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

Definition at line 162 of file RootFinderForCSR.h.

Referenced by hasPositiveRealRoots(), and RootFinderForCSR().

double RootFinderForCSR::e_m
private

Definition at line 141 of file RootFinderForCSR.h.

Referenced by computeValue(), and searchRoot().

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

Definition at line 160 of file RootFinderForCSR.h.

Referenced by getSearchRange(), hasPositiveRealRoots(), and searchRoot().

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: