ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4JTPolynomialSolver Class Reference

#include <geant4/tree/geant4-10.6-release/source/global/HEPNumerics/include/G4JTPolynomialSolver.hh>

+ Collaboration diagram for G4JTPolynomialSolver:

Public Member Functions

 G4JTPolynomialSolver ()
 
 ~G4JTPolynomialSolver ()
 
G4int FindRoots (G4double *op, G4int degree, G4double *zeror, G4double *zeroi)
 

Private Member Functions

void Quadratic (G4double a, G4double b1, G4double c, G4double *sr, G4double *si, G4double *lr, G4double *li)
 
void ComputeFixedShiftPolynomial (G4int l2, G4int *nz)
 
void QuadraticPolynomialIteration (G4double *uu, G4double *vv, G4int *nz)
 
void RealPolynomialIteration (G4double *sss, G4int *nz, G4int *iflag)
 
void ComputeScalarFactors (G4int *type)
 
void ComputeNextPolynomial (G4int *type)
 
void ComputeNewEstimate (G4int type, G4double *uu, G4double *vv)
 
void QuadraticSyntheticDivision (G4int n, G4double *u, G4double *v, std::vector< G4double > &p, std::vector< G4double > &q, G4double *a, G4double *b)
 

Private Attributes

std::vector< G4doublep
 
std::vector< G4doubleqp
 
std::vector< G4doublek
 
std::vector< G4doubleqk
 
std::vector< G4doublesvk
 
G4double sr
 
G4double si
 
G4double u
 
G4double v
 
G4double a
 
G4double b
 
G4double c
 
G4double d
 
G4double a1
 
G4double a3
 
G4double a7
 
G4double e
 
G4double f
 
G4double g
 
G4double h
 
G4double szr
 
G4double szi
 
G4double lzr
 
G4double lzi
 
G4int n
 

Static Private Attributes

static const G4double base = 2
 
static const G4double eta = DBL_EPSILON
 
static const G4double infin = DBL_MAX
 
static const G4double smalno = DBL_MIN
 
static const G4double are = DBL_EPSILON
 
static const G4double mre = DBL_EPSILON
 
static const G4double lo = DBL_MIN/DBL_EPSILON
 

Detailed Description

Definition at line 69 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 69 of file G4JTPolynomialSolver.hh

Constructor & Destructor Documentation

G4JTPolynomialSolver::G4JTPolynomialSolver ( )

Definition at line 47 of file G4JTPolynomialSolver.cc.

View newest version in sPHENIX GitHub at line 47 of file G4JTPolynomialSolver.cc

G4JTPolynomialSolver::~G4JTPolynomialSolver ( )

Definition at line 57 of file G4JTPolynomialSolver.cc.

View newest version in sPHENIX GitHub at line 57 of file G4JTPolynomialSolver.cc

Member Function Documentation

void G4JTPolynomialSolver::ComputeFixedShiftPolynomial ( G4int  l2,
G4int nz 
)
private

Definition at line 310 of file G4JTPolynomialSolver.cc.

View newest version in sPHENIX GitHub at line 310 of file G4JTPolynomialSolver.cc

References a, b, ComputeNewEstimate(), ComputeNextPolynomial(), ComputeScalarFactors(), k, n, qp, QuadraticPolynomialIteration(), QuadraticSyntheticDivision(), RealPolynomialIteration(), sr, svk, u, and v.

Referenced by FindRoots().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4JTPolynomialSolver::ComputeNewEstimate ( G4int  type,
G4double uu,
G4double vv 
)
private

Definition at line 778 of file G4JTPolynomialSolver.cc.

View newest version in sPHENIX GitHub at line 778 of file G4JTPolynomialSolver.cc

References a, a1, a3, a7, b, c, c1, c2, d, f, g, h, k, n, u, and v.

Referenced by ComputeFixedShiftPolynomial(), and QuadraticPolynomialIteration().

+ Here is the caller graph for this function:

void G4JTPolynomialSolver::ComputeNextPolynomial ( G4int type)
private

Definition at line 733 of file G4JTPolynomialSolver.cc.

View newest version in sPHENIX GitHub at line 733 of file G4JTPolynomialSolver.cc

References a, a1, a3, a7, b, eta, k, n, qk, and qp.

Referenced by ComputeFixedShiftPolynomial(), and QuadraticPolynomialIteration().

+ Here is the caller graph for this function:

void G4JTPolynomialSolver::ComputeScalarFactors ( G4int type)
private

Definition at line 691 of file G4JTPolynomialSolver.cc.

View newest version in sPHENIX GitHub at line 691 of file G4JTPolynomialSolver.cc

References a, a1, a3, a7, b, c, d, e, eta, f, g, h, k, n, qk, QuadraticSyntheticDivision(), u, and v.

