ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
ptwX.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file ptwX.h
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
21
enum
ptwX_sort_order
{
ptwX_sort_order_descending
,
ptwX_sort_order_ascending
};
22
23
typedef
24
struct
ptwXPoints_s
{
25
nfu_status
status
;
26
int64_t
length
;
27
int64_t
allocatedSize
;
28
int64_t
mallocFailedSize
;
29
double
*
points
;
30
}
ptwXPoints
;
31
32
/*
33
* Routines in ptwX_core.c
34
*/
35
ptwXPoints
*
ptwX_new
( int64_t size,
nfu_status
*status );
36
nfu_status
ptwX_setup
(
ptwXPoints
*ptwX, int64_t size );
37
ptwXPoints
*
ptwX_create
( int64_t size, int64_t
length
,
double
const
*xs,
nfu_status
*status );
38
ptwXPoints
*
ptwX_createLine
( int64_t size, int64_t
length
,
double
slope,
double
offset
,
nfu_status
*status );
39
nfu_status
ptwX_copy
(
ptwXPoints
*dest,
ptwXPoints
*src );
40
ptwXPoints
*
ptwX_clone
(
ptwXPoints
*ptwX,
nfu_status
*status );
41
ptwXPoints
*
ptwX_slice
(
ptwXPoints
*ptwX, int64_t
index1
, int64_t
index2
,
nfu_status
*status );
42
nfu_status
ptwX_reallocatePoints
(
ptwXPoints
*ptwX, int64_t size,
int
forceSmallerResize );
43
nfu_status
ptwX_clear
(
ptwXPoints
*ptwX );
44
nfu_status
ptwX_release
(
ptwXPoints
*ptwX );
45
ptwXPoints
*
ptwX_free
(
ptwXPoints
*ptwX );
46
47
int64_t
ptwX_length
(
ptwXPoints
*ptwX );
48
nfu_status
ptwX_setData
(
ptwXPoints
*ptwX, int64_t
length
,
double
const
*xs );
49
nfu_status
ptwX_deletePoints
(
ptwXPoints
*ptwX, int64_t i1, int64_t i2 );
50
double
*
ptwX_getPointAtIndex
(
ptwXPoints
*ptwX, int64_t index );
51
double
ptwX_getPointAtIndex_Unsafely
(
ptwXPoints
*ptwX, int64_t index );
52
nfu_status
ptwX_setPointAtIndex
(
ptwXPoints
*ptwX, int64_t index,
double
x
);
53
nfu_status
ptwX_insertPointsAtIndex
(
ptwXPoints
*ptwX, int64_t index, int64_t
n1
,
double
const
*xs );
54
int
ptwX_ascendingOrder
(
ptwXPoints
*ptwX );
55
ptwXPoints
*
ptwX_fromString
(
char
const
*str,
char
**endCharacter,
nfu_status
*status );
56
nfu_status
ptwX_countOccurrences
(
ptwXPoints
*ptwX,
double
value
,
int
*count );
57
nfu_status
ptwX_reverse
(
ptwXPoints
*ptwX );
58
nfu_status
ptwX_sort
(
ptwXPoints
*ptwX,
enum
ptwX_sort_order
order );
59
nfu_status
ptwX_closesDifference
(
ptwXPoints
*ptwX,
double
value
, int64_t *index,
double
*difference );
60
nfu_status
ptwX_closesDifferenceInRange
(
ptwXPoints
*ptwX, int64_t i1, int64_t i2,
double
value
, int64_t *index,
double
*difference );
61
ptwXPoints
*
ptwX_unique
(
ptwXPoints
*ptwX,
int
order,
nfu_status
*status );
62
63
nfu_status
ptwX_abs
(
ptwXPoints
*ptwX );
64
nfu_status
ptwX_neg
(
ptwXPoints
*ptwX );
65
nfu_status
ptwX_add_double
(
ptwXPoints
*ptwX,
double
value
);
66
nfu_status
ptwX_mul_double
(
ptwXPoints
*ptwX,
double
value
);
67
nfu_status
ptwX_slopeOffset
(
ptwXPoints
*ptwX,
double
slope,
double
offset
);
68
nfu_status
ptwX_add_ptwX
(
ptwXPoints
*ptwX1,
ptwXPoints
*ptwX2 );
69
nfu_status
ptwX_sub_ptwX
(
ptwXPoints
*ptwX1,
ptwXPoints
*ptwX2 );
70
71
nfu_status
ptwX_xMinMax
(
ptwXPoints
*ptwX,
double
*xMin,
double
*xMax );
72
73
nfu_status
ptwX_compare
(
ptwXPoints
*ptwX1,
ptwXPoints
*ptwX2,
int
*comparison );
74
int
ptwX_close
(
ptwXPoints
*ptwX1,
ptwXPoints
*ptwX2,
int
epsilonFactor,
double
epsilon
,
nfu_status
*status );
75
76
/*
77
* Routines in ptwX_misc.c
78
*/
79
void
ptwX_simpleWrite
(
ptwXPoints
const
*ptwX, FILE *
f
,
char
const
*format );
80
void
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. */
geant4
tree
geant4-10.6-release
source
processes
hadronic
models
lend
include
ptwX.h
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:46
using
1.8.2 with
ECCE GitHub integration