Geant4 11.4.0
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# Copyright 2019, Lawrence Livermore National Security, LLC.
4# This file is part of the gidiplus package (https://github.com/LLNL/gidiplus).
5# gidiplus is licensed under the MIT license (see https://opensource.org/licenses/MIT).
6# SPDX-License-Identifier: MIT
7# <<END-copyright>>
8*/
9
10#ifndef ptwX_h_included
11#define ptwX_h_included
12
13#include <stdio.h>
14#include <stdint.h>
15
16#include <nf_utilities.h>
17
18#if defined __cplusplus
19 extern "C" {
20#endif
21
22#define ptwX_minimumSize 10
23
25
26typedef
27 struct ptwXPoints_s {
29 int64_t length;
32 double *points;
34
35/*
36* Routines in ptwX_core.c
37*/
38ptwXPoints *ptwX_new( statusMessageReporting *smr, int64_t size );
40ptwXPoints *ptwX_create( statusMessageReporting *smr, int64_t size, int64_t length, double const *xs );
41ptwXPoints *ptwX_createLine( statusMessageReporting *smr, int64_t size, int64_t length, double slope, double offset );
44ptwXPoints *ptwX_slice( statusMessageReporting *smr, ptwXPoints *ptwX, int64_t index1, int64_t index2 );
45nfu_status ptwX_reallocatePoints( statusMessageReporting *smr, ptwXPoints *ptwX, int64_t size, int forceSmallerResize );
49
50int64_t ptwX_length( statusMessageReporting *smr, ptwXPoints *ptwX );
51nfu_status ptwX_setData( statusMessageReporting *smr, ptwXPoints *ptwX, int64_t length, double const *xs );
52nfu_status ptwX_deletePoints( statusMessageReporting *smr, ptwXPoints *ptwX, int64_t i1, int64_t i2 );
53double *ptwX_getPointAtIndex( statusMessageReporting *smr, ptwXPoints *ptwX, int64_t index );
54double ptwX_getPointAtIndex_Unsafely( ptwXPoints *ptwX, int64_t index );
55nfu_status ptwX_setPointAtIndex( statusMessageReporting *smr, ptwXPoints *ptwX, int64_t index, double x );
56nfu_status ptwX_insertPointsAtIndex( statusMessageReporting *smr, ptwXPoints *ptwX, int64_t index, int64_t n1, double const *xs );
58ptwXPoints *ptwX_fromString( statusMessageReporting *smr, char const *str, char sep, char **endCharacter );
59int ptwX_countOccurrences( statusMessageReporting *smr, ptwXPoints *ptwX, double value );
62nfu_status ptwX_closesDifference( statusMessageReporting *smr, ptwXPoints *ptwX, double value, int64_t *index, double *difference );
64 double value, int64_t *index, double *difference );
66
71nfu_status ptwX_slopeOffset( statusMessageReporting *smr, ptwXPoints *ptwX, double slope, double offset );
74
75nfu_status ptwX_range( statusMessageReporting *smr, ptwXPoints *ptwX, double *rangeMin, double *rangeMax );
76
77nfu_status ptwX_compare( statusMessageReporting *smr, ptwXPoints *ptwX1, ptwXPoints *ptwX2, int *comparison );
78nfu_status ptwX_close( statusMessageReporting *smr, ptwXPoints *ptwX1, ptwXPoints *ptwX2, int epsilonFactor, double epsilon,
79 int *index );
80
81/*
82* Routines in ptwX_misc.c
83*/
84nfu_status ptwX_simpleWrite( statusMessageReporting *smr, ptwXPoints const *ptwX, FILE *f, char const *format );
85nfu_status ptwX_simplePrint( statusMessageReporting *smr, ptwXPoints const *ptwX, char const *format );
86
87#if defined __cplusplus
88 }
89#endif
90
91#endif /* End of ptwX_h_included. */
G4double epsilon(G4double density, G4double temperature)
G4ThreadLocal T * G4GeomSplitter< T >::offset
enum nfu_status_e nfu_status
nfu_status ptwX_reallocatePoints(statusMessageReporting *smr, ptwXPoints *ptwX, int64_t size, int forceSmallerResize)
Definition ptwX_core.c:161
ptwXPoints * ptwX_clone(statusMessageReporting *smr, ptwXPoints *ptwX)
Definition ptwX_core.c:113
nfu_status ptwX_clear(statusMessageReporting *smr, ptwXPoints *ptwX)
Definition ptwX_core.c:191
nfu_status ptwX_copy(statusMessageReporting *smr, ptwXPoints *dest, ptwXPoints *src)
Definition ptwX_core.c:89
ptwXPoints * ptwX_fromString(statusMessageReporting *smr, char const *str, char sep, char **endCharacter)
Definition ptwX_core.c:404
ptwX_sort_order
Definition ptwX.h:24
@ ptwX_sort_order_descending
Definition ptwX.h:24
@ ptwX_sort_order_ascending
Definition ptwX.h:24
nfu_status ptwX_release(statusMessageReporting *smr, ptwXPoints *ptwX)
Definition ptwX_core.c:201
int64_t ptwX_length(statusMessageReporting *smr, ptwXPoints *ptwX)
Definition ptwX_core.c:222
nfu_status ptwX_abs(statusMessageReporting *smr, ptwXPoints *ptwX)
Definition ptwX_core.c:588
nfu_status ptwX_mul_double(statusMessageReporting *smr, ptwXPoints *ptwX, double value)
Definition ptwX_core.c:622
nfu_status ptwX_insertPointsAtIndex(statusMessageReporting *smr, ptwXPoints *ptwX, int64_t index, int64_t n1, double const *xs)
Definition ptwX_core.c:330
int ptwX_countOccurrences(statusMessageReporting *smr, ptwXPoints *ptwX, double value)
Definition ptwX_core.c:422
nfu_status ptwX_closesDifferenceInRange(statusMessageReporting *smr, ptwXPoints *ptwX, int64_t i1, int64_t i2, double value, int64_t *index, double *difference)
Definition ptwX_core.c:496
nfu_status ptwX_reverse(statusMessageReporting *smr, ptwXPoints *ptwX)
Definition ptwX_core.c:441
nfu_status ptwX_closesDifference(statusMessageReporting *smr, ptwXPoints *ptwX, double value, int64_t *index, double *difference)
Definition ptwX_core.c:489
nfu_status ptwX_ascendingOrder(statusMessageReporting *smr, ptwXPoints *ptwX, int *order)
Definition ptwX_core.c:364
nfu_status ptwX_compare(statusMessageReporting *smr, ptwXPoints *ptwX1, ptwXPoints *ptwX2, int *comparison)
Definition ptwX_core.c:722
nfu_status ptwX_deletePoints(statusMessageReporting *smr, ptwXPoints *ptwX, int64_t i1, int64_t i2)
Definition ptwX_core.c:257
nfu_status ptwX_initialize(statusMessageReporting *smr, ptwXPoints *ptwX, int64_t size)
Definition ptwX_core.c:40
nfu_status ptwX_close(statusMessageReporting *smr, ptwXPoints *ptwX1, ptwXPoints *ptwX2, int epsilonFactor, double epsilon, int *index)
Definition ptwX_core.c:754
nfu_status ptwX_simpleWrite(statusMessageReporting *smr, ptwXPoints const *ptwX, FILE *f, char const *format)
Definition ptwX_misc.c:18
nfu_status ptwX_neg(statusMessageReporting *smr, ptwXPoints *ptwX)
Definition ptwX_core.c:604
nfu_status ptwX_add_ptwX(statusMessageReporting *smr, ptwXPoints *ptwX1, ptwXPoints *ptwX2)
Definition ptwX_core.c:647
double ptwX_getPointAtIndex_Unsafely(ptwXPoints *ptwX, int64_t index)
Definition ptwX_core.c:297
nfu_status ptwX_range(statusMessageReporting *smr, ptwXPoints *ptwX, double *rangeMin, double *rangeMax)
Definition ptwX_core.c:699
double * ptwX_getPointAtIndex(statusMessageReporting *smr, ptwXPoints *ptwX, int64_t index)
Definition ptwX_core.c:280
struct ptwXPoints_s ptwXPoints
ptwXPoints * ptwX_create(statusMessageReporting *smr, int64_t size, int64_t length, double const *xs)
Definition ptwX_core.c:54
nfu_status ptwX_simplePrint(statusMessageReporting *smr, ptwXPoints const *ptwX, char const *format)
Definition ptwX_misc.c:29
ptwXPoints * ptwX_createLine(statusMessageReporting *smr, int64_t size, int64_t length, double slope, double offset)
Definition ptwX_core.c:71
nfu_status ptwX_setPointAtIndex(statusMessageReporting *smr, ptwXPoints *ptwX, int64_t index, double x)
Definition ptwX_core.c:304
nfu_status ptwX_sub_ptwX(statusMessageReporting *smr, ptwXPoints *ptwX1, ptwXPoints *ptwX2)
Definition ptwX_core.c:673
nfu_status ptwX_add_double(statusMessageReporting *smr, ptwXPoints *ptwX, double value)
Definition ptwX_core.c:613
ptwXPoints * ptwX_free(ptwXPoints *ptwX)
Definition ptwX_core.c:213
ptwXPoints * ptwX_unique(statusMessageReporting *smr, ptwXPoints *ptwX, int order)
Definition ptwX_core.c:525
nfu_status ptwX_sort(statusMessageReporting *smr, ptwXPoints *ptwX, enum ptwX_sort_order order)
Definition ptwX_core.c:461
nfu_status ptwX_setData(statusMessageReporting *smr, ptwXPoints *ptwX, int64_t length, double const *xs)
Definition ptwX_core.c:234
nfu_status ptwX_slopeOffset(statusMessageReporting *smr, ptwXPoints *ptwX, double slope, double offset)
Definition ptwX_core.c:631
ptwXPoints * ptwX_slice(statusMessageReporting *smr, ptwXPoints *ptwX, int64_t index1, int64_t index2)
Definition ptwX_core.c:123
ptwXPoints * ptwX_new(statusMessageReporting *smr, int64_t size)
Definition ptwX_core.c:22
nfu_status status
Definition ptwX.h:28
int64_t mallocFailedSize
Definition ptwX.h:31
int64_t length
Definition ptwX.h:29
int64_t allocatedSize
Definition ptwX.h:30
double * points
Definition ptwX.h:32