Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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