Geant4
9.6.p02
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
geant4_9_6_p02
source
processes
hadronic
models
lend
include
tpi_IDs.h
Go to the documentation of this file.
1
/*
2
# <<BEGIN-copyright>>
3
# Copyright (c) 2010, Lawrence Livermore National Security, LLC.
4
# Produced at the Lawrence Livermore National Laboratory
5
# Written by Bret R. Beck, beck6@llnl.gov.
6
# CODE-461393
7
# All rights reserved.
8
#
9
# This file is part of GIDI. For details, see nuclear.llnl.gov.
10
# Please also read the "Additional BSD Notice" at nuclear.llnl.gov.
11
#
12
# Redistribution and use in source and binary forms, with or without modification,
13
# are permitted provided that the following conditions are met:
14
#
15
# 1) Redistributions of source code must retain the above copyright notice,
16
# this list of conditions and the disclaimer below.
17
# 2) Redistributions in binary form must reproduce the above copyright notice,
18
# this list of conditions and the disclaimer (as noted below) in the
19
# documentation and/or other materials provided with the distribution.
20
# 3) Neither the name of the LLNS/LLNL nor the names of its contributors may be
21
# used to endorse or promote products derived from this software without
22
# specific prior written permission.
23
#
24
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
25
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
26
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
27
# SHALL LAWRENCE LIVERMORE NATIONAL SECURITY, LLC, THE U.S. DEPARTMENT OF ENERGY OR
28
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
31
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
33
# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
# <<END-copyright>>
35
*/
36
#ifndef tpi_IDs_h_included
37
#define tpi_IDs_h_included
38
39
#if defined __cplusplus
40
extern
"C"
{
41
#endif
42
43
#include <
statusMessageReporting.h
>
44
#include <
gString.h
>
45
#include <
xData.h
>
46
47
#if defined __cplusplus
48
namespace
GIDI {
49
#endif
50
51
typedef
struct
tpi_channelID_s
tpi_channelID
;
52
typedef
struct
tpi_spectralID_s
tpi_spectralID
;
53
typedef
struct
tpi_spectralIDQualifier_s
tpi_spectralIDQualifier
;
54
55
struct
tpi_spectralIDQualifier_s
{
56
tpi_spectralIDQualifier
*
next
;
57
char
*
name
;
58
char
*
value
;
59
};
60
61
struct
tpi_spectralID_s
{
62
tpi_spectralID
*
next
;
63
char
*
name
;
64
tpi_spectralIDQualifier
*
qualifiers
;
65
char
*
revision
;
/* Points to revision value in qualifiers if present, otherwise NULL. */
66
char
*
multiplicityStr
;
/* Points to multiplicity value in qualifiers if present, otherwise NULL. */
67
int
multiplicity
;
/* Value of multiplicityStr if it is an integer. */
68
double
level
;
/* Value of levelStr if it is a number. */
69
char
*
levelStr
;
/* Points to level value in qualifiers if present, otherwise NULL. */
70
tpi_channelID
*
decayChannel
;
71
};
72
73
struct
tpi_channelID_s
{
74
tpi_spectralID
*
spectralIDs
;
75
};
76
77
tpi_channelID
*
tpi_channelID_allocate
(
statusMessageReporting
*smr );
78
int
tpi_channelID_initialize
(
statusMessageReporting
*smr,
tpi_channelID
*
channelID
);
79
void
*
tpi_channelID_free
(
statusMessageReporting
*smr,
tpi_channelID
*
channelID
);
80
int
tpi_channelID_release
(
statusMessageReporting
*smr,
tpi_channelID
*
channelID
);
81
tpi_channelID
*
tpi_channelID_parse
(
statusMessageReporting
*smr,
char
const
*str,
char
**EOP );
82
int
tpi_channelID_toString
(
statusMessageReporting
*smr,
tpi_channelID
*
channelID
,
gString
*gStr );
83
int
tpi_channelID_toStringSanRevision
(
statusMessageReporting
*smr,
tpi_channelID
*
channelID
,
gString
*gStr );
84
int
tpi_channelID_toStringSans
(
statusMessageReporting
*smr,
tpi_channelID
*
channelID
,
gString
*gStr,
char
*sans[] );
85
86
tpi_spectralID
*
tpi_spectralID_allocate
(
statusMessageReporting
*smr );
87
int
tpi_spectralID_initialize
(
statusMessageReporting
*smr,
tpi_spectralID
*spectralID );
88
void
*
tpi_spectralID_free
(
statusMessageReporting
*smr,
tpi_spectralID
*spectralID );
89
int
tpi_spectralID_release
(
statusMessageReporting
*smr,
tpi_spectralID
*spectralID );
90
tpi_spectralID
*
tpi_spectralID_parse
(
statusMessageReporting
*smr,
char
const
*str,
char
**EOP );
91
int
tpi_spectralID_toString
(
statusMessageReporting
*smr,
tpi_spectralID
*spectralID,
gString
*gStr );
92
int
tpi_spectralID_toStringSanRevision
(
statusMessageReporting
*smr,
tpi_spectralID
*spectralID,
gString
*gStr );
93
int
tpi_spectralID_toStringSans
(
statusMessageReporting
*smr,
tpi_spectralID
*spectralID,
gString
*gStr,
char
*sans[] );
94
95
char
const
*
tpi_misc_firstNonWhiteSpace
(
statusMessageReporting
*smr,
char
const
*str );
96
char
*
tpi_misc_allocateAndCopyNCharacters
(
statusMessageReporting
*smr,
char
const
*str,
int
n
);
97
98
#if defined __cplusplus
99
}
100
}
101
#endif
102
103
#endif
/* End of tpi_IDs_h_included. */
Generated on Sat May 25 2013 14:34:00 for Geant4 by
1.8.4