From 1e4dd462f2543183d5c91c8ae50aa96b61527270 Mon Sep 17 00:00:00 2001
From: Baptiste Mouginot <mouginot.baptiste@gmail.com>
Date: Tue, 8 Jul 2014 12:18:41 +0000
Subject: [PATCH] adding CLASSLog in XSM & EQM

git-svn-id: svn+ssh://svn.in2p3.fr/class@314 0e7d625b-0364-4367-a6be-d5be4a48d228
---
 .../CLASSV3/include/EQM_MLP_PWR_MOX.hxx       |  1 +
 .../CLASSV3/include/EQM_QUAD_PWR_MOX.hxx      |  1 +
 .../branches/CLASSV3/include/XSM_CLOSEST.hxx  |  2 +-
 .../CLASSV3/include/XSM_MLP_PWR_MOX.hxx       |  2 +-
 .../branches/CLASSV3/src/EQM_LIN_PWR_MOX.cxx  |  2 +-
 .../branches/CLASSV3/src/EQM_MLP_PWR_MOX.cxx  | 23 +++++++++-
 .../branches/CLASSV3/src/EQM_QUAD_PWR_MOX.cxx | 42 ++++++++++++++++++-
 source/branches/CLASSV3/src/XSM_CLOSEST.cxx   | 21 ++++++++++
 .../branches/CLASSV3/src/XSM_MLP_PWR_MOX.cxx  | 28 +++++++++----
 9 files changed, 109 insertions(+), 13 deletions(-)

diff --git a/source/branches/CLASSV3/include/EQM_MLP_PWR_MOX.hxx b/source/branches/CLASSV3/include/EQM_MLP_PWR_MOX.hxx
index 468187c05..30998228d 100644
--- a/source/branches/CLASSV3/include/EQM_MLP_PWR_MOX.hxx
+++ b/source/branches/CLASSV3/include/EQM_MLP_PWR_MOX.hxx
@@ -33,6 +33,7 @@ class EQM_MLP_MOX : public EquivalenceModel
 	public :
 	
 	EQM_MLP_MOX(string TMVAWeightPath);
+	EQM_MLP_MOX(CLASSLogger* log, string TMVAWeightPath);
 
 	double GetFissileMolarFraction(IsotopicVector Fissil,IsotopicVector Fertil,double BurnUp);
 
diff --git a/source/branches/CLASSV3/include/EQM_QUAD_PWR_MOX.hxx b/source/branches/CLASSV3/include/EQM_QUAD_PWR_MOX.hxx
index 9a13fca25..ccd05944c 100644
--- a/source/branches/CLASSV3/include/EQM_QUAD_PWR_MOX.hxx
+++ b/source/branches/CLASSV3/include/EQM_QUAD_PWR_MOX.hxx
@@ -32,6 +32,7 @@ class EQM_QUAD_PWR_MOX : public EquivalenceModel
 	public :
 	
 	EQM_QUAD_PWR_MOX(string WeightPath);
+	EQM_QUAD_PWR_MOX(CLASSLogger* log, string WeightPath);
 	~EQM_QUAD_PWR_MOX();
 
 	double GetFissileMolarFraction(IsotopicVector Fissil,IsotopicVector Fertil,double BurnUp);
diff --git a/source/branches/CLASSV3/include/XSM_CLOSEST.hxx b/source/branches/CLASSV3/include/XSM_CLOSEST.hxx
index b6e1666c6..bfe347a48 100644
--- a/source/branches/CLASSV3/include/XSM_CLOSEST.hxx
+++ b/source/branches/CLASSV3/include/XSM_CLOSEST.hxx
@@ -42,7 +42,7 @@ public :
 	 \name Constructor/Desctructor
 	 */
 	//@{
-
+	XSM_CLOSEST(string DB_index_file, bool oldreadmethod = true );
 	XSM_CLOSEST(CLASSLogger* Log, string DB_index_file, bool oldreadmethod = true );	
 	~XSM_CLOSEST();
 	//{
diff --git a/source/branches/CLASSV3/include/XSM_MLP_PWR_MOX.hxx b/source/branches/CLASSV3/include/XSM_MLP_PWR_MOX.hxx
index 34c1e730a..83f7f60c5 100644
--- a/source/branches/CLASSV3/include/XSM_MLP_PWR_MOX.hxx
+++ b/source/branches/CLASSV3/include/XSM_MLP_PWR_MOX.hxx
@@ -41,7 +41,7 @@ public :
 	 \name Constructor/Desctructor
 	 */
 	//@{
-
+	XSM_MLP_PWR_MOX(string TMVA_Weight_Directory,string InformationFile="",bool IsTimeStep=true);
 	XSM_MLP_PWR_MOX(CLASSLogger* Log,string TMVA_Weight_Directory,string InformationFile="",bool IsTimeStep=true);	
 	~XSM_MLP_PWR_MOX(); 
 	//{
