Geant4  10.01.p03
G4JTPolynomialSolver Class Reference

#include <G4JTPolynomialSolver.hh>

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 70 of file G4JTPolynomialSolver.hh.

Constructor & Destructor Documentation

G4JTPolynomialSolver::G4JTPolynomialSolver ( )

Definition at line 48 of file G4JTPolynomialSolver.cc.

G4JTPolynomialSolver::~G4JTPolynomialSolver ( )

Definition at line 58 of file G4JTPolynomialSolver.cc.

Member Function Documentation

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

Definition at line 311 of file G4JTPolynomialSolver.cc.

References a, b, ComputeNewEstimate(), ComputeNextPolynomial(), ComputeScalarFactors(), k, n, p, 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 779 of file G4JTPolynomialSolver.cc.

References a, a1, a3, a4, a5, a7, b, b1, b2, c, c1, c2, c3, c4, d, f, g, h, k, n, p, 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 734 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 692 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 62 of file G4JTPolynomialSolver.cc.

References base, bb, ComputeFixedShiftPolynomial(), deg, eta, factor, G4Exp(), G4Log(), G4Pow::GetInstance(), infin, k, lo, lzi, lzr, G4INCL::Math::max(), G4INCL::Math::min(), n, p, G4Pow::powN(), qk, qp, Quadratic(), si, smalno, sr, svk, szi, szr, u, and v.

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 848 of file G4JTPolynomialSolver.cc.

References b1, and 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 480 of file G4JTPolynomialSolver.cc.

References a, are, b, ComputeNewEstimate(), ComputeNextPolynomial(), ComputeScalarFactors(), eta, lzi, lzr, mre, n, p, qp, Quadratic(), QuadraticSyntheticDivision(), szi, szr, 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 827 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 584 of file G4JTPolynomialSolver.cc.

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

Referenced by ComputeFixedShiftPolynomial().

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4JTPolynomialSolver::a1
private
G4double G4JTPolynomialSolver::a3
private
G4double G4JTPolynomialSolver::a7
private
const G4double G4JTPolynomialSolver::are = DBL_EPSILON
staticprivate
const G4double G4JTPolynomialSolver::base = 2
staticprivate

Definition at line 101 of file G4JTPolynomialSolver.hh.

Referenced by FindRoots().

G4double G4JTPolynomialSolver::c
private

Definition at line 92 of file G4JTPolynomialSolver.hh.

Referenced by ComputeNewEstimate(), and ComputeScalarFactors().

G4double G4JTPolynomialSolver::d
private

Definition at line 92 of file G4JTPolynomialSolver.hh.

Referenced by ComputeNewEstimate(), and ComputeScalarFactors().

G4double G4JTPolynomialSolver::e
private

Definition at line 94 of file G4JTPolynomialSolver.hh.

Referenced by ComputeScalarFactors().

const G4double G4JTPolynomialSolver::eta = DBL_EPSILON
staticprivate
G4double G4JTPolynomialSolver::f
private

Definition at line 94 of file G4JTPolynomialSolver.hh.

Referenced by ComputeNewEstimate(), and ComputeScalarFactors().

G4double G4JTPolynomialSolver::g
private

Definition at line 94 of file G4JTPolynomialSolver.hh.

Referenced by ComputeNewEstimate(), and ComputeScalarFactors().

G4double G4JTPolynomialSolver::h
private

Definition at line 94 of file G4JTPolynomialSolver.hh.

Referenced by ComputeNewEstimate(), and ComputeScalarFactors().

const G4double G4JTPolynomialSolver::infin = DBL_MAX
staticprivate

Definition at line 103 of file G4JTPolynomialSolver.hh.

Referenced by FindRoots().

const G4double G4JTPolynomialSolver::lo = DBL_MIN/DBL_EPSILON
staticprivate

Definition at line 107 of file G4JTPolynomialSolver.hh.

Referenced by FindRoots().

G4double G4JTPolynomialSolver::lzi
private

Definition at line 96 of file G4JTPolynomialSolver.hh.

Referenced by FindRoots(), and QuadraticPolynomialIteration().

G4double G4JTPolynomialSolver::lzr
private

Definition at line 96 of file G4JTPolynomialSolver.hh.

Referenced by FindRoots(), and QuadraticPolynomialIteration().

const G4double G4JTPolynomialSolver::mre = DBL_EPSILON
staticprivate
std::vector<G4double> G4JTPolynomialSolver::p
private
std::vector<G4double> G4JTPolynomialSolver::qk
private
std::vector<G4double> G4JTPolynomialSolver::qp
private
G4double G4JTPolynomialSolver::si
private

Definition at line 90 of file G4JTPolynomialSolver.hh.

Referenced by FindRoots().

const G4double G4JTPolynomialSolver::smalno = DBL_MIN
staticprivate

Definition at line 104 of file G4JTPolynomialSolver.hh.

Referenced by FindRoots().

G4double G4JTPolynomialSolver::sr
private

Definition at line 89 of file G4JTPolynomialSolver.hh.

Referenced by ComputeFixedShiftPolynomial(), and FindRoots().

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

Definition at line 87 of file G4JTPolynomialSolver.hh.

Referenced by ComputeFixedShiftPolynomial(), and FindRoots().

G4double G4JTPolynomialSolver::szi
private
G4double G4JTPolynomialSolver::szr
private

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