Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/hadronic/models/lend/include/nf_Legendre.h

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  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. */
 61