ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
nf_Legendre.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file nf_Legendre.h
1
/*
2
# <<BEGIN-copyright>>
3
# <<END-copyright>>
4
*/
5
6
#ifndef nf_Legendre_h_included
7
#define nf_Legendre_h_included
8
9
#include <
nf_utilities.h
>
10
#include <
ptwXY.h
>
11
12
#if defined __cplusplus
13
extern
"C"
{
14
namespace
GIDI {
15
#endif
16
17
#define nf_Legendre_minMaxOrder 4
18
#define nf_Legendre_maxMaxOrder 64
19
#define nf_Legendre_sizeIncrement 8
20
21
typedef
struct
nf_Legendre_s
nf_Legendre
;
22
23
struct
nf_Legendre_s
{
24
int
maxOrder
;
25
int
allocated
;
/* Will never be less than nf_Legendre_minMaxOrder. */
26
double
*
Cls
;
27
};
28
29
typedef
nfu_status
(*
nf_Legendre_GaussianQuadrature_callback
)(
double
x
,
double
*
y
,
void
*argList );
30
31
/*
32
* Methods in nf_Legendre.c
33
*/
34
nf_Legendre
*
nf_Legendre_new
(
int
initialSize,
int
maxOrder,
double
*Cls,
nfu_status
*status );
35
nfu_status
nf_Legendre_setup
(
nf_Legendre
*nfL,
int
initialSize,
int
maxOrder );
36
nfu_status
nf_Legendre_release
(
nf_Legendre
*nfL );
37
nf_Legendre
*
nf_Legendre_free
(
nf_Legendre
*nfL );
38
nf_Legendre
*
nf_Legendre_clone
(
nf_Legendre
*nfL,
nfu_status
*status );
39
nfu_status
nf_Legendre_reallocateCls
(
nf_Legendre
*Legendre,
int
size,
int
forceSmallerResize );
40
int
nf_Legendre_maxOrder
(
nf_Legendre
*Legendre );
41
int
nf_Legendre_allocated
(
nf_Legendre
*Legendre );
42
double
nf_Legendre_getCl
(
nf_Legendre
*Legendre,
int
l,
nfu_status
*status );
43
nfu_status
nf_Legendre_setCl
(
nf_Legendre
*Legendre,
int
l,
double
Cl );
44
nfu_status
nf_Legendre_normalize
(
nf_Legendre
*Legendre );
45
double
nf_Legendre_evauluateAtMu
(
nf_Legendre
*nfL,
double
mu,
nfu_status
*status );
46
double
nf_Legendre_PofL_atMu
(
int
l,
double
mu );
47
ptwXYPoints
*
nf_Legendre_to_ptwXY
(
nf_Legendre
*nfL,
double
accuracy,
int
biSectionMax,
int
checkForRoots,
nfu_status
*status );
48
nf_Legendre
*
nf_Legendre_from_ptwXY
(
ptwXYPoints
*ptwXY,
int
maxOrder,
nfu_status
*status );
49
50
/*
51
* Methods in nf_Legendre_GaussianQuadrature.c
52
*/
53
nfu_status
nf_Legendre_GaussianQuadrature
(
int
degree
,
double
x1
,
double
x2
,
nf_Legendre_GaussianQuadrature_callback
func
,
void
*argList,
double
*integral );
54
55
#if defined __cplusplus
56
}
57
}
58
#endif
59
60
#endif
/* End of nf_Legendre_h_included. */
geant4
tree
geant4-10.6-release
source
processes
hadronic
models
lend
include
nf_Legendre.h
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:46
using
1.8.2 with
ECCE GitHub integration