diff --git a/source/branches/CLASSV3/src/EQM_LIN_PWR_MOX.cxx b/source/branches/CLASSV3/src/EQM_LIN_PWR_MOX.cxx
index 11201cefe..0d6dbaca0 100644
--- a/source/branches/CLASSV3/src/EQM_LIN_PWR_MOX.cxx
+++ b/source/branches/CLASSV3/src/EQM_LIN_PWR_MOX.cxx
@@ -10,7 +10,7 @@
 
 
 
-EQM_LIN_PWR_MOX::EQM_LIN_PWR_MOX(string WeightPath):EquivalenceModel()
+EQM_LIN_PWR_MOX::EQM_LIN_PWR_MOX(string WeightPath):EquivalenceModel(new CLASSLogger("EQM_LIN_PWR_MOX.log"))
 {
 	fWeightPath =  WeightPath;
 
diff --git a/source/branches/CLASSV3/src/EQM_MLP_PWR_MOX.cxx b/source/branches/CLASSV3/src/EQM_MLP_PWR_MOX.cxx
index 04976d236..45c3f9ac2 100644
--- a/source/branches/CLASSV3/src/EQM_MLP_PWR_MOX.cxx
+++ b/source/branches/CLASSV3/src/EQM_MLP_PWR_MOX.cxx
@@ -25,7 +25,7 @@
 //
 //________________________________________________________________________
 
-EQM_MLP_MOX::EQM_MLP_MOX(string TMVAWeightPath)
+EQM_MLP_MOX::EQM_MLP_MOX(string TMVAWeightPath):EquivalenceModel(new CLASSLogger("EQM_MLP_MOX.log"))
 {
 	fTMVAWeightPath =  TMVAWeightPath;
 	
@@ -43,6 +43,27 @@ EQM_MLP_MOX::EQM_MLP_MOX(string TMVAWeightPath)
 	fFertileList = U5*U5_enrich + U8*(1-U5_enrich);
 	
 }
+
+//________________________________________________________________________
+EQM_MLP_MOX::EQM_MLP_MOX(CLASSLogger* log, string TMVAWeightPath):EquivalenceModel(log)
+{
+	fTMVAWeightPath =  TMVAWeightPath;
+
+	ZAI U8(92,238,0);
+	ZAI U5(92,235,0);
+	double U5_enrich= 0.0025;
+
+	ZAI Pu8(94,238,0);
+	ZAI Pu9(94,239,0);
+	ZAI Pu0(94,240,0);
+	ZAI Pu1(94,241,0);
+	ZAI Pu2(94,242,0);
+
+	fFissileList = Pu8*1+Pu9*1+Pu0*1+Pu1*1+Pu2*1;
+	fFertileList = U5*U5_enrich + U8*(1-U5_enrich);
+
+}
+
 //________________________________________________________________________
 TTree* EQM_MLP_MOX::CreateTMVAInputTree(IsotopicVector Fissil,IsotopicVector Fertil,double BurnUp)
 {	//cout<<"entering EQM_MLP_MOX::CreateTMVAInputTree"<<endl;
diff --git a/source/branches/CLASSV3/src/EQM_QUAD_PWR_MOX.cxx b/source/branches/CLASSV3/src/EQM_QUAD_PWR_MOX.cxx
index 70bb8fd43..79ce73946 100644
--- a/source/branches/CLASSV3/src/EQM_QUAD_PWR_MOX.cxx
+++ b/source/branches/CLASSV3/src/EQM_QUAD_PWR_MOX.cxx
@@ -8,7 +8,7 @@
 
 
 
-EQM_QUAD_PWR_MOX::EQM_QUAD_PWR_MOX(string WeightPath):EquivalenceModel()
+EQM_QUAD_PWR_MOX::EQM_QUAD_PWR_MOX(string WeightPath):EquivalenceModel(new CLASSLogger("EQM_QUAD_PWR_MOX.log"))
 {
 	fWeightPath =  WeightPath;
 
@@ -47,6 +47,46 @@ EQM_QUAD_PWR_MOX::EQM_QUAD_PWR_MOX(string WeightPath):EquivalenceModel()
 
 }
 
+EQM_QUAD_PWR_MOX::EQM_QUAD_PWR_MOX(CLASSLogger* log, string WeightPath):EquivalenceModel(log)
+{
+	fWeightPath =  WeightPath;
+
+	ifstream DataDB(fWeightPath.c_str());							// Open the File
+	if(!DataDB)
+		WARNING << " Can't open \"" << fWeightPath << "\"" << endl;
+
+	string line;
+	int start = 0;	// First Get Fuel Parameter
+	getline(DataDB, line);
+
+	if( StringLine::NextWord(line, start, ' ') != "PARAM")
+	{
+		ERROR << "Bad Database file : " <<  fWeightPath << " Can't find the Parameter of the DataBase " << endl;
+		exit (1);
+	}
+	while(start < (int)line.size())
+		fFuelParameter.push_back(atof(StringLine::NextWord(line, start, ' ').c_str()));
+
+	INFO << fFuelParameter.size() << " have been read " << endl;
+
+
+	ZAI U8(92,238,0);
+	ZAI U5(92,235,0);
+	double U5_enrich= 0.0025;
+	fFertileList = U5*U5_enrich + U8*(1-U5_enrich);
+
+
+	ZAI Pu8(94,238,0);
+	ZAI Pu9(94,239,0);
+	ZAI Pu0(94,240,0);
+	ZAI Pu1(94,241,0);
+	ZAI Pu2(94,242,0);
+	fFissileList = Pu8*1+Pu9*1+Pu0*1+Pu1*1+Pu2*1;
+	
+	
+}
+
+
 
 EQM_QUAD_PWR_MOX::~EQM_QUAD_PWR_MOX()
 {
diff --git a/source/branches/CLASSV3/src/XSM_CLOSEST.cxx b/source/branches/CLASSV3/src/XSM_CLOSEST.cxx
index 8d48af58c..6b65d0fae 100644
--- a/source/branches/CLASSV3/src/XSM_CLOSEST.cxx
+++ b/source/branches/CLASSV3/src/XSM_CLOSEST.cxx
@@ -26,6 +26,27 @@
 //
 //
 //
+//________________________________________________________________________
+
+XSM_CLOSEST::XSM_CLOSEST(string DB_index_file, bool oldreadmethod ): XSModel(new CLASSLogger("XSM_CLOSEST.log"))
+{
+	fOldReadMethod = oldreadmethod;
+	fDataBaseIndex = DB_index_file;
+	fDistanceType = 0;
+	fWeightedDistance = false;
+	fEvolutionDataInterpolation = false;
+	ReadDataBase();
+
+	if(IsLog())
+	{
+		// Warning
+		INFO 	<< " A EvolutionData has been define :" << endl;
+		INFO	<< "\t His index is : \"" << DB_index_file << "\" " << endl;
+		INFO	<< "\t " << fFuelDataBank.size() << " EvolutionData have been read."<< endl << endl;
+	}
+
+}
+
 //________________________________________________________________________
 XSM_CLOSEST::XSM_CLOSEST(CLASSLogger* Log,string DB_index_file, bool oldreadmethod ): XSModel(Log)
 {
diff --git a/source/branches/CLASSV3/src/XSM_MLP_PWR_MOX.cxx b/source/branches/CLASSV3/src/XSM_MLP_PWR_MOX.cxx
index 8942bfe93..e5fc84bc6 100644
--- a/source/branches/CLASSV3/src/XSM_MLP_PWR_MOX.cxx
+++ b/source/branches/CLASSV3/src/XSM_MLP_PWR_MOX.cxx
@@ -32,10 +32,26 @@
 //
 //
 //________________________________________________________________________
-XSM_MLP_PWR_MOX::XSM_MLP_PWR_MOX(CLASSLogger* Log,string TMVA_Weight_Directory,string InformationFile, bool IsTimeStep)
+XSM_MLP_PWR_MOX::XSM_MLP_PWR_MOX(string TMVA_Weight_Directory,string InformationFile, bool IsTimeStep):XSModel(new CLASSLogger("XSM_MLP_PWR_MOX.log"))
 {
 
-	SetLog(Log);
+	fIsStepTime=IsTimeStep;
+	fTMVAWeightFolder = TMVA_Weight_Directory;
+	if(InformationFile=="")
+		fMLPInformationFile = TMVA_Weight_Directory+"/Data_Base_Info.nfo";
+	else
+		fMLPInformationFile=fTMVAWeightFolder+InformationFile;
+
+	GetMLPWeightFiles();
+	GetDataBaseInformation();
+
+	INFO << " A EvolutionData has been define : " << endl;
+	INFO << " \t His TMVA folder is : \" " << fTMVAWeightFolder << "\"" << endl;
+
+}
+//________________________________________________________________________
+XSM_MLP_PWR_MOX::XSM_MLP_PWR_MOX(CLASSLogger* Log,string TMVA_Weight_Directory,string InformationFile, bool IsTimeStep):XSModel(Log)
+{
 
 	fIsStepTime=IsTimeStep;
 	fTMVAWeightFolder = TMVA_Weight_Directory;
@@ -47,12 +63,8 @@ XSM_MLP_PWR_MOX::XSM_MLP_PWR_MOX(CLASSLogger* Log,string TMVA_Weight_Directory,s
 	GetMLPWeightFiles();
 	GetDataBaseInformation();
 
-	if(IsLog())
-	{
-		// Warning
-		INFO << " A EvolutionData has been define : " << endl;
-		INFO << " \t His TMVA folder is : \" " << fTMVAWeightFolder << "\"" << endl;
-	}
+	INFO << " A EvolutionData has been define : " << endl;
+	INFO << " \t His TMVA folder is : \" " << fTMVAWeightFolder << "\"" << endl;
 
 }
 //________________________________________________________________________
-- 
GitLab