Geant4 11.2.2
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