79 m_isAnti( a_intid < 0 ),
84 m_nuclearLevelIndex( -1 ),
85 m_metaStableIndex( -1 ),
87 m_isNeutrino( false ),
92 int intidAbs = std::abs( a_intid );
94 bool nuclearLike = intidAbs / 1000000000 == 0;
95 int family = (intidAbs / 10000000) % 100;
96 int SSSSSSS = intidAbs % 10000000;
99 m_AAA = intidAbs % 1000;
100 m_ZZZ = intidAbs % 1000000 / 1000;
101 m_III = intidAbs % 1000000000 / 1000000;
103 m_nuclearLevelIndex = m_III;
104 if( ( m_III < 500 ) || a_GRIN_mode ) {
107 m_nuclearLevelIndex -= 500;
111 int topFamilyDigid =
family / 10;
112 if( ( topFamilyDigid == 5 ) || ( topFamilyDigid == 6 ) ) {
114 m_AAA = intidAbs % 1000;
115 m_ZZZ = intidAbs % 1000000 / 1000;
116 m_metaStableIndex = intidAbs % 100000000 / 1000000; }
118 m_familyId = SSSSSSS;
122 int neutronoFlag = ( SSSSSSS % 100 ) / 10;
123 if( neutronoFlag > 1 )
return;
126 m_generation = SSSSSSS % 10;
127 m_isNeutrino = neutronoFlag != 0; }
130 m_baryonGroup = SSSSSSS / 1000000;
131 m_baryonId = SSSSSSS % 1000000; }