Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
ptwX.h
Go to the documentation of this file.
1/*
2# <<BEGIN-copyright>>
3# <<END-copyright>>
4*/
5
6#ifndef ptwX_h_included
7#define ptwX_h_included
8
9#include <stdio.h>
10#include <stdint.h>
11
12#include <nf_utilities.h>
13
14#if defined __cplusplus
15 extern "C" {
16 namespace GIDI {
17#endif
18
19#define ptwX_minimumSize 10
20
22
23typedef
24 struct ptwXPoints_s {
26 int64_t length;
29 double *points;
31
32/*
33* Routines in ptwX_core.c
34*/
35ptwXPoints *ptwX_new( int64_t size, nfu_status *status );
36nfu_status ptwX_setup( ptwXPoints *ptwX, int64_t size );
37ptwXPoints *ptwX_create( int64_t size, int64_t length, double const *xs, nfu_status *status );
38ptwXPoints *ptwX_createLine( int64_t size, int64_t length, double slope, double offset, nfu_status *status );
41ptwXPoints *ptwX_slice( ptwXPoints *ptwX, int64_t index1, int64_t index2, nfu_status *status );
42nfu_status ptwX_reallocatePoints( ptwXPoints *ptwX, int64_t size, int forceSmallerResize );
46
47int64_t ptwX_length( ptwXPoints *ptwX );
48nfu_status ptwX_setData( ptwXPoints *ptwX, int64_t length, double const *xs );
49nfu_status ptwX_deletePoints( ptwXPoints *ptwX, int64_t i1, int64_t i2 );
50double *ptwX_getPointAtIndex( ptwXPoints *ptwX, int64_t index );
51double ptwX_getPointAtIndex_Unsafely( ptwXPoints *ptwX, int64_t index );
52nfu_status ptwX_setPointAtIndex( ptwXPoints *ptwX, int64_t index, double x );
53nfu_status ptwX_insertPointsAtIndex( ptwXPoints *ptwX, int64_t index, int64_t n1, double const *xs );
55ptwXPoints *ptwX_fromString( char const *str, char **endCharacter, nfu_status *status );
56nfu_status ptwX_countOccurrences( ptwXPoints *ptwX, double value, int *count );
59nfu_status ptwX_closesDifference( ptwXPoints *ptwX, double value, int64_t *index, double *difference );
60nfu_status ptwX_closesDifferenceInRange( ptwXPoints *ptwX, int64_t i1, int64_t i2, double value, int64_t *index, double *difference );
61ptwXPoints *ptwX_unique( ptwXPoints *ptwX, int order, nfu_status *status );
62
65nfu_status ptwX_add_double( ptwXPoints *ptwX, double value );
66nfu_status ptwX_mul_double( ptwXPoints *ptwX, double value );
67nfu_status ptwX_slopeOffset( ptwXPoints *ptwX, double slope, double offset );
70
71nfu_status ptwX_xMinMax( ptwXPoints *ptwX, double *xMin, double *xMax );
72
73nfu_status ptwX_compare( ptwXPoints *ptwX1, ptwXPoints *ptwX2, int *comparison );
74int ptwX_close( ptwXPoints *ptwX1, ptwXPoints *ptwX2, int epsilonFactor, double epsilon, nfu_status *status );
75
76/*
77* Routines in ptwX_misc.c
78*/
79void ptwX_simpleWrite( ptwXPoints const *ptwX, FILE *f, char const *format );
80void ptwX_simplePrint( ptwXPoints const *ptwX, char const *format );
81
82#if defined __cplusplus
83 }
84 }
85#endif
86
87#endif /* End of ptwX_h_included. */
G4double epsilon(G4double density, G4double temperature)
enum nfu_status_e nfu_status
nfu_status ptwX_deletePoints(ptwXPoints *ptwX, int64_t i1, int64_t i2)
Definition ptwX_core.cc:191
int ptwX_close(ptwXPoints *ptwX1, ptwXPoints *ptwX2, int epsilonFactor, double epsilon, nfu_status *status)
Definition ptwX_core.cc:553
nfu_status ptwX_setData(ptwXPoints *ptwX, int64_t length, double const *xs)
Definition ptwX_core.cc:173
nfu_status ptwX_reallocatePoints(ptwXPoints *ptwX, int64_t size, int forceSmallerResize)
Definition ptwX_core.cc:116
nfu_status ptwX_sub_ptwX(ptwXPoints *ptwX1, ptwXPoints *ptwX2)
Definition ptwX_core.cc:494
nfu_status ptwX_setup(ptwXPoints *ptwX, int64_t size)
Definition ptwX_core.cc:37
nfu_status ptwX_slopeOffset(ptwXPoints *ptwX, double slope, double offset)
Definition ptwX_core.cc:467
ptwX_sort_order
Definition ptwX.h:21
@ ptwX_sort_order_descending
Definition ptwX.h:21
@ ptwX_sort_order_ascending
Definition ptwX.h:21
nfu_status ptwX_release(ptwXPoints *ptwX)
Definition ptwX_core.cc:147
int ptwX_ascendingOrder(ptwXPoints *ptwX)
Definition ptwX_core.cc:257
nfu_status ptwX_compare(ptwXPoints *ptwX1, ptwXPoints *ptwX2, int *comparison)
Definition ptwX_core.cc:528
nfu_status ptwX_countOccurrences(ptwXPoints *ptwX, double value, int *count)
Definition ptwX_core.cc:301
nfu_status ptwX_closesDifferenceInRange(ptwXPoints *ptwX, int64_t i1, int64_t i2, double value, int64_t *index, double *difference)
Definition ptwX_core.cc:359
ptwXPoints * ptwX_new(int64_t size, nfu_status *status)
Definition ptwX_core.cc:24
nfu_status ptwX_reverse(ptwXPoints *ptwX)
Definition ptwX_core.cc:314
ptwXPoints * ptwX_fromString(char const *str, char **endCharacter, nfu_status *status)
Definition ptwX_core.cc:287
nfu_status ptwX_clear(ptwXPoints *ptwX)
Definition ptwX_core.cc:139
double * ptwX_getPointAtIndex(ptwXPoints *ptwX, int64_t index)
Definition ptwX_core.cc:206
nfu_status ptwX_neg(ptwXPoints *ptwX)
Definition ptwX_core.cc:446
nfu_status ptwX_mul_double(ptwXPoints *ptwX, double value)
Definition ptwX_core.cc:460
nfu_status ptwX_add_double(ptwXPoints *ptwX, double value)
Definition ptwX_core.cc:453
ptwXPoints * ptwX_createLine(int64_t size, int64_t length, double slope, double offset, nfu_status *status)
Definition ptwX_core.cc:62
nfu_status ptwX_copy(ptwXPoints *dest, ptwXPoints *src)
Definition ptwX_core.cc:78
double ptwX_getPointAtIndex_Unsafely(ptwXPoints *ptwX, int64_t index)
Definition ptwX_core.cc:215
ptwXPoints * ptwX_clone(ptwXPoints *ptwX, nfu_status *status)
Definition ptwX_core.cc:88
ptwXPoints * ptwX_unique(ptwXPoints *ptwX, int order, nfu_status *status)
Definition ptwX_core.cc:385
void ptwX_simplePrint(ptwXPoints const *ptwX, char const *format)
Definition ptwX_misc.cc:29
struct ptwXPoints_s ptwXPoints
ptwXPoints * ptwX_slice(ptwXPoints *ptwX, int64_t index1, int64_t index2, nfu_status *status)
Definition ptwX_core.cc:95
nfu_status ptwX_sort(ptwXPoints *ptwX, enum ptwX_sort_order order)
Definition ptwX_core.cc:329
nfu_status ptwX_abs(ptwXPoints *ptwX)
Definition ptwX_core.cc:434
nfu_status ptwX_add_ptwX(ptwXPoints *ptwX1, ptwXPoints *ptwX2)
Definition ptwX_core.cc:479
nfu_status ptwX_setPointAtIndex(ptwXPoints *ptwX, int64_t index, double x)
Definition ptwX_core.cc:222
ptwXPoints * ptwX_free(ptwXPoints *ptwX)
Definition ptwX_core.cc:158
nfu_status ptwX_insertPointsAtIndex(ptwXPoints *ptwX, int64_t index, int64_t n1, double const *xs)
Definition ptwX_core.cc:238
void ptwX_simpleWrite(ptwXPoints const *ptwX, FILE *f, char const *format)
Definition ptwX_misc.cc:19
ptwXPoints * ptwX_create(int64_t size, int64_t length, double const *xs, nfu_status *status)
Definition ptwX_core.cc:50
int64_t ptwX_length(ptwXPoints *ptwX)
Definition ptwX_core.cc:166
nfu_status ptwX_xMinMax(ptwXPoints *ptwX, double *xMin, double *xMax)
Definition ptwX_core.cc:509
nfu_status ptwX_closesDifference(ptwXPoints *ptwX, double value, int64_t *index, double *difference)
Definition ptwX_core.cc:352
nfu_status status
Definition ptwX.h:25
int64_t mallocFailedSize
Definition ptwX.h:28
int64_t length
Definition ptwX.h:26
int64_t allocatedSize
Definition ptwX.h:27
double * points
Definition ptwX.h:29