// Add ions to PDG Data base
//
AddParticlesToPdgDataBase();
+ //
+
+
}
// Error id
if (id == 0 || id < kFLUKAcodemin || id > kFLUKAcodemax) {
if (fVerbosityLevel >= 3)
- printf("PDGFromId: Error id = 0\n");
+ printf("PDGFromId: Error id = 0 %5d %5d\n", id, fCaller);
return -1;
}
// Good id
// and there is a call to endraw for energy deposition for each of them
// and they have the track number of their parent, but different identity (pdg)
// so we want to assign also their parent identity.
- if( (IsTrackStop() )
+
+ if( (IsTrackStop())
&& TRACKR.ispusr[mkbmx2 - 4] == TRACKR.ispusr[mkbmx2 - 1]
&& TRACKR.jtrack != TRACKR.ispusr[mkbmx2 - 3] ) {
if (fVerbosityLevel >=3)
<< " assign parent PDG=" << PDGFromId(TRACKR.ispusr[mkbmx2 - 3]) << endl;
return TRACKR.ispusr[mkbmx2 - 3]; // assign parent identity
}
- return TRACKR.jtrack;
+ if (TRACKR.jtrack <= 64) {
+ return TRACKR.jtrack;
+ } else {
+ return TRACKR.j0trck;
+ }
}
break;
case kKASOPHrefraction:
iproc = kPLightRefraction;
- case kEMSCOlocaledep :
+ case kEMFSCOlocaldep :
iproc = kPPhotoelectric;
break;
default: