Geant4  10.02
nf_angularMomentumCoupling.cc File Reference
#include <stdlib.h>
#include <cmath>
#include "nf_specialFunctions.h"
+ Include dependency graph for nf_angularMomentumCoupling.cc:

Go to the source code of this file.

Functions

static int parity (int x)
 
static int max3 (int a, int b, int c)
 
static int max4 (int a, int b, int c, int d)
 
static int min3 (int a, int b, int c)
 
static double w6j0 (int, int *)
 
static double w6j1 (int *)
 
static double cg1 (int, int, int)
 
static double cg2 (int, int, int, int, int, int, int, int)
 
static double cg3 (int, int, int, int, int, int)
 
double nf_amc_log_factorial (int n)
 
double nf_amc_factorial (int n)
 
double nf_amc_wigner_3j (int j1, int j2, int j3, int j4, int j5, int j6)
 
double nf_amc_wigner_6j (int j1, int j2, int j3, int j4, int j5, int j6)
 
double nf_amc_wigner_9j (int j1, int j2, int j3, int j4, int j5, int j6, int j7, int j8, int j9)
 
double nf_amc_racah (int j1, int j2, int l2, int l1, int j3, int l3)
 
double nf_amc_clebsh_gordan (int j1, int j2, int m1, int m2, int j3)
 
double nf_amc_z_coefficient (int l1, int j1, int l2, int j2, int s, int ll)
 
double nf_amc_zbar_coefficient (int l1, int j1, int l2, int j2, int s, int ll)
 
double nf_amc_reduced_matrix_element (int lt, int st, int jt, int l0, int j0, int l1, int j1)
 

Variables

static const int MAX_FACTORIAL = 200
 
static const double nf_amc_log_fact [] = {0.0, 0.0, 0.69314718056, 1.79175946923, 3.17805383035, 4.78749174278, 6.57925121201, 8.52516136107, 10.6046029027, 12.8018274801, 15.1044125731, 17.5023078459, 19.9872144957, 22.5521638531, 25.1912211827, 27.8992713838, 30.6718601061, 33.5050734501, 36.395445208, 39.3398841872, 42.3356164608, 45.3801388985, 48.4711813518, 51.6066755678, 54.7847293981, 58.003605223, 61.261701761, 64.557538627, 67.8897431372, 71.2570389672, 74.6582363488, 78.0922235533, 81.5579594561, 85.0544670176, 88.5808275422, 92.1361756037, 95.7196945421, 99.3306124548, 102.968198615, 106.631760261, 110.320639715, 114.034211781, 117.7718814, 121.533081515, 125.317271149, 129.123933639, 132.952575036, 136.802722637, 140.673923648, 144.565743946, 148.477766952, 152.409592584, 156.360836303, 160.331128217, 164.320112263, 168.327445448, 172.352797139, 176.395848407, 180.456291418, 184.533828861, 188.628173424, 192.739047288, 196.866181673, 201.009316399, 205.168199483, 209.342586753, 213.532241495, 217.736934114, 221.956441819, 226.190548324, 230.439043566, 234.701723443, 238.978389562, 243.268849003, 247.572914096, 251.89040221, 256.22113555, 260.564940972, 264.921649799, 269.291097651, 273.673124286, 278.06757344, 282.474292688, 286.893133295, 291.323950094, 295.766601351, 300.220948647, 304.686856766, 309.16419358, 313.65282995, 318.15263962, 322.663499127, 327.185287704, 331.717887197, 336.261181979, 340.815058871, 345.379407062, 349.954118041, 354.539085519, 359.13420537, 363.739375556, 368.354496072, 372.979468886, 377.614197874, 382.258588773, 386.912549123, 391.575988217, 396.248817052, 400.930948279, 405.622296161, 410.322776527, 415.032306728, 419.7508056, 424.478193418, 429.214391867, 433.959323995, 438.712914186, 443.475088121, 448.245772745, 453.024896238, 457.812387981, 462.608178527, 467.412199572, 472.224383927, 477.044665493, 481.87297923, 486.709261137, 491.553448223, 496.405478487, 501.265290892, 506.132825342, 511.008022665, 515.890824588, 520.781173716, 525.679013516, 530.584288294, 535.49694318, 540.416924106, 545.344177791, 550.278651724, 555.220294147, 560.169054037, 565.124881095, 570.087725725, 575.057539025, 580.034272767, 585.017879389, 590.008311976, 595.005524249, 600.009470555, 605.020105849, 610.037385686, 615.061266207, 620.091704128, 625.128656731, 630.172081848, 635.221937855, 640.27818366, 645.340778693, 650.409682896, 655.484856711, 660.566261076, 665.653857411, 670.747607612, 675.84747404, 680.953419514, 686.065407302, 691.183401114, 696.307365094, 701.437263809, 706.573062246, 711.714725802, 716.862220279, 722.015511874, 727.174567173, 732.339353147, 737.509837142, 742.685986874, 747.867770425, 753.05515623, 758.248113081, 763.446610113, 768.6506168, 773.860102953, 779.07503871, 784.295394535, 789.521141209, 794.752249826, 799.988691789, 805.230438804, 810.477462876, 815.729736304, 820.987231676, 826.249921865, 831.517780024, 836.790779582, 842.068894242, 847.35209797, 852.640365001, 857.933669826, 863.231987192}
 

