39 char *endptr, name_[256], AStr[32];
40 char const *ZStr, *alias = NULL;
43 char const *yiNames[] = {
"p",
"h2",
"h3",
"he3",
"he4",
"photon" };
44 char const *yiAliases[] = {
"h1",
"d",
"t",
"he3",
"a",
"g" };
48 if( special == NULL ) special =
"";
50 if( isdigit( name[0] ) ) {
51 ZA = (int) strtol( name, &endptr, 10 );
60 if( strcmp( special,
"LLNL" ) == 0 ) {
61 if( ( ZA > 1 ) && ( ZA < 8 ) ) {
62 strcpy( name_, yiNames[ZA-2] );
63 alias = yiAliases[ZA-2];
66 else if( ( ZA == 1801 ) || ( ZA == 1901 ) ) {
67 strcpy( name_, yiNames[0] );
71 else if( ZA == 1902 ) {
72 strcpy( name_, yiNames[1] );
76 else if( ZA == 4809 ) {
77 strcpy( name_,
"Be9" );
80 else if( ZA == 4909 ) {
81 strcpy( name_,
"Be9" );
84 else if( ZA == 6912 ) {
85 strcpy( name_,
"C12" );
88 else if( ZA == 8916 ) {
89 strcpy( name_,
"O16" );
92 else if( ZA == 95242 ) {
93 strcpy( name_,
"Am242_e2" );
98 if( ( 120 <=
A ) && (
A < 126 ) ) {
99 snprintf( name_,
sizeof name_,
"FissionProductENDL99%d",
A );
105 if( ispecial == 0 ) {
109 strcpy( AStr,
"_natural" ); }
111 snprintf( AStr,
sizeof AStr,
"%d",
A );
113 if( ( ZStr = lPoPs_ZSymbol( Z ) ) == NULL ) {
117 snprintf( name_,
sizeof name_,
"%s%s", ZStr, AStr );
122 strcpy( name_, name );
124 if( strcmp( name,
"neutron" ) == 0 ) {
125 strcpy( name_,
"n" );
128 else if( strcmp( name,
"electron" ) == 0 ) {
129 strcpy( name_,
"e-" );
132 else if( strcmp( name,
"positron" ) == 0 ) {
133 strcpy( name_,
"e+" );
136 else if( ( strcmp( name,
"h1" ) == 0 ) || ( strcmp( name,
"proton" ) == 0 ) ) {
138 else if( ( strcmp( name,
"d" ) == 0 ) || ( strcmp( name,
"deuteron" ) == 0 ) ) {
140 else if( ( strcmp( name,
"t" ) == 0 ) || ( strcmp( name,
"triton" ) == 0 ) ) {
142 else if( strcmp( name,
"helium3" ) == 0 ) {
144 else if( ( strcmp( name,
"a" ) == 0 ) || ( strcmp( name,
"alpha" ) == 0 ) || ( strcmp( name,
"helium4" ) == 0 ) ) {
146 else if( ( strcmp( name,
"g" ) == 0 ) || ( strcmp( name,
"gamma" ) == 0 ) ) {
148 else if( strcmp( name,
"FP" ) == 0 ) {
149 strcpy( name_,
"FissionProductENDL99120" );
153 strcpy( name_, yiNames[ZA-2] );
167 if( ( pop =
PoP_makeAlias( smr, name_, name ) ) == NULL )
return( -1 );
171 if( alias != NULL ) {
173 if( ( pop =
PoP_makeAlias( smr, name_, alias ) ) == NULL )
return( -1 );