diff --git a/source/branches/CLASSV3/src/CLASSNucleiFiliation.cxx b/source/branches/CLASSV3/src/CLASSNucleiFiliation.cxx index 6cde32d3b451cfb0addfbbf13115742c69a36821..9560eafbe2382866a6764851c1d4ad51ba764604 100644 --- a/source/branches/CLASSV3/src/CLASSNucleiFiliation.cxx +++ b/source/branches/CLASSV3/src/CLASSNucleiFiliation.cxx @@ -98,7 +98,7 @@ void CLASSNucleiFiliation::FiliationCleanUp(map<ZAI, int> GoodNuclei, CLASSNucle { ZAI Mother = DautherList[i]; - while (FastDecayChain.GetQuantity(-1, -1, -1) != 0 || GoodNuclei.find(Mother) == GoodNuclei.end()) + while (FastDecayChain.GetQuantity(-1, -1, -1) != 0 && GoodNuclei.find(Mother) == GoodNuclei.end()) { Mother = GetArtificialDecay(Mother); // Do an Artifial decay on the nuclei FastDecayChain = CuttedNuclei.GetFiliation(Mother); // Get the fast decay chain of it diff --git a/source/branches/CLASSV3/src/IrradiationModel.cxx b/source/branches/CLASSV3/src/IrradiationModel.cxx index 22553a296828ee448ff54204a313aaa1c3b9f3a4..29ec0143a81adc11d58c62f76acc18f699cbce12 100644 --- a/source/branches/CLASSV3/src/IrradiationModel.cxx +++ b/source/branches/CLASSV3/src/IrradiationModel.cxx @@ -402,7 +402,6 @@ CLASSNucleiFiliation IrradiationModel::ReadFPYield(string Yield) MyYield.Add( Fissile[i], FPYields[i] ); - MyYield.FiliationCleanUp(fMatrixIndex, fFastDecay); // remove the cutted nuclei.... DBGL return MyYield; } @@ -419,14 +418,19 @@ void IrradiationModel::NuclearDataInitialization() { DBGL + if(fSpontaneusYieldFile!="") + fSpontaneusYield = ReadFPYield(fSpontaneusYieldFile); + if(fReactionYieldFile!="") + fReactionYield = ReadFPYield(fReactionYieldFile); + LoadDecay(); if(fSpontaneusYieldFile!="") - fSpontaneusYield = ReadFPYield(fSpontaneusYieldFile); - + fSpontaneusYield.FiliationCleanUp(fMatrixIndex, fFastDecay); // remove the cutted nuclei.... if(fReactionYieldFile!="") - fReactionYield = ReadFPYield(fReactionYieldFile); + fReactionYield.FiliationCleanUp(fMatrixIndex, fFastDecay); // remove the cutted nuclei.... + BuildDecayMatrix(); BuildReactionFiliation(); @@ -582,10 +586,10 @@ TMatrixT<double> IrradiationModel::GetCaptureXsMatrix(EvolutionData EvolutionDat if(CaptureProductIV.GetQuantity(ZAI(-1,-1,-1)) != 1) // Check if ZAI is dealed CaptureMatrix += GetNuclearProcessMatrix( Mother, CaptureProductIV, XS_Value ); // add the Nuclear process in the Reaction Matrix else - { WARNING << "Can't have capture reaction on this nuclei, ZAI : " << Mother.Z() << " " << Mother.A() << " " << Mother.I() << endl; - CaptureMatrix += GetNuclearProcessMatrix( Mother, ZAI(-3, -3, -3)*1 , XS_Value ); // add the Nuclear process in the Reaction Matrix - } + + + } @@ -620,10 +624,7 @@ TMatrixT<double> IrradiationModel::Getn2nXsMatrix(EvolutionData EvolutionDataSte if(n2nProductIV.GetQuantity(ZAI(-1,-1,-1)) != 1) // Check if ZAI is dealed n2nMatrix += GetNuclearProcessMatrix( Mother, n2nProductIV, XS_Value ); // add the Nuclear process in the Reaction Matrix else - { WARNING << "Can't have n,2n reaction on this nuclei, ZAI : " << Mother.Z() << " " << Mother.A() << " " << Mother.I() << endl; - n2nMatrix += GetNuclearProcessMatrix( Mother, ZAI(-3, -3, -3)*1 , XS_Value ); // add the Nuclear process in the Reaction Matrix - } }