Function Documentation

static double cg1 ( int  x1,
int  x2,
int  x3 
)
static

Definition at line 337 of file nf_angularMomentumCoupling.cc.

References a, and G4Exp().

Referenced by nf_amc_clebsh_gordan().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static double cg2 ( int  k,
int  q0,
int  z1,
int  z2,
int  w1,
int  w2,
int  w3,
int  mm 
)
static

Definition at line 363 of file nf_angularMomentumCoupling.cc.

References a, and G4Exp().

Referenced by nf_amc_clebsh_gordan().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static double cg3 ( int  x1,
int  x2,
int  x3,
int  y1,
int  y2,
int  y3 
)
static

Definition at line 391 of file nf_angularMomentumCoupling.cc.

References a, G4Exp(), max3(), and min3().

Referenced by nf_amc_clebsh_gordan().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int max3 ( int  a,
int  b,
int  c 
)
static

Definition at line 528 of file nf_angularMomentumCoupling.cc.

Referenced by cg3(), G4Ellipsoid::GetPointOnSurface(), and nf_amc_wigner_9j().

+ Here is the caller graph for this function:

static int max4 ( int  a,
int  b,
int  c,
int  d 
)
static

Definition at line 537 of file nf_angularMomentumCoupling.cc.

Referenced by w6j1().

+ Here is the caller graph for this function:

static int min3 ( int  a,
int  b,
int  c 
)
static

Definition at line 547 of file nf_angularMomentumCoupling.cc.

Referenced by cg3(), nf_amc_wigner_9j(), w6j1(), and XmlUtf8Encode().

+ Here is the caller graph for this function:

double nf_amc_clebsh_gordan ( int  j1,
int  j2,
int  m1,
int  m2,
int  j3 
)

Definition at line 286 of file nf_angularMomentumCoupling.cc.

References cg1(), cg2(), cg3(), m2, and m3.

Referenced by nf_amc_reduced_matrix_element(), nf_amc_wigner_3j(), nf_amc_z_coefficient(), and nf_amc_zbar_coefficient().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double nf_amc_factorial ( int  n)

Definition at line 96 of file nf_angularMomentumCoupling.cc.

References G4Exp(), and nf_amc_log_factorial().

+ Here is the call graph for this function:

double nf_amc_log_factorial ( int  n)

Definition at line 85 of file nf_angularMomentumCoupling.cc.

References n.

Referenced by nf_amc_factorial().

+ Here is the caller graph for this function:

double nf_amc_racah ( int  j1,
int  j2,
int  l2,
int  l1,
int  j3,
int  l3 
)

Definition at line 251 of file nf_angularMomentumCoupling.cc.

References nf_amc_wigner_6j().

Referenced by nf_amc_wigner_9j(), nf_amc_z_coefficient(), and nf_amc_zbar_coefficient().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double nf_amc_reduced_matrix_element ( int  lt,
int  st,
int  jt,
int  l0,
int  j0,
int  l1,
int  j1 
)

Definition at line 471 of file nf_angularMomentumCoupling.cc.

References nf_amc_clebsh_gordan(), and parity().

+ Here is the call graph for this function:

double nf_amc_wigner_3j ( int  j1,
int  j2,
int  j3,
int  j4,
int  j5,
int  j6 
)

Definition at line 105 of file nf_angularMomentumCoupling.cc.

References nf_amc_clebsh_gordan().

+ Here is the call graph for this function:

double nf_amc_wigner_6j ( int  j1,
int  j2,
int  j3,
int  j4,
int  j5,
int  j6 
)

Definition at line 121 of file nf_angularMomentumCoupling.cc.

References w6j0(), w6j1(), and x.

Referenced by nf_amc_racah().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double nf_amc_wigner_9j ( int  j1,
int  j2,
int  j3,
int  j4,
int  j5,
int  j6,
int  j7,
int  j8,
int  j9 
)

Definition at line 224 of file nf_angularMomentumCoupling.cc.

References max3(), min3(), and nf_amc_racah().

+ Here is the call graph for this function:

double nf_amc_z_coefficient ( int  l1,
int  j1,
int  l2,
int  j2,
int  s,
int  ll 
)

Definition at line 435 of file nf_angularMomentumCoupling.cc.

References nf_amc_clebsh_gordan(), nf_amc_racah(), and z.

+ Here is the call graph for this function:

double nf_amc_zbar_coefficient ( int  l1,
int  j1,
int  l2,
int  j2,
int  s,
int  ll 
)

