Geant4  v4-10.4-release
 모두 클래스 네임스페이스들 파일들 함수 변수 타입정의 열거형 타입 열거형 멤버 Friends 매크로 그룹들 페이지들
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 );
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 );
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. */
Float_t x
Definition: compare.C:6
nf_Legendre * nf_Legendre_new(int initialSize, int maxOrder, double *Cls, nfu_status *status)
Definition: nf_Legendre.cc:23
nfu_status nf_Legendre_setCl(nf_Legendre *Legendre, int l, double Cl)
Definition: nf_Legendre.cc:131
nfu_status nf_Legendre_release(nf_Legendre *nfL)
Definition: nf_Legendre.cc:52
Float_t x1[n_points_granero]
Definition: compare.C:5
Float_t y
Definition: compare.C:6
nfu_status nf_Legendre_reallocateCls(nf_Legendre *Legendre, int size, int forceSmallerResize)
Definition: nf_Legendre.cc:77
nf_Legendre * nf_Legendre_clone(nf_Legendre *nfL, nfu_status *status)
Definition: nf_Legendre.cc:70
nfu_status nf_Legendre_setup(nf_Legendre *nfL, int initialSize, int maxOrder)
Definition: nf_Legendre.cc:40
int nf_Legendre_maxOrder(nf_Legendre *Legendre)
Definition: nf_Legendre.cc:105
double nf_Legendre_PofL_atMu(int l, double mu)
Definition: nf_Legendre.cc:175
nfu_status nf_Legendre_normalize(nf_Legendre *Legendre)
Definition: nf_Legendre.cc:146
ptwXYPoints * nf_Legendre_to_ptwXY(nf_Legendre *nfL, double accuracy, int biSectionMax, int checkForRoots, nfu_status *status)
Definition: nf_Legendre.cc:219
nf_Legendre * nf_Legendre_free(nf_Legendre *nfL)
Definition: nf_Legendre.cc:61
enum nfu_status_e nfu_status
nfu_status(* nf_Legendre_GaussianQuadrature_callback)(double x, double *y, void *argList)
Definition: nf_Legendre.h:29
double * Cls
Definition: nf_Legendre.h:26
double nf_Legendre_getCl(nf_Legendre *Legendre, int l, nfu_status *status)
Definition: nf_Legendre.cc:119
static constexpr double degree
Definition: G4SIunits.hh:144
nfu_status nf_Legendre_GaussianQuadrature(int degree, double x1, double x2, nf_Legendre_GaussianQuadrature_callback func, void *argList, double *integral)
double nf_Legendre_evauluateAtMu(nf_Legendre *nfL, double mu, nfu_status *status)
Definition: nf_Legendre.cc:160
Float_t x2[n_points_geant4]
Definition: compare.C:26
nf_Legendre * nf_Legendre_from_ptwXY(ptwXYPoints *ptwXY, int maxOrder, nfu_status *status)
Definition: nf_Legendre.cc:250
int nf_Legendre_allocated(nf_Legendre *Legendre)
Definition: nf_Legendre.cc:112