Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
nf_Legendre.h
Go to the documentation of this file.
1/*
2# <<BEGIN-copyright>>
3# Copyright 2019, Lawrence Livermore National Security, LLC.
4# This file is part of the gidiplus package (https://github.com/LLNL/gidiplus).
5# gidiplus is licensed under the MIT license (see https://opensource.org/licenses/MIT).
6# SPDX-License-Identifier: MIT
7# <<END-copyright>>
8*/
9
10#ifndef nf_Legendre_h_included
11#define nf_Legendre_h_included
12
13#include <nf_utilities.h>
14#include <ptwXY.h>
15
16#if defined __cplusplus
17 extern "C" {
18#endif
19
20#define nf_Legendre_minMaxOrder 4
21#define nf_Legendre_maxMaxOrder 128
22#define nf_Legendre_sizeIncrement 8
23
25
29 int allocated; /* Will never be less than nf_Legendre_minMaxOrder. */
30 double *Cls;
31};
32
33typedef nfu_status (*nf_Legendre_GaussianQuadrature_callback)( double x, double *y, void *argList );
34
35/*
36* Methods in nf_Legendre.c
37*/
38nf_Legendre *nf_Legendre_new( statusMessageReporting *smr, int initialSize, int maxOrder, double *Cls );
39nfu_status nf_Legendre_initialize( statusMessageReporting *smr, nf_Legendre *nfL, int initialSize, int maxOrder );
43nfu_status nf_Legendre_reallocateCls( statusMessageReporting *smr, nf_Legendre *Legendre, int size, int forceSmallerResize );
46nfu_status nf_Legendre_getCl( statusMessageReporting *smr, nf_Legendre *Legendre, int l, double *Cl );
47nfu_status nf_Legendre_setCl( statusMessageReporting *smr, nf_Legendre *Legendre, int l, double Cl );
50double nf_Legendre_PofL_atMu( int l, double mu );
51ptwXYPoints *nf_Legendre_to_ptwXY( statusMessageReporting *smr, nf_Legendre *nfL, double accuracy, int biSectionMax,
52 int checkForRoots );
54
55/*
56* Methods in nf_Legendre_GaussianQuadrature.c
57*/
58nfu_status nf_Legendre_GaussianQuadrature( int degree, double x1, double x2, nf_Legendre_GaussianQuadrature_callback func, void *argList, double *integral );
59
60#if defined __cplusplus
61 }
62#endif
63
64#endif /* End of nf_Legendre_h_included. */
double nf_Legendre_PofL_atMu(int l, double mu)
nf_Legendre * nf_Legendre_new(statusMessageReporting *smr, int initialSize, int maxOrder, double *Cls)
Definition nf_Legendre.c:22
nf_Legendre * nf_Legendre_free(nf_Legendre *nfL)
Definition nf_Legendre.c:64
nfu_status nf_Legendre_initialize(statusMessageReporting *smr, nf_Legendre *nfL, int initialSize, int maxOrder)
Definition nf_Legendre.c:38
nfu_status nf_Legendre_normalize(statusMessageReporting *smr, nf_Legendre *Legendre)
nf_Legendre * nf_Legendre_clone(statusMessageReporting *smr, nf_Legendre *nfL)
Definition nf_Legendre.c:73
nfu_status nf_Legendre_getCl(statusMessageReporting *smr, nf_Legendre *Legendre, int l, double *Cl)
ptwXYPoints * nf_Legendre_to_ptwXY(statusMessageReporting *smr, nf_Legendre *nfL, double accuracy, int biSectionMax, int checkForRoots)
nfu_status nf_Legendre_maxOrder(statusMessageReporting *smr, nf_Legendre *Legendre, int *maxOrder)
nfu_status nf_Legendre_allocated(statusMessageReporting *smr, nf_Legendre *Legendre, int *allocated)
nf_Legendre * nf_Legendre_from_ptwXY(statusMessageReporting *smr, ptwXYPoints *ptwXY, int maxOrder)
nfu_status nf_Legendre_release(statusMessageReporting *smr, nf_Legendre *nfL)
Definition nf_Legendre.c:55
nfu_status nf_Legendre_reallocateCls(statusMessageReporting *smr, nf_Legendre *Legendre, int size, int forceSmallerResize)
Definition nf_Legendre.c:89
struct nf_Legendre_s nf_Legendre
Definition nf_Legendre.h:24
nfu_status nf_Legendre_evauluateAtMu(statusMessageReporting *smr, nf_Legendre *nfL, double mu, double *P)
nfu_status nf_Legendre_GaussianQuadrature(int degree, double x1, double x2, nf_Legendre_GaussianQuadrature_callback func, void *argList, double *integral)
nfu_status(* nf_Legendre_GaussianQuadrature_callback)(double x, double *y, void *argList)
Definition nf_Legendre.h:33
nfu_status nf_Legendre_setCl(statusMessageReporting *smr, nf_Legendre *Legendre, int l, double Cl)
enum nfu_status_e nfu_status
struct ptwXYPoints_s ptwXYPoints
nfu_status status
Definition nf_Legendre.h:27
double * Cls
Definition nf_Legendre.h:30