Geant4_10
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 
54 
57  char *name;
58  char *value;
59 };
60 
63  char *name;
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. */
71 };
72 
75 };
76 
81 tpi_channelID *tpi_channelID_parse( statusMessageReporting *smr, char const *str, char **EOP );
85 
90 tpi_spectralID *tpi_spectralID_parse( statusMessageReporting *smr, char const *str, char **EOP );
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. */
char * revision
Definition: tpi_IDs.h:65
int tpi_spectralID_release(statusMessageReporting *smr, tpi_spectralID *spectralID)
Definition: tpi_IDs.cc:202
tpi_spectralID * tpi_spectralID_parse(statusMessageReporting *smr, char const *str, char **EOP)
Definition: tpi_IDs.cc:218
int tpi_spectralID_initialize(statusMessageReporting *smr, tpi_spectralID *spectralID)
Definition: tpi_IDs.cc:183
char * tpi_misc_allocateAndCopyNCharacters(statusMessageReporting *smr, char const *str, int n)
Definition: tpi_IDs.cc:429
tpi_spectralID * tpi_spectralID_allocate(statusMessageReporting *smr)
Definition: tpi_IDs.cc:170
int tpi_channelID_toStringSans(statusMessageReporting *smr, tpi_channelID *channelID, gString *gStr, char *sans[])
Definition: tpi_IDs.cc:155
int tpi_channelID_initialize(statusMessageReporting *smr, tpi_channelID *channelID)
Definition: tpi_IDs.cc:66
int tpi_channelID_toStringSanRevision(statusMessageReporting *smr, tpi_channelID *channelID, gString *gStr)
Definition: tpi_IDs.cc:145
tpi_spectralID * next
Definition: tpi_IDs.h:62
int tpi_spectralID_toStringSans(statusMessageReporting *smr, tpi_spectralID *spectralID, gString *gStr, char *sans[])
Definition: tpi_IDs.cc:371
Char_t n[5]
int tpi_spectralID_toStringSanRevision(statusMessageReporting *smr, tpi_spectralID *spectralID, gString *gStr)
Definition: tpi_IDs.cc:360
double level
Definition: tpi_IDs.h:68
void * tpi_spectralID_free(statusMessageReporting *smr, tpi_spectralID *spectralID)
Definition: tpi_IDs.cc:191
int tpi_spectralID_toString(statusMessageReporting *smr, tpi_spectralID *spectralID, gString *gStr)
Definition: tpi_IDs.cc:353
tpi_channelID * decayChannel
Definition: tpi_IDs.h:70
int tpi_channelID_toString(statusMessageReporting *smr, tpi_channelID *channelID, gString *gStr)
Definition: tpi_IDs.cc:138
char const * tpi_misc_firstNonWhiteSpace(statusMessageReporting *smr, char const *str)
Definition: tpi_IDs.cc:419
tpi_spectralID * spectralIDs
Definition: tpi_IDs.h:74
tpi_channelID * tpi_channelID_parse(statusMessageReporting *smr, char const *str, char **EOP)
Definition: tpi_IDs.cc:99
int tpi_channelID_release(statusMessageReporting *smr, tpi_channelID *channelID)
Definition: tpi_IDs.cc:85
int multiplicity
Definition: tpi_IDs.h:67
void * tpi_channelID_free(statusMessageReporting *smr, tpi_channelID *channelID)
Definition: tpi_IDs.cc:74
char * name
Definition: tpi_IDs.h:63
tpi_channelID * tpi_channelID_allocate(statusMessageReporting *smr)
Definition: tpi_IDs.cc:53
tpi_spectralIDQualifier * qualifiers
Definition: tpi_IDs.h:64
char * multiplicityStr
Definition: tpi_IDs.h:66
tpi_spectralIDQualifier * next
Definition: tpi_IDs.h:56
char * levelStr
Definition: tpi_IDs.h:69