Referenced by ComputeFixedShiftPolynomial(), and QuadraticPolynomialIteration().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4JTPolynomialSolver::FindRoots ( G4double op,
G4int  degree,
G4double zeror,
G4double zeroi 
)

Definition at line 61 of file G4JTPolynomialSolver.cc.

View newest version in sPHENIX GitHub at line 61 of file G4JTPolynomialSolver.cc

References bb, ComputeFixedShiftPolynomial(), deg, dx, eta, ff, G4Exp(), G4Log(), G4Pow::GetInstance(), infin, k, lo, lzi, lzr, max, min, n, G4Pow::powN(), pt, qk, qp, Quadratic(), sc, si, smalno, sr, svk, szi, szr, t, u, v, x, and xx.

Referenced by G4TwistBoxSide::DistanceToSurface(), G4TwistTrapParallelSide::DistanceToSurface(), G4TwistTrapAlphaSide::DistanceToSurface(), and G4Torus::TorusRootsJT().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4JTPolynomialSolver::Quadratic ( G4double  a,
G4double  b1,
G4double  c,
G4double sr,
G4double si,
G4double lr,
G4double li 
)
private

Definition at line 847 of file G4JTPolynomialSolver.cc.

View newest version in sPHENIX GitHub at line 847 of file G4JTPolynomialSolver.cc

References bb.

Referenced by FindRoots(), and QuadraticPolynomialIteration().

+ Here is the caller graph for this function:

void G4JTPolynomialSolver::QuadraticPolynomialIteration ( G4double uu,
G4double vv,
G4int nz 
)
private

Definition at line 479 of file G4JTPolynomialSolver.cc.

View newest version in sPHENIX GitHub at line 479 of file G4JTPolynomialSolver.cc

References a, are, b, ComputeNewEstimate(), ComputeNextPolynomial(), ComputeScalarFactors(), eta, lzi, lzr, mre, n, qp, Quadratic(), QuadraticSyntheticDivision(), szi, szr, t, u, and v.

Referenced by ComputeFixedShiftPolynomial().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4JTPolynomialSolver::QuadraticSyntheticDivision ( G4int  n,
G4double u,
G4double v,
std::vector< G4double > &  p,
std::vector< G4double > &  q,
G4double a,
G4double b 
)
private

Definition at line 826 of file G4JTPolynomialSolver.cc.

View newest version in sPHENIX GitHub at line 826 of file G4JTPolynomialSolver.cc

References bb, and G4InuclParticleNames::nn.

Referenced by ComputeFixedShiftPolynomial(), ComputeScalarFactors(), and QuadraticPolynomialIteration().

+ Here is the caller graph for this function:

void G4JTPolynomialSolver::RealPolynomialIteration ( G4double sss,
G4int nz,
G4int iflag 
)
private

Definition at line 583 of file G4JTPolynomialSolver.cc.

View newest version in sPHENIX GitHub at line 583 of file G4JTPolynomialSolver.cc

References are, eta, k, mre, mx, n, qk, qp, sss, szi, szr, and t.

Referenced by ComputeFixedShiftPolynomial().

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4JTPolynomialSolver::a
private
G4double G4JTPolynomialSolver::a1
private

Definition at line 92 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 92 of file G4JTPolynomialSolver.hh

Referenced by ComputeNewEstimate(), ComputeNextPolynomial(), and ComputeScalarFactors().

G4double G4JTPolynomialSolver::a3
private

Definition at line 92 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 92 of file G4JTPolynomialSolver.hh

Referenced by ComputeNewEstimate(), ComputeNextPolynomial(), and ComputeScalarFactors().

G4double G4JTPolynomialSolver::a7
private

Definition at line 92 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 92 of file G4JTPolynomialSolver.hh

Referenced by ComputeNewEstimate(), ComputeNextPolynomial(), and ComputeScalarFactors().

const G4double G4JTPolynomialSolver::are = DBL_EPSILON
staticprivate

Definition at line 104 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 104 of file G4JTPolynomialSolver.hh

Referenced by QuadraticPolynomialIteration(), and RealPolynomialIteration().

G4double G4JTPolynomialSolver::b
private
const G4double G4JTPolynomialSolver::base = 2
staticprivate

Definition at line 100 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 100 of file G4JTPolynomialSolver.hh

G4double G4JTPolynomialSolver::c
private

Definition at line 91 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 91 of file G4JTPolynomialSolver.hh

Referenced by ComputeNewEstimate(), and ComputeScalarFactors().

G4double G4JTPolynomialSolver::d
private

Definition at line 91 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 91 of file G4JTPolynomialSolver.hh

Referenced by ComputeNewEstimate(), and ComputeScalarFactors().

G4double G4JTPolynomialSolver::e
private

Definition at line 93 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 93 of file G4JTPolynomialSolver.hh

