From 3b67b677d516f65de53617bdcd3b98b524176c6a Mon Sep 17 00:00:00 2001
From: Baptiste LENIAU <baptiste.leniau@subatech.in2p3.fr>
Date: Fri, 17 Apr 2015 15:38:19 +0000
Subject: [PATCH] correct bug when plotting decay heat for individual
 facilities

git-svn-id: svn+ssh://svn.in2p3.fr/class@648 0e7d625b-0364-4367-a6be-d5be4a48d228
---
 gui/trunk/CLASSWin.cxx | 109 ++++++++++++++++++++++++++++++-----------
 1 file changed, 80 insertions(+), 29 deletions(-)

diff --git a/gui/trunk/CLASSWin.cxx b/gui/trunk/CLASSWin.cxx
index f1ffbb804..e449ab305 100755
--- a/gui/trunk/CLASSWin.cxx
+++ b/gui/trunk/CLASSWin.cxx
@@ -672,50 +672,100 @@ void MainWin::Plot()
 		{
 			if(fCheckArrayReactor[i][j]->GetState()==kButtonDown)
 			{
-				for(int l=0;l<3;l++)
-					if (fCheckIVPlot[l]->GetState()==kButtonDown)
-						for(int k=0; k < Nnucleus; k++)
-						{
-							if(fCheckArrayNuc[k]->GetState()==kButtonDown)
-								toplot.push_back( CLASSPlotElement(i,1,j,l, fDATA->GetZAIvector()[k]));
-						}
+				if(fButtonRadiotox->GetState()==kButtonDown || fButtonHeat->GetState()==kButtonDown)
+				{
+					for(int k=0; k < Nnucleus; k++)
+					{
+						if(fCheckArrayNuc[k]->GetState()==kButtonDown)
+							toplot.push_back( CLASSPlotElement(i,1,j,0, fDATA->GetZAIvector()[k]));
+					}
+				}
+				else
+				{
+					for(int l=0;l<3;l++)
+						if (fCheckIVPlot[l]->GetState()==kButtonDown)
+							for(int k=0; k < Nnucleus; k++)
+							{
+								if(fCheckArrayNuc[k]->GetState()==kButtonDown)
+									toplot.push_back( CLASSPlotElement(i,1,j,l, fDATA->GetZAIvector()[k]));
+							}
+				}
 			}
 		}
 		
 		for(int j=0; j < fNumberOfStock[i]; j++)
-		{
+		{	
 			if(fCheckArrayStock[i][j]->GetState()==kButtonDown)
-				for(int l =0;l<3;l++)
-					if (fCheckIVPlot[l]->GetState()==kButtonDown)
-						for(int k=0; k < Nnucleus; k++)
-						{
-							if(fCheckArrayNuc[k]->GetState()==kButtonDown)
-								toplot.push_back( CLASSPlotElement(i, 2, j,l, fDATA->GetZAIvector()[k]));
-						}
+			{
+				if(fButtonRadiotox->GetState()==kButtonDown || fButtonHeat->GetState()==kButtonDown)
+				{
+					for(int k=0; k < Nnucleus; k++)
+					{
+						if(fCheckArrayNuc[k]->GetState()==kButtonDown)
+							toplot.push_back( CLASSPlotElement(i,2,j,0, fDATA->GetZAIvector()[k]));
+					}
+				}
+				else
+				{
+					for(int l=0;l<3;l++)
+						if (fCheckIVPlot[l]->GetState()==kButtonDown)
+							for(int k=0; k < Nnucleus; k++)
+							{
+								if(fCheckArrayNuc[k]->GetState()==kButtonDown)
+									toplot.push_back( CLASSPlotElement(i,2,j,l, fDATA->GetZAIvector()[k]));
+							}
+				}
+			}
 		}
 		
 		for(int j=0; j < fNumberOfPool[i]; j++)
 		{
 			if(fCheckArrayPool[i][j]->GetState()==kButtonDown)
-				for(int l =0;l<3;l++)
-					if (fCheckIVPlot[l]->GetState()==kButtonDown)
-						for(int k=0; k < Nnucleus; k++)
-						{
-							if(fCheckArrayNuc[k]->GetState()==kButtonDown)
-								toplot.push_back( CLASSPlotElement(i, 3, j,l, fDATA->GetZAIvector()[k]));
-						}
+			{
+				if(fButtonRadiotox->GetState()==kButtonDown || fButtonHeat->GetState()==kButtonDown)
+				{
+					for(int k=0; k < Nnucleus; k++)
+					{
+						if(fCheckArrayNuc[k]->GetState()==kButtonDown)
+							toplot.push_back( CLASSPlotElement(i,3,j,0, fDATA->GetZAIvector()[k]));
+					}
+				}
+				else
+				{
+					for(int l=0;l<3;l++)
+						if (fCheckIVPlot[l]->GetState()==kButtonDown)
+							for(int k=0; k < Nnucleus; k++)
+							{
+								if(fCheckArrayNuc[k]->GetState()==kButtonDown)
+									toplot.push_back( CLASSPlotElement(i,3,j,l, fDATA->GetZAIvector()[k]));
+							}
+				}
+			}
 		}
 		
 		for(int j=0; j < fNumberOfFab[i]; j++)
 		{
 			if(fCheckArrayFab[i][j]->GetState()==kButtonDown)
-				for(int l =0;l<3;l++)
-					if (fCheckIVPlot[l]->GetState()==kButtonDown)
-						for(int k=0; k < Nnucleus; k++)
-						{
-							if(fCheckArrayNuc[k]->GetState()==kButtonDown)
-								toplot.push_back( CLASSPlotElement(i, 4, j,l, fDATA->GetZAIvector()[k]));
-						}
+			{
+				if(fButtonRadiotox->GetState()==kButtonDown || fButtonHeat->GetState()==kButtonDown)
+				{
+					for(int k=0; k < Nnucleus; k++)
+					{
+						if(fCheckArrayNuc[k]->GetState()==kButtonDown)
+							toplot.push_back( CLASSPlotElement(i,4,j,0, fDATA->GetZAIvector()[k]));
+					}
+				}
+				else
+				{
+					for(int l=0;l<3;l++)
+						if (fCheckIVPlot[l]->GetState()==kButtonDown)
+							for(int k=0; k < Nnucleus; k++)
+							{
+								if(fCheckArrayNuc[k]->GetState()==kButtonDown)
+									toplot.push_back( CLASSPlotElement(i,4,j,l, fDATA->GetZAIvector()[k]));
+							}
+				}
+			}
 		}
 	}
 	
@@ -750,6 +800,7 @@ void MainWin::Plot()
 			fDATA->PlotHeat(toplot,fIsByMother,StartingStep,FinalTime,NStep,IsLinear);
 		
 	}
+
 	
 }
 void MainWin::Conversionxml()
-- 
GitLab