ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 339 of file nf_angularMomentumCoupling.cc.

View newest version in sPHENIX GitHub at line 339 of file nf_angularMomentumCoupling.cc

References a, G4Exp(), MAX_FACTORIAL, nf_amc_log_fact, and x3.

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 365 of file nf_angularMomentumCoupling.cc.

View newest version in sPHENIX GitHub at line 365 of file nf_angularMomentumCoupling.cc

References a, G4Exp(), MAX_FACTORIAL, and nf_amc_log_fact.

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 393 of file nf_angularMomentumCoupling.cc.

View newest version in sPHENIX GitHub at line 393 of file nf_angularMomentumCoupling.cc

References a, G4Exp(), k1, k2, max3(), min3(), nf_amc_log_fact, x3, y3, z1, and z2.

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 530 of file nf_angularMomentumCoupling.cc.

View newest version in sPHENIX GitHub at line 530 of file nf_angularMomentumCoupling.cc

References b, and c.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), cg3(), 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 539 of file nf_angularMomentumCoupling.cc.

View newest version in sPHENIX GitHub at line 539 of file nf_angularMomentumCoupling.cc

References b, c, and d.

Referenced by w6j1().

+ Here is the caller graph for this function:

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

Definition at line 549 of file nf_angularMomentumCoupling.cc.

View newest version in sPHENIX GitHub at line 549 of file nf_angularMomentumCoupling.cc

References b, and c.

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 288 of file nf_angularMomentumCoupling.cc.

View newest version in sPHENIX GitHub at line 288 of file nf_angularMomentumCoupling.cc

References kdfinder::abs(), cg1(), cg2(), cg3(), m2, m3, MAX_FACTORIAL, x1, x2, x3, y1, y2, and y3.

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.

View newest version in sPHENIX GitHub 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.

View newest version in sPHENIX GitHub at line 85 of file nf_angularMomentumCoupling.cc

References MAX_FACTORIAL, n, and nf_amc_log_fact.

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 253 of file nf_angularMomentumCoupling.cc.

View newest version in sPHENIX GitHub at line 253 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 473 of file nf_angularMomentumCoupling.cc.

View newest version in sPHENIX GitHub at line 473 of file nf_angularMomentumCoupling.cc

References kdfinder::abs(), M_PI, nf_amc_clebsh_gordan(), parity(), x1, x2, and x3.

+ 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.

View newest version in sPHENIX GitHub 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.

View newest version in sPHENIX GitHub 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 226 of file nf_angularMomentumCoupling.cc.

View newest version in sPHENIX GitHub at line 226 of file nf_angularMomentumCoupling.cc

References kdfinder::abs(), 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 437 of file nf_angularMomentumCoupling.cc.

View newest version in sPHENIX GitHub at line 437 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 453 of file nf_angularMomentumCoupling.cc.

View newest version in sPHENIX GitHub at line 453 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 523 of file nf_angularMomentumCoupling.cc.

View newest version in sPHENIX GitHub at line 523 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.

View newest version in sPHENIX GitHub at line 137 of file nf_angularMomentumCoupling.cc

References kdfinder::abs(), and MAX_FACTORIAL.

Referenced by nf_amc_wigner_6j().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static double w6j1 ( int x)
static

Definition at line 166 of file nf_angularMomentumCoupling.cc.

View newest version in sPHENIX GitHub at line 166 of file nf_angularMomentumCoupling.cc

References a, G4Exp(), k, k1, k2, m2, m3, max4(), MAX_FACTORIAL, min3(), n, n1, nf_amc_log_fact, w, x1, x2, x3, and y.

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.

View newest version in sPHENIX GitHub at line 68 of file nf_angularMomentumCoupling.cc

Referenced by cg1(), cg2(), nf_amc_clebsh_gordan(), nf_amc_log_factorial(), w6j0(), and w6j1().

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.

View newest version in sPHENIX GitHub at line 70 of file nf_angularMomentumCoupling.cc

Referenced by cg1(), cg2(), cg3(), nf_amc_log_factorial(), and w6j1().