Definition at line 451 of file nf_angularMomentumCoupling.cc.

References nf_amc_clebsh_gordan(), and nf_amc_racah().

+ Here is the call graph for this function:

static int parity ( int  x)
static

Definition at line 521 of file nf_angularMomentumCoupling.cc.

Referenced by G4TwistTubsSide::DistanceToPlane(), G4TwistTubsSide::DistanceToSurface(), nf_amc_reduced_matrix_element(), and G4TwistedTubs::SetFields().

+ Here is the caller graph for this function:

static double w6j0 ( int  i,
int *  x 
)
static

Definition at line 137 of file nf_angularMomentumCoupling.cc.

Referenced by nf_amc_wigner_6j().

+ Here is the caller graph for this function:

static double w6j1 ( int *  x)
static

Definition at line 164 of file nf_angularMomentumCoupling.cc.

References a, G4Exp(), m2, m3, max4(), min3(), n, and w.

Referenced by nf_amc_wigner_6j().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

const int MAX_FACTORIAL = 200
static

Definition at line 68 of file nf_angularMomentumCoupling.cc.

const double nf_amc_log_fact[] = {0.0, 0.0, 0.69314718056, 1.79175946923, 3.17805383035, 4.78749174278, 6.57925121201, 8.52516136107, 10.6046029027, 12.8018274801, 15.1044125731, 17.5023078459, 19.9872144957, 22.5521638531, 25.1912211827, 27.8992713838, 30.6718601061, 33.5050734501, 36.395445208, 39.3398841872, 42.3356164608, 45.3801388985, 48.4711813518, 51.6066755678, 54.7847293981, 58.003605223, 61.261701761, 64.557538627, 67.8897431372, 71.2570389672, 74.6582363488, 78.0922235533, 81.5579594561, 85.0544670176, 88.5808275422, 92.1361756037, 95.7196945421, 99.3306124548, 102.968198615, 106.631760261, 110.320639715, 114.034211781, 117.7718814, 121.533081515, 125.317271149, 129.123933639, 132.952575036, 136.802722637, 140.673923648, 144.565743946, 148.477766952, 152.409592584, 156.360836303, 160.331128217, 164.320112263, 168.327445448, 172.352797139, 176.395848407, 180.456291418, 184.533828861, 188.628173424, 192.739047288, 196.866181673, 201.009316399, 205.168199483, 209.342586753, 213.532241495, 217.736934114, 221.956441819, 226.190548324, 230.439043566, 234.701723443, 238.978389562, 243.268849003, 247.572914096, 251.89040221, 256.22113555, 260.564940972, 264.921649799, 269.291097651, 273.673124286, 278.06757344, 282.474292688, 286.893133295, 291.323950094, 295.766601351, 300.220948647, 304.686856766, 309.16419358, 313.65282995, 318.15263962, 322.663499127, 327.185287704, 331.717887197, 336.261181979, 340.815058871, 345.379407062, 349.954118041, 354.539085519, 359.13420537, 363.739375556, 368.354496072, 372.979468886, 377.614197874, 382.258588773, 386.912549123, 391.575988217, 396.248817052, 400.930948279, 405.622296161, 410.322776527, 415.032306728, 419.7508056, 424.478193418, 429.214391867, 433.959323995, 438.712914186, 443.475088121, 448.245772745, 453.024896238, 457.812387981, 462.608178527, 467.412199572, 472.224383927, 477.044665493, 481.87297923, 486.709261137, 491.553448223, 496.405478487, 501.265290892, 506.132825342, 511.008022665, 515.890824588, 520.781173716, 525.679013516, 530.584288294, 535.49694318, 540.416924106, 545.344177791, 550.278651724, 555.220294147, 560.169054037, 565.124881095, 570.087725725, 575.057539025, 580.034272767, 585.017879389, 590.008311976, 595.005524249, 600.009470555, 605.020105849, 610.037385686, 615.061266207, 620.091704128, 625.128656731, 630.172081848, 635.221937855, 640.27818366, 645.340778693, 650.409682896, 655.484856711, 660.566261076, 665.653857411, 670.747607612, 675.84747404, 680.953419514, 686.065407302, 691.183401114, 696.307365094, 701.437263809, 706.573062246, 711.714725802, 716.862220279, 722.015511874, 727.174567173, 732.339353147, 737.509837142, 742.685986874, 747.867770425, 753.05515623, 758.248113081, 763.446610113, 768.6506168, 773.860102953, 779.07503871, 784.295394535, 789.521141209, 794.752249826, 799.988691789, 805.230438804, 810.477462876, 815.729736304, 820.987231676, 826.249921865, 831.517780024, 836.790779582, 842.068894242, 847.35209797, 852.640365001, 857.933669826, 863.231987192}
static

Definition at line 70 of file nf_angularMomentumCoupling.cc.