Referenced by ComputeScalarFactors().

const G4double G4JTPolynomialSolver::eta = DBL_EPSILON
staticprivate

Definition at line 101 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 101 of file G4JTPolynomialSolver.hh

Referenced by ComputeNextPolynomial(), ComputeScalarFactors(), FindRoots(), QuadraticPolynomialIteration(), and RealPolynomialIteration().

G4double G4JTPolynomialSolver::f
private

Definition at line 93 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 93 of file G4JTPolynomialSolver.hh

Referenced by ComputeNewEstimate(), and ComputeScalarFactors().

G4double G4JTPolynomialSolver::g
private

Definition at line 93 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 93 of file G4JTPolynomialSolver.hh

Referenced by ComputeNewEstimate(), and ComputeScalarFactors().

G4double G4JTPolynomialSolver::h
private

Definition at line 93 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 93 of file G4JTPolynomialSolver.hh

Referenced by ComputeNewEstimate(), and ComputeScalarFactors().

const G4double G4JTPolynomialSolver::infin = DBL_MAX
staticprivate

Definition at line 102 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 102 of file G4JTPolynomialSolver.hh

Referenced by FindRoots().

std::vector<G4double> G4JTPolynomialSolver::k
private
const G4double G4JTPolynomialSolver::lo = DBL_MIN/DBL_EPSILON
staticprivate

Definition at line 106 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 106 of file G4JTPolynomialSolver.hh

Referenced by FindRoots().

G4double G4JTPolynomialSolver::lzi
private

Definition at line 95 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 95 of file G4JTPolynomialSolver.hh

Referenced by FindRoots(), and QuadraticPolynomialIteration().

G4double G4JTPolynomialSolver::lzr
private

Definition at line 95 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 95 of file G4JTPolynomialSolver.hh

Referenced by FindRoots(), and QuadraticPolynomialIteration().

const G4double G4JTPolynomialSolver::mre = DBL_EPSILON
staticprivate

Definition at line 105 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 105 of file G4JTPolynomialSolver.hh

Referenced by QuadraticPolynomialIteration(), and RealPolynomialIteration().

G4int G4JTPolynomialSolver::n
private
std::vector<G4double> G4JTPolynomialSolver::p
private

Definition at line 82 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 82 of file G4JTPolynomialSolver.hh

std::vector<G4double> G4JTPolynomialSolver::qk
private

Definition at line 85 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 85 of file G4JTPolynomialSolver.hh

Referenced by ComputeNextPolynomial(), ComputeScalarFactors(), FindRoots(), and RealPolynomialIteration().

std::vector<G4double> G4JTPolynomialSolver::qp
private

Definition at line 83 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 83 of file G4JTPolynomialSolver.hh

Referenced by ComputeFixedShiftPolynomial(), ComputeNextPolynomial(), FindRoots(), QuadraticPolynomialIteration(), and RealPolynomialIteration().

G4double G4JTPolynomialSolver::si
private

Definition at line 89 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 89 of file G4JTPolynomialSolver.hh

Referenced by FindRoots().

const G4double G4JTPolynomialSolver::smalno = DBL_MIN
staticprivate

Definition at line 103 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 103 of file G4JTPolynomialSolver.hh

Referenced by FindRoots().

G4double G4JTPolynomialSolver::sr
private

Definition at line 88 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 88 of file G4JTPolynomialSolver.hh

Referenced by ComputeFixedShiftPolynomial(), and FindRoots().

std::vector<G4double> G4JTPolynomialSolver::svk
private

Definition at line 86 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 86 of file G4JTPolynomialSolver.hh

Referenced by ComputeFixedShiftPolynomial(), and FindRoots().

G4double G4JTPolynomialSolver::szi
private

Definition at line 94 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 94 of file G4JTPolynomialSolver.hh

Referenced by FindRoots(), QuadraticPolynomialIteration(), and RealPolynomialIteration().

G4double G4JTPolynomialSolver::szr
private

Definition at line 94 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 94 of file G4JTPolynomialSolver.hh

Referenced by FindRoots(), QuadraticPolynomialIteration(), and RealPolynomialIteration().

G4double G4JTPolynomialSolver::u
private

Definition at line 90 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 90 of file G4JTPolynomialSolver.hh

Referenced by ComputeFixedShiftPolynomial(), ComputeNewEstimate(), ComputeScalarFactors(), FindRoots(), and QuadraticPolynomialIteration().

G4double G4JTPolynomialSolver::v
private

Definition at line 90 of file G4JTPolynomialSolver.hh.

View newest version in sPHENIX GitHub at line 90 of file G4JTPolynomialSolver.hh

Referenced by ComputeFixedShiftPolynomial(), ComputeNewEstimate(), ComputeScalarFactors(), FindRoots(), and QuadraticPolynomialIteration().


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