diff --git a/Simulation/ISF/ISF_Fatras/ISF_FatrasTools/src/McMaterialEffectsUpdator.cxx b/Simulation/ISF/ISF_Fatras/ISF_FatrasTools/src/McMaterialEffectsUpdator.cxx index 21062949d624b5e50f76ad1fee50c6c8ea653a27..bd96b186bf67e923515bfab76d90b9b1f71ff052 100755 --- a/Simulation/ISF/ISF_Fatras/ISF_FatrasTools/src/McMaterialEffectsUpdator.cxx +++ b/Simulation/ISF/ISF_Fatras/ISF_FatrasTools/src/McMaterialEffectsUpdator.cxx @@ -621,9 +621,19 @@ const Trk::TrackParameters* iFatras::McMaterialEffectsUpdator::updateInLay(const double co = m_layer->surfaceRepresentation().normal().dot( childs[ic]->momentum().unit() ); double remMat = ci*co <0 ? (1-matFraction) : matFraction; - // loop back - const Trk::TrackParameters* uPar = updateInLay(childs[ic],cparm,remMat,timeLim, pLim, dir, pHypothesis); - if (uPar) ATH_MSG_VERBOSE( "Check this: parameters should be dummy here " << isp->pdgCode()<<","<<uPar->position() ); + // in the validation mode, add process info + if (m_validationMode) { + ISF::ParticleUserInformation* validInfo = new ISF::ParticleUserInformation(); + validInfo->setProcess(childs[ic]->getUserInformation()->process()); + if (isp->getUserInformation()) validInfo->setGeneration(isp->getUserInformation()->generation()+1); + else validInfo->setGeneration(1); // assume parent is a primary track + childs[ic]->setUserInformation(validInfo); + } + // register next geo (is current), next flavor can be defined by filter + childs[ic]->setNextGeoID( isp->nextGeoID() ); + // feed it the particle broker with parent information + m_particleBroker->push(childs[ic], isp); + }