diff --git a/source/branches/BaM_Dev/Model/Equivalence/EQM_FBR_BakerRoss_MOX.cxx b/source/branches/BaM_Dev/Model/Equivalence/EQM_FBR_BakerRoss_MOX.cxx
index 604e1a8f2f89fc5ab294e1aeb71ac08ff994ad6b..3a4f0af1817b7f8d989fca00016c91056c6f047e 100644
--- a/source/branches/BaM_Dev/Model/Equivalence/EQM_FBR_BakerRoss_MOX.cxx
+++ b/source/branches/BaM_Dev/Model/Equivalence/EQM_FBR_BakerRoss_MOX.cxx
@@ -38,19 +38,19 @@ EQM_FBR_BakerRoss_MOX::EQM_FBR_BakerRoss_MOX(double Weight_U_235, double Weight_
 	fWeight_Am_241 = Weight_Am_241;
 
 
-	INFO<<"__An equivalence model of FBR MOX has been defined__"<<endl;
-	INFO<<"\tThis model is based on Plutonium 239 equivalent"<<endl;
-	INFO<<"\t\t Weigt values : "<<endl;
-	INFO<<"\t\t Fertile :  "<<endl;
-	INFO<<"\t\t\tU_235 "<<  Weight_U_235<<endl;
-	INFO<<"\t\t\tU_238 0 (by definition)"<<endl;
-	INFO<<"\t\t Fissile :  "<<endl;
-	INFO<<"\t\t\tPu_238 "<<Weight_Pu_238<<endl;
-	INFO<<"\t\t\tPu_239 1 (by definition)"<<endl;
-	INFO<<"\t\t\tPu_240 "<<Weight_Pu_240<<endl;
-	INFO<<"\t\t\tPu_241 "<<Weight_Pu_241<<endl;
-	INFO<<"\t\t\tPu_242 "<<Weight_Pu_242<<endl;
-	INFO<<"\t\t\tAm_241 "<<Weight_Am_241<<endl;
+	INFO << "__An equivalence model of FBR MOX has been defined__" << endl;
+	INFO << "\tThis model is based on Plutonium 239 equivalent" << endl;
+	INFO << "\t\t Weigt values : " << endl;
+	INFO << "\t\t Fertile :  " << endl;
+	INFO << "\t\t\tU_235 " <<   Weight_U_235 << endl;
+	INFO << "\t\t\tU_238 0 (by definition)" << endl;
+	INFO << "\t\t Fissile :  " << endl;
+	INFO << "\t\t\tPu_238 " << Weight_Pu_238 << endl;
+	INFO << "\t\t\tPu_239 1 (by definition)" << endl;
+	INFO << "\t\t\tPu_240 " << Weight_Pu_240 << endl;
+	INFO << "\t\t\tPu_241 " << Weight_Pu_241 << endl;
+	INFO << "\t\t\tPu_242 " << Weight_Pu_242 << endl;
+	INFO << "\t\t\tAm_241 " << Weight_Am_241 << endl;
 
 }
 //________________________________________________________________________
@@ -79,19 +79,19 @@ EQM_FBR_BakerRoss_MOX::EQM_FBR_BakerRoss_MOX(CLASSLogger* log, double Weight_U_2
 	fWeight_Am_241 = Weight_Am_241;
 
 
-	INFO<<"__An equivalence model of FBR MOX has been defined__"<<endl;
-	INFO<<"\tThis model is based on Plutonium 239 equivalent"<<endl;
-	INFO<<"\t\t Weigt values : "<<endl;
-	INFO<<"\t\t Fertile :  "<<endl;
-	INFO<<"\t\t\tU_235 "<<  Weight_U_235<<endl;
-	INFO<<"\t\t\tU_238 0 (by definition)"<<endl;
-	INFO<<"\t\t Fissile :  "<<endl;
-	INFO<<"\t\t\tPu_238 "<<Weight_Pu_238<<endl;
-	INFO<<"\t\t\tPu_239 1 (by definition)"<<endl;
-	INFO<<"\t\t\tPu_240 "<<Weight_Pu_240<<endl;
-	INFO<<"\t\t\tPu_241 "<<Weight_Pu_241<<endl;
-	INFO<<"\t\t\tPu_242 "<<Weight_Pu_242<<endl;
-	INFO<<"\t\t\tAm_241 "<<Weight_Am_241<<endl;
+	INFO << "__An equivalence model of FBR MOX has been defined__" << endl;
+	INFO << "\tThis model is based on Plutonium 239 equivalent" << endl;
+	INFO << "\t\t Weigt values : " << endl;
+	INFO << "\t\t Fertile :  " << endl;
+	INFO << "\t\t\tU_235 " <<   Weight_U_235 << endl;
+	INFO << "\t\t\tU_238 0 (by definition)" << endl;
+	INFO << "\t\t Fissile :  " << endl;
+	INFO << "\t\t\tPu_238 " << Weight_Pu_238 << endl;
+	INFO << "\t\t\tPu_239 1 (by definition)" << endl;
+	INFO << "\t\t\tPu_240 " << Weight_Pu_240 << endl;
+	INFO << "\t\t\tPu_241 " << Weight_Pu_241 << endl;
+	INFO << "\t\t\tPu_242 " << Weight_Pu_242 << endl;
+	INFO << "\t\t\tAm_241 " << Weight_Am_241 << endl;
 
 
 }
@@ -100,7 +100,7 @@ double EQM_FBR_BakerRoss_MOX::GetFissileMolarFraction(IsotopicVector Fissile,Iso
 {
 
 	if(BurnUp != 0 )
-		WARNING<<"Burn up (third argument) has no effect "<<endl;
+		WARNING << "Burn up (third argument) has no effect " << endl;
 	
 
 	double FissileContent	 = 0.;               
diff --git a/source/branches/BaM_Dev/Model/Equivalence/EQM_FBR_MLP_Keff.cxx b/source/branches/BaM_Dev/Model/Equivalence/EQM_FBR_MLP_Keff.cxx
index f582893011bd36602cd9ebd8584e5c5ca42b2756..2938a344a000227b01cae7e4cc6ea412aefffca1 100644
--- a/source/branches/BaM_Dev/Model/Equivalence/EQM_FBR_MLP_Keff.cxx
+++ b/source/branches/BaM_Dev/Model/Equivalence/EQM_FBR_MLP_Keff.cxx
@@ -61,7 +61,7 @@ EQM_FBR_MLP_Keff::EQM_FBR_MLP_Keff(string TMVAWeightPath, double keff_target, st
 	INFO << "__An equivalence model has been define__" << endl;
 	INFO << "\tThis model is based on the prediction of keff at a specific time" << endl;
 	INFO << "\tThe TMVA (weight | information) files are :" << endl;
-	INFO << "\t"<<"( "<<fTMVAWeightPath[0]<<" | "<<fMLPInformationFile<<" )" << endl;
+	INFO << "\t" << "( " << fTMVAWeightPath[0] << " | " << fInformationFile << " )" << endl;
 
 	DBGL
 }
@@ -94,7 +94,7 @@ EQM_FBR_MLP_Keff::EQM_FBR_MLP_Keff(CLASSLogger* log, string TMVAWeightPath, doub
 	INFO << "__An equivalence model has been define__" << endl;
 	INFO << "\tThis model is based on the prediction of keff at a specific time" << endl;
 	INFO << "\tThe TMVA (weight | information) files are :" << endl;
-	INFO << "\t"<<"( "<<fTMVAWeightPath[0]<<" | "<<fMLPInformationFile<<" )" << endl;
+	INFO << "\t" << "( " << fTMVAWeightPath[0] << " | "  << fInformationFile << " )" << endl;
 
 	DBGL
 }
@@ -215,12 +215,8 @@ void EQM_FBR_MLP_Keff::LoadKeyword()
 {
 	DBGL
 
-	fDKeyword.insert( pair<string, MLP_FBR_Keff_DMthPtr>( "k_timestep",	& EQM_FBR_MLP_Keff::ReadTimeSteps));
-	fDKeyword.insert( pair<string, MLP_FBR_Keff_DMthPtr>( "k_specpower",	& EQM_FBR_MLP_Keff::ReadSpecificPower));
-	fDKeyword.insert( pair<string, MLP_FBR_Keff_DMthPtr>( "k_contentmax",	& EQM_FBR_MLP_Keff::ReadMaximalContent));
-	fDKeyword.insert( pair<string, MLP_FBR_Keff_DMthPtr>( "k_zainame",	& EQM_FBR_MLP_Keff::ReadZAIName)	 );
-	fDKeyword.insert( pair<string, MLP_FBR_Keff_DMthPtr>( "k_fissil",	& EQM_FBR_MLP_Keff::ReadFissil)	 );
-	fDKeyword.insert( pair<string, MLP_FBR_Keff_DMthPtr>( "k_fertil",	& EQM_FBR_MLP_Keff::ReadFertil)	 );
+	fDKeyword.insert( pair<string, FBR_MLP_Keff_DMthPtr>( "k_timestep",	& EQM_FBR_MLP_Keff::ReadTimeSteps));
+	fDKeyword.insert( pair<string, FBR_MLP_Keff_DMthPtr>( "k_zainame",	& EQM_FBR_MLP_Keff::ReadZAIName)	 );
 
 	DBGL
 }
@@ -248,85 +244,6 @@ void EQM_FBR_MLP_Keff::ReadZAIName(const string &line)
 }
 
 
-//________________________________________________________________________
-void EQM_FBR_MLP_Keff::ReadSpecificPower(const string &line)
-{
-	DBGL
-	int pos = 0;
-	string keyword = tlc(StringLine::NextWord(line, pos, ' '));
-	if( keyword != "k_specpower")	// Check the keyword
-	{
-		ERROR << " Bad keyword : \"k_specpower\" Not found !" << endl;
-		exit(1);
-	}
-
-	fSpecificPower = atof(StringLine::NextWord(line, pos, ' ').c_str());
-	
-	DBGL
-}
-
-//________________________________________________________________________
-void EQM_FBR_MLP_Keff::ReadMaximalContent(const string &line)
-{
-	DBGL
-	int pos = 0;
-	string keyword = tlc(StringLine::NextWord(line, pos, ' '));
-	if( keyword != "k_contentmax")	// Check the keyword
-	{
-		ERROR << " Bad keyword : \"k_contentmax\" Not found !" << endl;
-		exit(1);
-	}
-	
-	fMaximalContent = atof(StringLine::NextWord(line, pos, ' ').c_str());
-	
-	DBGL
-}
-
-//________________________________________________________________________
-void EQM_FBR_MLP_Keff::ReadFissil(const string &line)
-{
-	DBGL
-	int pos = 0;
-	string keyword = tlc(StringLine::NextWord(line, pos, ' '));
-	if( keyword != "k_fissil" )	// Check the keyword
-	{
-		ERROR << " Bad keyword : \"k_fissil\" not found !" << endl;
-		exit(1);
-	}
-	
-	int Z = atoi(StringLine::NextWord(line, pos, ' ').c_str());
-	int A = atoi(StringLine::NextWord(line, pos, ' ').c_str());
-	int I = atoi(StringLine::NextWord(line, pos, ' ').c_str());
-	double Q = atof(StringLine::NextWord(line, pos, ' ').c_str());
-	
-	fFertileList.Add(Z, A, I, Q);
-	
-	DBGL
-}
-
-//________________________________________________________________________
-void EQM_FBR_MLP_Keff::ReadFertil(const string &line)
-{
-	DBGL
-	int pos = 0;
-	string keyword = tlc(StringLine::NextWord(line, pos, ' '));
-	if( keyword != "k_fertil" )	// Check the keyword
-	{
-		ERROR << " Bad keyword : \"k_fertil\" not found !" << endl;
-		exit(1);
-	}
-	
-	int Z = atoi(StringLine::NextWord(line, pos, ' ').c_str());
-	int A = atoi(StringLine::NextWord(line, pos, ' ').c_str());
-	int I = atoi(StringLine::NextWord(line, pos, ' ').c_str());
-	
-	string name = StringLine::NextWord(line, pos, ' ');
-	
-	fMapOfTMVAVariableNames.insert( pair<ZAI,string>( ZAI(Z, A, I), name ) );
-	
-	DBGL
-}
-
 //________________________________________________________________________
 void EQM_FBR_MLP_Keff::ReadTimeSteps(const string &line)
 {
@@ -353,7 +270,7 @@ void EQM_FBR_MLP_Keff::ReadLine(string line)
 	int pos = 0;
 	string keyword = tlc(StringLine::NextWord(line, pos, ' '));
 	
-	map<string, MLP_FBR_Keff_DMthPtr>::iterator it = fDKeyword.find(keyword);
+	map<string, FBR_MLP_Keff_DMthPtr>::iterator it = fDKeyword.find(keyword);
 	
 	if(it != fDKeyword.end())
 		(this->*(it->second))( line );
@@ -370,7 +287,7 @@ double EQM_FBR_MLP_Keff::GetFissileMolarFraction(IsotopicVector Fissile,Isotopic
 	DBGL
 	
 	if(TargetBU != 0)
-		WARNING<<"The third arguement : Burnup has no effect here.";
+		WARNING << "The third arguement : Burnup has no effect here.";
 
 
 	//initialization
@@ -413,7 +330,7 @@ double EQM_FBR_MLP_Keff::GetFissileMolarFraction(IsotopicVector Fissile,Isotopic
 		
 	}while(fabs(fTargetKeff-PredictedKeff)>Precision);
 	
-	DBGV( "Predicted keff "<<PredictedKeff<<" FissileContent "<<FissileContent << endl);
+	DBGV( "Predicted keff " << PredictedKeff << " FissileContent " << FissileContent << endl);
 	return FissileContent;
 
 }
diff --git a/source/branches/BaM_Dev/Model/Equivalence/EQM_FBR_MLP_Keff.hxx b/source/branches/BaM_Dev/Model/Equivalence/EQM_FBR_MLP_Keff.hxx
index 98c7cd471e49bd7a7af8a987f02a8df65694ed27..3a772d299db04bb48bc7e3d5c5e0c2eba6cc2741 100644
--- a/source/branches/BaM_Dev/Model/Equivalence/EQM_FBR_MLP_Keff.hxx
+++ b/source/branches/BaM_Dev/Model/Equivalence/EQM_FBR_MLP_Keff.hxx
@@ -44,7 +44,7 @@ The Pu content is set such as it has to verify
 //________________________________________________________________________
 class EQM_FBR_MLP_Keff;
 #ifndef __CINT__
-typedef void (EQM_FBR_MLP_Keff::*MLP_FBR_Keff_DMthPtr)( const string & ) ;
+typedef void (EQM_FBR_MLP_Keff::*FBR_MLP_Keff_DMthPtr)( const string & ) ;
 #endif
 
 
@@ -137,21 +137,6 @@ class EQM_FBR_MLP_Keff : public EquivalenceModel
 	void ReadTimeSteps(const string &line);
 	//}
 	
-	//{
-	/// ReadSpecificPower : read the Specific Power of the DataBase
-	/*!
-	 \param line : line suppossed to contain the Specific Power information starts with "k_specpower" keyword
-	 */
-	void ReadSpecificPower(const string &line);
-	//}
-
-	//{
-	/// ReadMaximalContent : read the approx. maximum fissile content reachable by the MLP model
-	/*!
-	 \param line : line suppossed to contain the maximal content information starts with "k_contentmax" keyword
-	 */
-	void ReadMaximalContent(const string &line);
-	//}
 	
 	//{
 	/// ReadZAIName : read the zai name in the TMWA MLP model
@@ -161,22 +146,6 @@ class EQM_FBR_MLP_Keff : public EquivalenceModel
 	void ReadZAIName(const string &line);
 	//}
 	
-	//{
-	/// ReadFissil : read the zai name in the TMWA MLP model starts with "k_fissil" keyword
-	/*!
-	 \param line : line suppossed to contain the fissil list
-	 */
-	void ReadFissil(const string &line);
-	//}
-
-	//{
-	/// ReadFertil : read the zai name in the TMWA MLP model starts with "k_fertil" keyword
-	/*!
-	 \param line : line suppossed to contain the fertil list & their default isotopic fraction
-	 */
-	void ReadFertil(const string &line);
-	//}
-	
 	//{
 	/// ReadLine : read a line
 	/*!
@@ -192,10 +161,9 @@ class EQM_FBR_MLP_Keff : public EquivalenceModel
 	private :
 
 	string fTMVAWeightPath;					//!<The weight needed by TMVA to construct and execute the multilayer perceptron
-	string fMLPInformationFile;				//!<The path to the informations necessary to execute the MLP
 
 #ifndef __CINT__
-	map<string, MLP_FBR_Keff_DMthPtr> fDKeyword;
+	map<string, FBR_MLP_Keff_DMthPtr> fDKeyword;
 #endif
 
 
diff --git a/source/branches/BaM_Dev/Model/Equivalence/EQM_FBR_MLP_Keff_BOUND.cxx b/source/branches/BaM_Dev/Model/Equivalence/EQM_FBR_MLP_Keff_BOUND.cxx
index 9bf83ba7ad6a031423d273e02d53cdad19d46177..8ce8ccb38a5f41f43107415a0cb7a1f5a9b63fc0 100644
--- a/source/branches/BaM_Dev/Model/Equivalence/EQM_FBR_MLP_Keff_BOUND.cxx
+++ b/source/branches/BaM_Dev/Model/Equivalence/EQM_FBR_MLP_Keff_BOUND.cxx
@@ -70,10 +70,10 @@ EQM_FBR_MLP_Keff_BOUND::EQM_FBR_MLP_Keff_BOUND(string TMVAWeightPath,  int NumOf
 	
 	/* INFO */
 
-	INFO << "__An equivalence model has been define__"<<endl;
-	INFO << "\tThis model is based on the prediction of keff averaged over the number of batch"<<endl;
-	INFO << "\tThe TMVA (weight | information) files are :"<<endl;
-	INFO << "\t"<<"( "<<fTMVAWeightPath[0]<<" | "<<fMLPInformationFile<<" )"<<endl;
+	INFO << "__An equivalence model has been define__" << endl;
+	INFO << "\tThis model is based on the prediction of keff averaged over the number of batch" << endl;
+	INFO << "\tThe TMVA (weight | information) files are :" << endl;
+	INFO << "\t" << "( " << fTMVAWeightPath[0] << " | " << fMLPInformationFile << " )" << endl;
 
 	
 	DBGL
@@ -293,12 +293,8 @@ void EQM_FBR_MLP_Keff_BOUND::LoadKeyword()
 {
 	DBGL
 
-	fDKeyword.insert( pair<string, MLP_FBR_Keff_BOUND_DMthPtr>( "k_timestep",	& EQM_FBR_MLP_Keff_BOUND::ReadTimeSteps));
-	fDKeyword.insert( pair<string, MLP_FBR_Keff_BOUND_DMthPtr>( "k_specpower",	& EQM_FBR_MLP_Keff_BOUND::ReadSpecificPower));
-	fDKeyword.insert( pair<string, MLP_FBR_Keff_BOUND_DMthPtr>( "k_contentmax",	& EQM_FBR_MLP_Keff_BOUND::ReadMaximalContent));
-	fDKeyword.insert( pair<string, MLP_FBR_Keff_BOUND_DMthPtr>( "k_zainame",	& EQM_FBR_MLP_Keff_BOUND::ReadZAIName)	 );
-	fDKeyword.insert( pair<string, MLP_FBR_Keff_BOUND_DMthPtr>( "k_fissil",	& EQM_FBR_MLP_Keff_BOUND::ReadFissil)	 );
-	fDKeyword.insert( pair<string, MLP_FBR_Keff_BOUND_DMthPtr>( "k_fertil",	& EQM_FBR_MLP_Keff_BOUND::ReadFertil)	 );
+	fDKeyword.insert( pair<string, FBR_MLP_Keff_BOUND_DMthPtr>( "k_timestep",	& EQM_FBR_MLP_Keff_BOUND::ReadTimeSteps));
+	fDKeyword.insert( pair<string, FBR_MLP_Keff_BOUND_DMthPtr>( "k_zainame",	& EQM_FBR_MLP_Keff_BOUND::ReadZAIName)	 );
 	
 	DBGL
 }
@@ -320,91 +316,13 @@ void EQM_FBR_MLP_Keff_BOUND::ReadZAIName(const string &line)
 	int A = atoi(StringLine::NextWord(line, pos, ' ').c_str());
 	int I = atoi(StringLine::NextWord(line, pos, ' ').c_str());
 	
-	fFissileList.Add(Z, A, I, 1.0);
-	
-	DBGL
-}
-
-
-//________________________________________________________________________
-void EQM_FBR_MLP_Keff_BOUND::ReadSpecificPower(const string &line)
-{
-	DBGL
-	int pos = 0;
-	string keyword = tlc(StringLine::NextWord(line, pos, ' '));
-	if( keyword != "k_specpower")	// Check the keyword
-	{
-		ERROR << " Bad keyword : \"k_specpower\" Not found !" << endl;
-		exit(1);
-	}
-	
-	fSpecificPower = atof(StringLine::NextWord(line, pos, ' ').c_str());
-	
-	DBGL
-}
-
-//________________________________________________________________________
-void EQM_FBR_MLP_Keff_BOUND::ReadMaximalContent(const string &line)
-{
-	DBGL
-	int pos = 0;
-	string keyword = tlc(StringLine::NextWord(line, pos, ' ').c_str());
-	if( keyword != "k_contentmax")	// Check the keyword
-	{
-		ERROR << " Bad keyword : \"k_contentmax\" Not found !" << endl;
-		exit(1);
-	}
-	
-	fMaximalContent = atof(StringLine::NextWord(line, pos, ' ').c_str());
-	
-	DBGL
-}
-
-//________________________________________________________________________
-void EQM_FBR_MLP_Keff_BOUND::ReadFissil(const string &line)
-{
-	DBGL
-	int pos = 0;
-	string keyword = tlc(StringLine::NextWord(line, pos, ' '));
-	if( keyword != "k_fissil" )	// Check the keyword
-	{
-		ERROR << " Bad keyword : \"k_fissil\" not found !" << endl;
-		exit(1);
-	}
-	
-	int Z = atoi(StringLine::NextWord(line, pos, ' ').c_str());
-	int A = atoi(StringLine::NextWord(line, pos, ' ').c_str());
-	int I = atoi(StringLine::NextWord(line, pos, ' ').c_str());
-	double Q = atof(StringLine::NextWord(line, pos, ' ').c_str());
-	
-	fFertileList.Add(Z, A, I, Q);
-	
-	DBGL
-}
-
-//________________________________________________________________________
-void EQM_FBR_MLP_Keff_BOUND::ReadFertil(const string &line)
-{
-	DBGL
-	int pos = 0;
-	string keyword = tlc(StringLine::NextWord(line, pos, ' '));
-	if( keyword != "k_fertil" )	// Check the keyword
-	{
-		ERROR << " Bad keyword : \"k_fertil\" not found !" << endl;
-		exit(1);
-	}
-	
-	int Z = atoi(StringLine::NextWord(line, pos, ' ').c_str());
-	int A = atoi(StringLine::NextWord(line, pos, ' ').c_str());
-	int I = atoi(StringLine::NextWord(line, pos, ' ').c_str());
-	
 	string name = StringLine::NextWord(line, pos, ' ');
 	
 	fMapOfTMVAVariableNames.insert( pair<ZAI,string>( ZAI(Z, A, I), name ) );
-	
 	DBGL
 }
 
+
 //________________________________________________________________________
 void EQM_FBR_MLP_Keff_BOUND::ReadTimeSteps(const string &line)
 {
@@ -431,7 +349,7 @@ void EQM_FBR_MLP_Keff_BOUND::ReadLine(string line)
 	int pos = 0;
 	string keyword = tlc(StringLine::NextWord(line, pos, ' '));
 	
-	map<string, MLP_FBR_Keff_BOUND_DMthPtr>::iterator it = fDKeyword.find(keyword);
+	map<string, FBR_MLP_Keff_BOUND_DMthPtr>::iterator it = fDKeyword.find(keyword);
 	
 	if(it != fDKeyword.end())
 		(this->*(it->second))( line );
diff --git a/source/branches/BaM_Dev/Model/Equivalence/EQM_FBR_MLP_Keff_BOUND.hxx b/source/branches/BaM_Dev/Model/Equivalence/EQM_FBR_MLP_Keff_BOUND.hxx
index 74f01dd8829c45ac770ad6b3d0828340572e51cb..354b16fd663809cd8c76625ec0880c2ee1e912d7 100644
--- a/source/branches/BaM_Dev/Model/Equivalence/EQM_FBR_MLP_Keff_BOUND.hxx
+++ b/source/branches/BaM_Dev/Model/Equivalence/EQM_FBR_MLP_Keff_BOUND.hxx
@@ -46,7 +46,7 @@ using namespace std;
 
 class EQM_FBR_MLP_Keff_BOUND;
 #ifndef __CINT__
-typedef void (EQM_FBR_MLP_Keff_BOUND::*MLP_FBR_Keff_BOUND_DMthPtr)( const string & ) ;
+typedef void (EQM_FBR_MLP_Keff_BOUND::*FBR_MLP_Keff_BOUND_DMthPtr)( const string & ) ;
 #endif
 
 
@@ -142,22 +142,7 @@ class EQM_FBR_MLP_Keff_BOUND : public EquivalenceModel
 	void ReadTimeSteps(const string &line);
 	//}
 	
-	//{
-	/// ReadSpecificPower : read the Specific Power of the DataBase
-	/*!
-	 \param line : line suppossed to contain the Specific Power information starts with "k_specpower" keyword
-	 */
-	void ReadSpecificPower(const string &line);
-	//}
-	
-	//{
-	/// ReadMaximalContent : read the approx. maximum fissile content reachable by the MLP model
-	/*!
-	 \param line : line suppossed to contain the maximal content information starts with "k_contentmax" keyword
-	 */
-	void ReadMaximalContent(const string &line);
-	//}
-	
+
 	//{
 	/// ReadZAIName : read the zai name in the TMWA MLP model
 	/*!
@@ -166,21 +151,7 @@ class EQM_FBR_MLP_Keff_BOUND : public EquivalenceModel
 	void ReadZAIName(const string &line);
 	//}
 	
-	//{
-	/// ReadFissil : read the zai name in the TMWA MLP model starts with "k_fissil" keyword
-	/*!
-	 \param line : line suppossed to contain the fissil list
-	 */
-	void ReadFissil(const string &line);
-	//}
-	
-	//{
-	/// ReadFertil : read the zai name in the TMWA MLP model starts with "k_fertil" keyword
-	/*!
-	 \param line : line suppossed to contain the fertil list & their default isotopic fraction
-	 */
-	void ReadFertil(const string &line);
-	//}
+
 	
 	//{
 	/// ReadLine : read a line
@@ -200,14 +171,12 @@ class EQM_FBR_MLP_Keff_BOUND : public EquivalenceModel
 	string fMLPInformationFile;				//!<The path to the informations necessary to execute the MLP
 	
 #ifndef __CINT__
-	map<string, MLP_FBR_Keff_BOUND_DMthPtr> fDKeyword;
+	map<string, FBR_MLP_Keff_BOUND_DMthPtr> fDKeyword;
 #endif
 	
 	map<ZAI,string> fMapOfTMVAVariableNames;//!<  List of TMVA input variable names (read from fMLPInformationFile ) , name depends on the training step
 	
 	vector<double> fMLP_Time;	//!< Time (in seconds) when the MLP(t)=keff(t) has been trained.
-	double 	fSpecificPower; 	//!< The specific power in W/gHM (HM: heavy Metal)
-	double  fMaximalContent;	//!< The approx. maximum fissile content reachable by the MLP model
 	
 	
 	
diff --git a/source/branches/BaM_Dev/Model/Equivalence/EQM_PWR_LIN_MOX.cxx b/source/branches/BaM_Dev/Model/Equivalence/EQM_PWR_LIN_MOX.cxx
index a96317ebfa6ab9f4648fad9dfc8d1173e1a91417..0e3cb502e56b45e1a3964015a55725e2e857c474 100644
--- a/source/branches/BaM_Dev/Model/Equivalence/EQM_PWR_LIN_MOX.cxx
+++ b/source/branches/BaM_Dev/Model/Equivalence/EQM_PWR_LIN_MOX.cxx
@@ -76,13 +76,13 @@ EQM_PWR_LIN_MOX::EQM_PWR_LIN_MOX(CLASSLogger* log, string WeightPath):Equivalenc
 
 	if( StringLine::NextWord(line, start, ' ') != "PARAM")
 	{
-		ERROR << " Bad Database file : " <<  fWeightPath << " Can't find the Parameter of the DataBase"<< endl;
+		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;
+	INFO << fFuelParameter.size() << " have been read" <<  endl;
 
 
 
@@ -222,7 +222,7 @@ vector<double> EQM_PWR_LIN_MOX::BuildFuel(double BurnUp, double HMMass,vector<Is
 
 		if(StockFactionToUse < 0)
 		{
-			WARNING << "!!!FabricationPlant!!! Oups Bug in calculating stock fraction to use "<< endl;
+			WARNING << "!!!FabricationPlant!!! Oups Bug in calculating stock fraction to use " <<  endl;
 			lambda[N_FissilStock_OnCheck] = 0.;
 			N_FissilStock_OnCheck++;
 			FuelBuild = false;
diff --git a/source/branches/BaM_Dev/Model/Equivalence/EQM_PWR_MLP_Kinf.cxx b/source/branches/BaM_Dev/Model/Equivalence/EQM_PWR_MLP_Kinf.cxx
index 2b4010443047ea1b823294c394489d9a0afa2433..295e77ba74ee4b5aa467c0a33e76aa0bee1573c6 100644
--- a/source/branches/BaM_Dev/Model/Equivalence/EQM_PWR_MLP_Kinf.cxx
+++ b/source/branches/BaM_Dev/Model/Equivalence/EQM_PWR_MLP_Kinf.cxx
@@ -1,5 +1,6 @@
 #include "EQM_PWR_MLP_Kinf.hxx"
 #include "CLASSLogger.hxx"
+#include "CLASSMethod.hxx"
 #include "StringLine.hxx"
 
 #include <string>
@@ -30,8 +31,9 @@ EQM_PWR_MLP_Kinf::EQM_PWR_MLP_Kinf(string WeightPathAlpha0, string WeightPathAlp
 	fTMVAWeightPath.push_back(WeightPathAlpha1);
 	fTMVAWeightPath.push_back(WeightPathAlpha2);
 
-	fMLPInformationFile = InformationFile;
-	GetModelInformation();//Getting information from fMLPInformationFile
+	fInformationFile = InformationFile;
+	LoadKeyword();
+	ReadNFO();//Getting information from fMLPInformationFile
 
 	fNumberOfBatch = NumOfBatch;
 	fKThreshold = CriticalityThreshold ;
@@ -41,11 +43,11 @@ EQM_PWR_MLP_Kinf::EQM_PWR_MLP_Kinf(string WeightPathAlpha0, string WeightPathAlp
 	INFO << "__An equivalence model has been define__" << endl;
 	INFO << "\tThis model is based on the prediction of kinf" << endl;
 	INFO << "\tThe TMVA weight  files are :" << endl;
-	INFO << "\t"<<fTMVAWeightPath[0] << endl;
-	INFO << "\t"<<fTMVAWeightPath[1] << endl;
-	INFO << "\t"<<fTMVAWeightPath[2] << endl;
+	INFO << "\t" << fTMVAWeightPath[0] << endl;
+	INFO << "\t" << fTMVAWeightPath[1] << endl;
+	INFO << "\t" << fTMVAWeightPath[2] << endl;
 	INFO << "\tThe Information file is :" << endl;
-	INFO << "\t"<<fMLPInformationFile << endl;
+	INFO << "\t" << fInformationFile << endl;
 
 }
 //________________________________________________________________________
@@ -56,8 +58,9 @@ EQM_PWR_MLP_Kinf::EQM_PWR_MLP_Kinf(CLASSLogger* log, string WeightPathAlpha0, st
 	fTMVAWeightPath.push_back(WeightPathAlpha1);
 	fTMVAWeightPath.push_back(WeightPathAlpha2);
 
-	fMLPInformationFile = InformationFile;
-	GetModelInformation();//Getting information from fMLPInformationFile
+	fInformationFile = InformationFile;
+	LoadKeyword();
+	ReadNFO();//Getting information from fMLPInformationFile
 
 	fNumberOfBatch = NumOfBatch;
 	fKThreshold = CriticalityThreshold ;
@@ -67,11 +70,11 @@ EQM_PWR_MLP_Kinf::EQM_PWR_MLP_Kinf(CLASSLogger* log, string WeightPathAlpha0, st
 	INFO << "__An equivalence model has been define__" << endl;
 	INFO << "\tThis model is based on the prediction of kinf" << endl;
 	INFO << "\tThe TMVA weight  files are :" << endl;
-	INFO << "\t"<<fTMVAWeightPath[0] << endl;
-	INFO << "\t"<<fTMVAWeightPath[1] << endl;
-	INFO << "\t"<<fTMVAWeightPath[2] << endl;
+	INFO << "\t" << fTMVAWeightPath[0] << endl;
+	INFO << "\t" << fTMVAWeightPath[1] << endl;
+	INFO << "\t" << fTMVAWeightPath[2] << endl;
 	INFO << "\tThe Information file is :" << endl;
-	INFO << "\t"<<fMLPInformationFile << endl;
+	INFO << "\t" << fInformationFile << endl;
 
 }
 //________________________________________________________________________
@@ -80,11 +83,14 @@ EQM_PWR_MLP_Kinf::EQM_PWR_MLP_Kinf(string TMVAWeightPath,  int NumOfBatch, strin
 	/**The information file and tmva weight*/
 	fTMVAWeightPath.push_back(TMVAWeightPath);
 
+	/* INFORMATION FILE HANDLING */
+	
 	if(InformationFile=="")
 		InformationFile = StringLine::ReplaceAll(TMVAWeightPath,".xml",".nfo");
-
-	fMLPInformationFile = InformationFile;
-	GetModelInformation();//Getting information from fMLPInformationFile
+	
+	fInformationFile = InformationFile;
+	LoadKeyword();
+	ReadNFO();//Getting information from fMLPInformationFile
 
 	fNumberOfBatch = NumOfBatch;
 	fKThreshold = CriticalityThreshold ;
@@ -95,7 +101,7 @@ EQM_PWR_MLP_Kinf::EQM_PWR_MLP_Kinf(string TMVAWeightPath,  int NumOfBatch, strin
 	INFO << "__An equivalence model has been define__" << endl;
 	INFO << "\tThis model is based on the prediction of kinf" << endl;
 	INFO << "\tThe TMVA (weight | information) files are :" << endl;
-	INFO << "\t"<<"( "<<fTMVAWeightPath[0]<<" | "<<fMLPInformationFile<<" )" << endl;
+	INFO << "\t" << "( " << fTMVAWeightPath[0] << " | " << fInformationFile << " )" << endl;
 
 }
 //________________________________________________________________________
@@ -107,9 +113,10 @@ EQM_PWR_MLP_Kinf::EQM_PWR_MLP_Kinf(CLASSLogger* log, string TMVAWeightPath,  int
 
 	if(InformationFile=="")
 		InformationFile = StringLine::ReplaceAll(TMVAWeightPath,".xml",".nfo");
-
-	fMLPInformationFile = InformationFile;
-	GetModelInformation();//Getting information from fMLPInformationFile
+	
+	fInformationFile = InformationFile;
+	LoadKeyword();
+	ReadNFO();//Getting information from fMLPInformationFile
 
 	fNumberOfBatch = NumOfBatch;
 	fKThreshold = CriticalityThreshold ;
@@ -120,11 +127,62 @@ EQM_PWR_MLP_Kinf::EQM_PWR_MLP_Kinf(CLASSLogger* log, string TMVAWeightPath,  int
 	INFO << "__An equivalence model has been define__" << endl;
 	INFO << "\tThis model is based on the prediction of kinf" << endl;
 	INFO << "\tThe TMVA (weight | information) files are :" << endl;
-	INFO << "\t"<<"( "<<fTMVAWeightPath[0]<<" | "<<fMLPInformationFile<<" )" << endl;
+	INFO << "\t" << "( " << fTMVAWeightPath[0] << " | " << fInformationFile << " )" << endl;
 
 
 }
 
+//________________________________________________________________________
+void EQM_PWR_MLP_Kinf::LoadKeyword()
+{
+	DBGL
+	
+	fDKeyword.insert( pair<string, PWR_MLP_KINF_DMthPtr>( "k_zainame", &EQM_PWR_MLP_Kinf::ReadZAIName) );
+	
+	DBGL
+}
+
+
+//________________________________________________________________________
+void EQM_PWR_MLP_Kinf::ReadZAIName(const string &line)
+{
+	DBGL
+	int pos = 0;
+	string keyword = tlc(StringLine::NextWord(line, pos, ' '));
+	if( keyword != "k_zainame" )	// Check the keyword
+	{
+		ERROR << " Bad keyword : \"k_zainame\" not found !" << endl;
+		exit(1);
+	}
+	
+	int Z = atoi(StringLine::NextWord(line, pos, ' ').c_str());
+	int A = atoi(StringLine::NextWord(line, pos, ' ').c_str());
+	int I = atoi(StringLine::NextWord(line, pos, ' ').c_str());
+	
+	fFissileList.Add(Z, A, I, 1.0);
+	
+	DBGL
+}
+
+
+//________________________________________________________________________
+void EQM_PWR_MLP_Kinf::ReadLine(string line)
+{
+	DBGL
+	
+	int pos = 0;
+	string keyword = tlc(StringLine::NextWord(line, pos, ' '));
+	
+	map<string, PWR_MLP_KINF_DMthPtr>::iterator it = fDKeyword.find(keyword);
+	
+	if(it != fDKeyword.end())
+		(this->*(it->second))( line );
+	
+	DBGL
+}
+
+
+
 //________________________________________________________________________
 TTree* EQM_PWR_MLP_Kinf::CreateTMVAInputTree(IsotopicVector TheFreshfuel, double ThisTime)
 {
@@ -163,7 +221,7 @@ TTree* EQM_PWR_MLP_Kinf::CreateTMVAInputTree(IsotopicVector TheFreshfuel, double
 	for( it2 = fMapOfTMVAVariableNames.begin() ; it2!=fMapOfTMVAVariableNames.end() ; it2++)
 	{
 		InputTMVA[j] = IVAccordingToUserInfoFile.GetZAIIsotopicQuantity( (*it2).first ) ;
-		//DBGV((*it2).first.Z()<<" "<<(*it2).first.A()<<" "<<InputTMVA[j]);
+		//DBGV((*it2).first.Z() << " " << (*it2).first.A() << " " << InputTMVA[j]);
 		j++;
 	}
 
@@ -222,136 +280,8 @@ double EQM_PWR_MLP_Kinf::ExecuteTMVA(TTree* InputTree,string WeightPath, bool Is
 
 	return (double)val;//retourn k_{inf}(t=Time)
 }
-//________________________________________________________________________
-void EQM_PWR_MLP_Kinf::GetModelInformation()
-{
-DBGL
-	ifstream FILE(fMLPInformationFile.c_str());
-	if(FILE.good())
-	{
-		while(!FILE.eof())
-		{
-			string line;
-			getline(FILE, line);  
-			if(line=="") //ie if eof
-				break;
-
-			size_t foundSpecPow	= line.find("Specific Power (W/gHM) :");
-			size_t foundBU 		= line.find("Maximal burnup (GWd/tHM) :");
-			size_t foundContent	= line.find("Maximal fissile content (molar proportion) :");
-			size_t foundZAI	  	= line.find("Z A I Name (input MLP) :");
-			size_t foundFissile = line.find("Fissile Liste (Z A I) :");
-			size_t foundFertile = line.find("Fertile Liste (Z A I Default Proportion) :");
-
-			int pos=0;
-			if(foundSpecPow !=std::string::npos)
-			{	StringLine::NextWord(line,pos,':');
-				fSpecificPower = atof( (StringLine::NextWord(line,pos,':') ).c_str() );
-			}
- 			pos=0;
-			if(foundBU!=std::string::npos)
-			{
-				StringLine::NextWord(line,pos,':');
-				fMaximalBU = atof( (StringLine::NextWord(line,pos,':') ).c_str() );
-			}
-			pos=0;
-			if(foundContent!=std::string::npos)
-			{
-				StringLine::NextWord(line,pos,':');
-				fMaximalContent = atof( (StringLine::NextWord(line,pos,':') ).c_str() );
-			}
- 			pos=0;
-			if(foundZAI != std::string::npos)
-			{	string Z;
-				string A;
-				string I;
-				string Name;
-				int posoflinebeforbadline=0;
-				do
-				{	posoflinebeforbadline = FILE.tellg();
-					getline(FILE, line);
-
-					stringstream ssline;
-					ssline<<line;
-					ssline>>Z>>A>>I>>Name;
-					if(StringLine::IsDouble(Z) && StringLine::IsDouble(A) && StringLine::IsDouble(I) )
-					{	
-						fMapOfTMVAVariableNames.insert( pair<ZAI,string>(ZAI(atoi(Z.c_str()),atoi(A.c_str()),atoi(I.c_str())),Name) );
-					}
-
-				}while((StringLine::IsDouble(Z) && StringLine::IsDouble(A) && StringLine::IsDouble(I)) && !FILE.eof());
-
-				FILE.seekg(posoflinebeforbadline); //return one line before
-
-			}
- 			pos=0;			
-			if(foundFissile != std::string::npos)
-			{	string Z;
-				string A;
-				string I;
-
-				int posoflinebeforbadline=0;
-				do
-				{	posoflinebeforbadline = FILE.tellg();
-					getline(FILE, line);
-
-					stringstream ssline;
-					ssline<<line;
-					ssline>>Z>>A>>I;
-					if(StringLine::IsDouble(Z) && StringLine::IsDouble(A) && StringLine::IsDouble(I) )
-						fFissileList.Add(atoi(Z.c_str()),atoi(A.c_str()),atoi(I.c_str()),1.0);
-					
-
-				}while((StringLine::IsDouble(Z) && StringLine::IsDouble(A) && StringLine::IsDouble(I)) && !FILE.eof());
-
-				FILE.seekg(posoflinebeforbadline); //return one line before
-
-			}
-			pos=0;
-			if(foundFertile != std::string::npos)
-			{	string Z;
-				string A;
-				string I;
-				string prop;
-				int posoflinebeforbadline=0;
-				do
-				{	posoflinebeforbadline = FILE.tellg();
-					getline(FILE, line);
-
-					stringstream ssline;
-					ssline<<line;
-					ssline>>Z>>A>>I>>prop;
-					if(StringLine::IsDouble(Z) && StringLine::IsDouble(A) && StringLine::IsDouble(I) )
-						fFertileList.Add(atoi(Z.c_str()),atoi(A.c_str()),atoi(I.c_str()),atof(prop.c_str()) );
-					
-				}while((StringLine::IsDouble(Z) && StringLine::IsDouble(A) && StringLine::IsDouble(I)) && !FILE.eof());
-
-				FILE.seekg(posoflinebeforbadline); //return one line before
-			}
 
-		}
-	}
-	else
-	{
-		ERROR << "Can't find/open file " << fMLPInformationFile << endl;
-		exit(1);
-	}
 
-	/********DEBUG*************************************/
-	INFO << "\tMLP kinf Information : " << endl;
-	INFO << "\t\tSpecific Power (W/gHM) :"<<fSpecificPower << endl;
-	INFO << "\t\tMaximal burnup (GWd/tHM) :"<<fMaximalBU << endl;
-	INFO << "\t\tMaximal fissile content (molar proportion) :"<<fMaximalContent << endl;	
-	INFO << "\t\tZ A I Name (input MLP) :" << endl;	
-	map<ZAI ,string >::iterator it;
-	for (it= fMapOfTMVAVariableNames.begin();it!=fMapOfTMVAVariableNames.end();it++)
-		INFO << "\t\t\t"<< it->first.Z()<<" "<<it->first.A()<<" "<<it->second << endl;
-	INFO << "Fissile Liste (Z A I) :" << endl;
-	INFO << fFissileList.sPrint() << endl;
-	INFO << "Fertile Liste (Z A I Default Proportion) :" << endl;
-	INFO << fFertileList.sPrint() << endl;
-DBGL
-}
 //________________________________________________________________________
 double EQM_PWR_MLP_Kinf::GetMaximumBurnUp_MLP(IsotopicVector TheFuel, double TargetBU)
 {
@@ -383,7 +313,7 @@ double EQM_PWR_MLP_Kinf::GetMaximumBurnUp_MLP(IsotopicVector TheFuel, double Tar
 	{	
 		if(count > MaximumLoopCount )
 		{
-			ERROR<<"CRITICAL ! Can't manage to predict burnup\nHint : Try to increase the precision on k effective using :\n YourEQM_PWR_MLP_Kinf->SetPCMprecision(pcm); with pcm the precision in pcm (default 10) REDUCE IT\n If this message still appear mail to leniau@subatech.in2p3.fr\nor nicolas.thiolliere@subatech.in2p3.fr " << endl;
+			ERROR << "CRITICAL ! Can't manage to predict burnup\nHint : Try to increase the precision on k effective using :\n YourEQM_PWR_MLP_Kinf->SetPCMprecision(pcm); with pcm the precision in pcm (default 10) REDUCE IT\n If this message still appear mail to leniau@subatech.in2p3.fr\nor nicolas.thiolliere@subatech.in2p3.fr " << endl;
 			exit(1);
 		}
 
@@ -415,7 +345,7 @@ double EQM_PWR_MLP_Kinf::GetMaximumBurnUp_MLP(IsotopicVector TheFuel, double Tar
  		k_av/=fNumberOfBatch;	
 
 		OldPredictedk_av = k_av;
-	//	DBGV("OldPredictedk_av "<<OldPredictedk_av<<" Bumax "<<SecondToBurnup(TheFinalTime) )
+	//	DBGV("OldPredictedk_av " << OldPredictedk_av << " Bumax " << SecondToBurnup(TheFinalTime) )
  		count++;
  	}	while( fabs(OldPredictedk_av-fKThreshold) > GetPCMprecision() )  ;
 
@@ -469,29 +399,29 @@ double EQM_PWR_MLP_Kinf::GetMaximumBurnUp_Pol2(IsotopicVector TheFuel,double Tar
 		}	
 		else
 		{
-			ERROR<<"No positive solution" << endl;
+			ERROR << "No positive solution" << endl;
 			exit(1);
 		}
 	}	
 	else if(Delta==0)
 	{	T = -B/(2*A);
 		if(T<0)
-		{	ERROR<<"No positive solution" << endl;
+		{	ERROR << "No positive solution" << endl;
 			exit(1);
 		}
 	}
 	else
 	{	
-		WARNING<<"No real solution" << endl;
+		WARNING << "No real solution" << endl;
 		double K_LongTime = Alpha_0+BurnupToSecond(10*TargetBU)*Alpha_1+Alpha_2*BurnupToSecond(10*TargetBU)*BurnupToSecond(10*TargetBU); 
-		DBGV("K_LongTime "<<K_LongTime)
+		DBGV("K_LongTime " << K_LongTime)
 
 		if(K_LongTime > fKThreshold)
 			return 10000;
 		else
 		{
-			ERROR<<" CRITICAL ! Can't find a physical solution ! \n Should not happening please contact BLG :" << endl;
-			ERROR<<"mail to baptiste.leniau@subatech.in2p2.fr\nor nicolas.thiolliere@subatech.in2p3.fr " << endl;
+			ERROR << " CRITICAL ! Can't find a physical solution ! \n Should not happening please contact BLG :" << endl;
+			ERROR << "mail to baptiste.leniau@subatech.in2p2.fr\nor nicolas.thiolliere@subatech.in2p3.fr " << endl;
 			exit(1);
 		}
 		
@@ -510,7 +440,7 @@ double EQM_PWR_MLP_Kinf::GetMaximumBurnUp(IsotopicVector TheFuel, double TargetB
 
 	else
 	{
-		ERROR<<"This method is not yet set up" << endl;
+		ERROR << "This method is not yet set up" << endl;
 		exit(0);
 	}
 
@@ -535,7 +465,7 @@ double EQM_PWR_MLP_Kinf::GetFissileMolarFraction(IsotopicVector Fissil,IsotopicV
 	{
 		if(count > MaximumLoopCount )
 		{
-			ERROR<<"CRITICAL ! Can't manage to predict fissile content\nHint : Try to decrease the precision on burnup using :\nYourEQM_PWR_MLP_Kinf->SetBurnUpPrecision(prop); with prop the precision  (default 0.5percent :  0.005) INCREASE IT\nIf this message still appear mail to leniau@subatech.in2p3.fr\nor nicolas.thiolliere@subatech.in2p3.fr " << endl;
+			ERROR << "CRITICAL ! Can't manage to predict fissile content\nHint : Try to decrease the precision on burnup using :\nYourEQM_PWR_MLP_Kinf->SetBurnUpPrecision(prop); with prop the precision  (default 0.5percent :  0.005) INCREASE IT\nIf this message still appear mail to leniau@subatech.in2p3.fr\nor nicolas.thiolliere@subatech.in2p3.fr " << endl;
 			exit(1);
 		}
 
@@ -552,7 +482,7 @@ double EQM_PWR_MLP_Kinf::GetFissileMolarFraction(IsotopicVector Fissil,IsotopicV
 
 		IsotopicVector FreshFuel = (1-FissileContent)*(Fertil/Fertil.GetSumOfAll()) + FissileContent*(Fissil/Fissil.GetSumOfAll());
 		PredictedBU = GetMaximumBurnUp(FreshFuel,TargetBU);
-	//	DBGV(PredictedBU<<"  "<<FissileContent);
+	//	DBGV(PredictedBU << "  " << FissileContent);
 
 		OldPredictedBU = PredictedBU;
 		count ++;
@@ -561,7 +491,7 @@ double EQM_PWR_MLP_Kinf::GetFissileMolarFraction(IsotopicVector Fissil,IsotopicV
 
 
 
-DBGV("Predicted BU "<<PredictedBU<<" FissileContent "<<FissileContent);
+DBGV("Predicted BU " << PredictedBU << " FissileContent " << FissileContent);
 return FissileContent;
 }
 //________________________________________________________________________
diff --git a/source/branches/BaM_Dev/Model/Equivalence/EQM_PWR_MLP_Kinf.hxx b/source/branches/BaM_Dev/Model/Equivalence/EQM_PWR_MLP_Kinf.hxx
index 3f0fab688d06217defe8064d8bd0414907a752d8..147e7439cdc745200bca735bb85b97207466fc98 100644
--- a/source/branches/BaM_Dev/Model/Equivalence/EQM_PWR_MLP_Kinf.hxx
+++ b/source/branches/BaM_Dev/Model/Equivalence/EQM_PWR_MLP_Kinf.hxx
@@ -3,6 +3,7 @@
 
 #include "EquivalenceModel.hxx"
 #include "TTree.h"
+#include <map>
 
 /*!
  \file
@@ -37,6 +38,11 @@ in non simulated devices such as control rods and mixing grid.
  */
 //________________________________________________________________________
 
+class EQM_PWR_MLP_Kinf;
+#ifndef __CINT__
+typedef void (EQM_PWR_MLP_Kinf::*PWR_MLP_KINF_DMthPtr)( const string & ) ;
+#endif
+
 
 class EQM_PWR_MLP_Kinf : public EquivalenceModel
 {
@@ -128,7 +134,46 @@ class EQM_PWR_MLP_Kinf : public EquivalenceModel
 	double ExecuteTMVA(TTree* theTree, string WeightPath, bool IsTimeDependant);//!<Execute the MLP according to the input tree created by CreateTMVAInputTree
 	double SecondToBurnup(double Second){return Second*fSpecificPower/(24*3.6e6);}
 
+	
+	/*!
+	 \name Reading NFO related Method
+	 */
+	//@{
+	
+	//{
+	/// LoadKeyword() : make the correspondance between keyword and reading method
+	void LoadKeyword();
+	//}
+	
+	//{
+	/// ReadZAIName : read the zai name in the TMWA MLP model
+	/*!
+	 \param line : line suppossed to contain the ZAI name  starts with "k_zainame" keyword
+	 */
+	void ReadZAIName(const string &line);
+	//}
+	
+	//{
+	/// ReadLine : read a line
+	/*!
+	 \param line : line to read
+	 */
+	void ReadLine(string line);
+	//}
+	
+	//@}
+	
 	private :
+	vector <string> fTMVAWeightPath;		//!<The weight needed by TMVA to construct and execute the multilayer perceptron
+
+#ifndef __CINT__
+	map<string, PWR_MLP_KINF_DMthPtr> fDKeyword;
+#endif
+	
+	map<ZAI,string> fMapOfTMVAVariableNames;//!<  List of TMVA input variable names (read from fMLPInformationFile ) , name depends on the training step
+
+	
+	
 	double GetMaximumBurnUp_Pol2(IsotopicVector TheFuel, double TargetBU);
 	double GetMaximumBurnUp(IsotopicVector TheFuel, double TargetBU);//!<Get the maximum reachable burnup according the freshfuel composition
 	void   GetModelInformation();//!<Read the fMLPInformationFile and fill containers and variables
@@ -143,10 +188,7 @@ class EQM_PWR_MLP_Kinf : public EquivalenceModel
 	double 	fBurnUpPrecision;	//!< precision on Burnup 
 	double 	fPCMprecision;		//!< precision on <k> prediction [pcm]
 			
-	map<ZAI,string> fMapOfTMVAVariableNames;//!<  List of TMVA input variable names (read from fMLPInformationFile ) , name depends on the training step
 
-	vector <string> fTMVAWeightPath;		//!<The weight needed by TMVA to construct and execute the multilayer perceptron
-	string fMLPInformationFile;				//!<The path to the informations necessary to execute the MLP
 };
 
 #endif
diff --git a/source/branches/BaM_Dev/Model/Equivalence/EQM_PWR_MLP_MOX.cxx b/source/branches/BaM_Dev/Model/Equivalence/EQM_PWR_MLP_MOX.cxx
index f547fc880a8eb1940620db3bb26aeeaeb620f856..d4b6c440d236eeeabb40e4d1a35f66c9d82ab2c6 100644
--- a/source/branches/BaM_Dev/Model/Equivalence/EQM_PWR_MLP_MOX.cxx
+++ b/source/branches/BaM_Dev/Model/Equivalence/EQM_PWR_MLP_MOX.cxx
@@ -44,10 +44,10 @@ EQM_PWR_MLP_MOX::EQM_PWR_MLP_MOX(string TMVAWeightPath):EquivalenceModel(new CLA
 
 	SetBuildFuelFirstGuess(0.04);
 
-	INFO<<"__An equivalence model of PWR MOX has been define__"<<endl;
-	INFO<<"\tThis model is based on a multi layer perceptron"<<endl;
-	INFO<<"\t\tThe TMVA weight file is :"<<endl;
-	INFO<<"\t\t\t"<<fTMVAWeightPath<<endl;
+	INFO << "__An equivalence model of PWR MOX has been define__" << endl;
+	INFO << "\tThis model is based on a multi layer perceptron" << endl;
+	INFO << "\t\tThe TMVA weight file is :" << endl;
+	INFO << "\t\t\t" << fTMVAWeightPath << endl;
 
 }
 
@@ -71,10 +71,10 @@ EQM_PWR_MLP_MOX::EQM_PWR_MLP_MOX(CLASSLogger* log, string TMVAWeightPath):Equiva
 
 	SetBuildFuelFirstGuess(0.04);
 
-	INFO<<"__An equivalence model of PWR MOX has been define__"<<endl;
-	INFO<<"\tThis model is based on a multi layer perceptron"<<endl;
-	INFO<<"\t\tThe TMVA weight file is :"<<endl;
-	INFO<<"\t\t\t"<<fTMVAWeightPath<<endl;
+	INFO << "__An equivalence model of PWR MOX has been define__" << endl;
+	INFO << "\tThis model is based on a multi layer perceptron" << endl;
+	INFO << "\t\tThe TMVA weight file is :" << endl;
+	INFO << "\t\t\t" << fTMVAWeightPath << endl;
 
 }
 
diff --git a/source/branches/BaM_Dev/Model/Equivalence/EQM_PWR_POL_UO2.cxx b/source/branches/BaM_Dev/Model/Equivalence/EQM_PWR_POL_UO2.cxx
index e74038800ae6bc426654e75be373e7cbcc0a99f3..9644d28f822a975909dd285f8f3332666655682a 100644
--- a/source/branches/BaM_Dev/Model/Equivalence/EQM_PWR_POL_UO2.cxx
+++ b/source/branches/BaM_Dev/Model/Equivalence/EQM_PWR_POL_UO2.cxx
@@ -62,8 +62,8 @@ void EQM_PWR_POL_UO2::ReadWeightFile(string PathToWeightFile)
 	fParam_Bu = atof(StringLine::NextWord(line, start, ' ').c_str());
 	fParam_BuSquare = atof(StringLine::NextWord(line, start, ' ').c_str());
 	
-	INFO << "Weight parameters has been read "<<endl;
-	INFO <<"\t U enrichment = "<<fParam_Bu_0<<" + "<<fParam_Bu<<"*Burnup + "<< fParam_BuSquare<<"*Burnup*Burnup"<<endl;
+	INFO << "Weight parameters has been read " << endl;
+	INFO  << "\t U enrichment = " << fParam_Bu_0 << " + " << fParam_Bu << "*Burnup + " <<  fParam_BuSquare << "*Burnup*Burnup" << endl;
 }
 // _______________________________________________________________________
 double EQM_PWR_POL_UO2::GetFissileMolarFraction ( IsotopicVector Fissil , IsotopicVector Fertil , double BurnUp )
diff --git a/source/branches/BaM_Dev/Model/XS/XSM_CLOSEST.cxx b/source/branches/BaM_Dev/Model/XS/XSM_CLOSEST.cxx
index b6f9bb5f0ba51b96299054df354fd36952db6d1f..42407b6b47e8bf17a504f33745af32455e84edec 100644
--- a/source/branches/BaM_Dev/Model/XS/XSM_CLOSEST.cxx
+++ b/source/branches/BaM_Dev/Model/XS/XSM_CLOSEST.cxx
@@ -38,9 +38,9 @@ XSM_CLOSEST::XSM_CLOSEST(string DB_index_file, bool oldreadmethod ): XSModel(new
 	ReadDataBase();
 
 	// 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;
+	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;
 
 }
 
@@ -55,9 +55,9 @@ XSM_CLOSEST::XSM_CLOSEST(CLASSLogger* Log,string DB_index_file, bool oldreadmeth
 	ReadDataBase();
 
 	// 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;
+	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;
 
 }
 
@@ -96,7 +96,7 @@ void XSM_CLOSEST::ReadDataBase()
 	getline(DataDB, line);
 	if( StringLine::NextWord(line, start, ' ') != "TYPE")
 	{
-		ERROR << " Bad Database file : " <<  fDataBaseIndex << " Can't find the type of the DataBase"<< endl;
+		ERROR << " Bad Database file : " <<  fDataBaseIndex << " Can't find the type of the DataBase" <<  endl;
 		exit (1);
 	}
 	fFuelType = StringLine::NextWord(line, start, ' ');
@@ -316,7 +316,7 @@ void XSM_CLOSEST::CalculateDistanceParameter()
 
 	if(GetLog())
 	{
-		INFO <<"!!INFO!! Distance Parameters "<<endl;
+		INFO  << "!!INFO!! Distance Parameters " << endl;
 		map<ZAI ,double >::iterator it2;
 		for(it2 = fDistanceParameter.GetIsotopicQuantity().begin();it2 != fDistanceParameter.GetIsotopicQuantity().end(); it2++)
 		{
@@ -337,7 +337,7 @@ void XSM_CLOSEST::SetDistanceParameter(IsotopicVector DistanceParameter)
 
 	fDistanceParameter = DistanceParameter;
 
-	INFO <<"!!INFO!! Distance Parameters "<<endl;
+	INFO  << "!!INFO!! Distance Parameters " << endl;
 	map<ZAI ,double >::iterator it2;
 	for(it2 = fDistanceParameter.GetIsotopicQuantity().begin();it2 != fDistanceParameter.GetIsotopicQuantity().end(); it2++)
 	{
@@ -361,11 +361,11 @@ void XSM_CLOSEST::SetDistanceType(int DistanceType)
 	}
 	else if(fDistanceType == 2 && Norme(fDistanceParameter)==0){
 		// This is so bad!! You will probably unsynchronize all the reactor....
-		WARNING << " Distance use weight defined by user for each isotope, but no weight have been given" << endl<<"Use SetDistanceParameter()"<<endl;
+		WARNING << " Distance use weight defined by user for each isotope, but no weight have been given" << endl << "Use SetDistanceParameter()" << endl;
 		exit(1);
 	}
 	else if (fDistanceType != 0 && fDistanceType != 1 && fDistanceType != 2 ){
-		ERROR << " Distancetype defined by the user isn't recognized by the code"<<endl;
+		ERROR << " Distancetype defined by the user isn't recognized by the code" << endl;
 		exit(1);
 	}
 	
diff --git a/source/branches/BaM_Dev/Model/XS/XSM_MLP.cxx b/source/branches/BaM_Dev/Model/XS/XSM_MLP.cxx
index 078fa4d022e58c6a93e2f4e6252fbd53b416ef8a..5f54e98bb710a566c52861b95558c6be92395b42 100644
--- a/source/branches/BaM_Dev/Model/XS/XSM_MLP.cxx
+++ b/source/branches/BaM_Dev/Model/XS/XSM_MLP.cxx
@@ -163,7 +163,7 @@ void XSM_MLP::GetMLPWeightFiles()
 	
 	if (rep == NULL)
 	{
-		ERROR<<" Reading error for TMVA weight folder  "<<fTMVAWeightFolder.c_str()<<" : "<<strerror(errno)<<endl;
+		ERROR << " Reading error for TMVA weight folder  " << fTMVAWeightFolder.c_str() << " : " << strerror(errno) << endl;
 		exit(1);
 	}
 	
@@ -264,7 +264,7 @@ TTree* XSM_MLP::CreateTMVAInputTree(IsotopicVector isotopicvector,int TimeStep)
 	for( it2 = fMapOfTMVAVariableNames.begin() ; it2!=fMapOfTMVAVariableNames.end() ; it2++)
 	{
 		InputTMVA[j] = IVAccordingToUserInfoFile.GetZAIIsotopicQuantity( (*it2).first ) ;
-		DBGV((*it2).first.Z()<<" "<<(*it2).first.A()<<" "<<InputTMVA[j]);
+		DBGV((*it2).first.Z() << " " << (*it2).first.A() << " " << InputTMVA[j]);
 		j++;
 	}
 	
diff --git a/source/branches/BaM_Dev/include/CLASSLogger.hxx b/source/branches/BaM_Dev/include/CLASSLogger.hxx
index f1282977b5908ccebb4c38552286d44e24be93f4..3c9ab8de56a4c7d9a1cdc3c953e6cf69cdbd2191 100755
--- a/source/branches/BaM_Dev/include/CLASSLogger.hxx
+++ b/source/branches/BaM_Dev/include/CLASSLogger.hxx
@@ -91,7 +91,7 @@ public:
 	//@{
 	string GetCLASSLoggerName() const { return fCLASSLoggerName; }	//!< return the CLASSLogger name
 
-	LogType &operator<<(std::ostream& (*manip)(std::ostream &))
+	LogType &operator << (std::ostream& (*manip)(std::ostream &))
 	{
 		manip( *(this->fLog) );
 		if(fLog2)
@@ -101,7 +101,7 @@ public:
 
 
 	template<typename T>
-	inline LogType& operator<<(T something)
+	inline LogType& operator << (T something)
 	{
                 *(this->fLog) << something;
 		if(fLog2)
diff --git a/source/branches/BaM_Dev/include/EquivalenceModel.hxx b/source/branches/BaM_Dev/include/EquivalenceModel.hxx
index 61739c1c566d0cc61a3df965cdcf7de56f4d4d67..0624156c505e5627f0dea751b05bfd91cbb3fa31 100644
--- a/source/branches/BaM_Dev/include/EquivalenceModel.hxx
+++ b/source/branches/BaM_Dev/include/EquivalenceModel.hxx
@@ -103,7 +103,14 @@ class EquivalenceModel : public CLASSObject
 	void SetRelativMassPrecision( double val)	{ fRelativMassPrecision = val; }	//!< Mass precision
 	void SetMaxInterration(int val)			{ fMaxInterration = val; }		//!< Max iterration in build fueld algorythm
 
-
+	//@}
+	
+	
+	
+	/*!
+	 \name Reading NFO related Method
+	 */
+	//@{
 	void ReadNFO();
 	virtual void ReadLine(string line);
 
@@ -111,6 +118,41 @@ class EquivalenceModel : public CLASSObject
 	virtual void LoadKeyword();
 	void ReadZAIlimits(const string &line);
 	void ReadType(const string &line);
+	
+	
+	//{
+	/// ReadSpecificPower : read the Specific Power of the DataBase
+	/*!
+	 \param line : line suppossed to contain the Specific Power information starts with "k_specpower" keyword
+	 */
+	void ReadSpecificPower(const string &line);
+	//}
+	
+	//{
+	/// ReadMaximalContent : read the approx. maximum fissile content reachable by the MLP model
+	/*!
+	 \param line : line suppossed to contain the maximal content information starts with "k_contentmax" keyword
+	 */
+	void ReadMaximalContent(const string &line);
+	//}
+	
+	
+	//{
+	/// ReadFissil : read the zai name in the TMWA MLP model starts with "k_fissil" keyword
+	/*!
+	 \param line : line suppossed to contain the fissil list
+	 */
+	void ReadFissil(const string &line);
+	//}
+	
+	//{
+	/// ReadFertil : read the zai name in the TMWA MLP model starts with "k_fertil" keyword
+	/*!
+	 \param line : line suppossed to contain the fertil list & their default isotopic fraction
+	 */
+	void ReadFertil(const string &line);
+	//}
+	
 	//@}
 	
 	
@@ -159,6 +201,8 @@ class EquivalenceModel : public CLASSObject
 	string fInformationFile;	//!<  file containing Reactor Type, Fuel type, HM mass, Power, time vector, and TMVA input variables names (looks the manual for format details)
 	string fDBFType;		//!<  Fuel Type    (e.g MOX, UOX, ThU, ThPu ...)
 	string fDBRType;		//!<  Reactor Type (e.g PWR, FBR-Na, ADS..)
+	double 	fSpecificPower; 	//!< The specific power in W/gHM (HM: heavy Metal)
+	double  fMaximalContent;	//!< The approx. maximum fissile content reachable by the model
 	
 	/*!
 	 \name Others 
diff --git a/source/branches/BaM_Dev/include/StringLine.hxx b/source/branches/BaM_Dev/include/StringLine.hxx
index 429e560eb71f0c2d86a2fa6c2bfcef83f99a2220..adf9ee394f0b40bfe104eb67a9f25f14ca739126 100755
--- a/source/branches/BaM_Dev/include/StringLine.hxx
+++ b/source/branches/BaM_Dev/include/StringLine.hxx
@@ -31,7 +31,7 @@ using namespace std;
  string temperature_is=SL.NextWord(line,start,':');
  string colon=SL.NextWord(line,start);
  double T=atof(SL.NextWord(line,start).c_str());
- cout<<the<<endl<<temperature_is<<endl<<T<<endl;
+ cout << the << endl << temperature_is << endl << T << endl;
  
  2nd method: "using" the static methods
  
@@ -40,7 +40,7 @@ using namespace std;
  temperature_is=StringLine::NextWord(line,start,':');
  colon=StringLine::NextWord(line,start);
  T=atof(StringLine::NextWord(line,start).c_str());
- cout<<the<<endl<<temperature_is<<endl<<T<<endl;
+ cout << the << endl << temperature_is << endl << T << endl;
  \endcode
  @author PTO
  @version 0.1
@@ -108,11 +108,11 @@ class StringLine
 	 string s="32.12";
 	 double d;
 	 if(StringLine::ToNumber(d,s,std::dec))
-	 	cout<<"double="<<d<<endl;
+	 	cout << "double=" << d << endl;
 	 string hexanum="ff";
 	 int i;
 	 if(StringLine::ToNumber(i,hexanum,std::hex))
-	 	cout<<"int="<<i<<endl;
+	 	cout << "int=" << i << endl;
 	 \endcode
 	 \param s : the input string
 	 \param t : the output value
diff --git a/source/branches/BaM_Dev/src/CLASSNucleiFiliation.cxx b/source/branches/BaM_Dev/src/CLASSNucleiFiliation.cxx
index f7ab8d0380342aae677e6473aa8da1a29a4b2f79..8ad4b6f44ebbe4e12296a51bd870ac98ea794f9c 100644
--- a/source/branches/BaM_Dev/src/CLASSNucleiFiliation.cxx
+++ b/source/branches/BaM_Dev/src/CLASSNucleiFiliation.cxx
@@ -57,7 +57,7 @@ void CLASSNucleiFiliation::Add( ZAI Mother, IsotopicVector Daughter )
 //________________________________________________________________________
 IsotopicVector CLASSNucleiFiliation::GetFiliation(ZAI Mother)
 {
-	DBGV(Mother.Z()<<" "<<Mother.A()<<" "<<Mother.I());
+	DBGV(Mother.Z() << " " << Mother.A() << " " << Mother.I());
 	map<ZAI, IsotopicVector>::iterator it_Filiation;
 	
 	it_Filiation = fNucleiFiliation.find(Mother);	// search for the ZAI in the map
diff --git a/source/branches/BaM_Dev/src/DecayDataBank.cxx b/source/branches/BaM_Dev/src/DecayDataBank.cxx
index 93dde70fa2cf0b0894f23b840af09a6bceeaaeeb..f56a313dcb48a8743bdafb60eb099632f0d7f9f1 100644
--- a/source/branches/BaM_Dev/src/DecayDataBank.cxx
+++ b/source/branches/BaM_Dev/src/DecayDataBank.cxx
@@ -33,8 +33,8 @@ DecayDataBank::DecayDataBank():CLASSObject(new CLASSLogger("DecayDataBank.log"))
 	fFastCalculation = true;
 	
 	// Warning
-	INFO 	<< " A EvolutionData has been define :" << endl;
-	INFO	<< "\t His index is : \"" << DB_index_file << "\"" << endl << endl;
+	INFO 	 <<  " A EvolutionData has been define :" << endl;
+	INFO	 <<  "\t His index is : \"" << DB_index_file << "\"" << endl << endl;
 
 }
 
@@ -52,8 +52,8 @@ DecayDataBank::DecayDataBank(string DB_index_file):CLASSObject(new CLASSLogger("
 	fFastCalculation = true;
 
 	// Warning
-	INFO 	<< " A EvolutionData has been define :" << endl;
-	INFO	<< "\t His index is : \"" << DB_index_file << "\"" << endl << endl;
+	INFO 	 <<  " A EvolutionData has been define :" << endl;
+	INFO	 <<  "\t His index is : \"" << DB_index_file << "\"" << endl << endl;
 
 }
 //________________________________________________________________________
@@ -65,8 +65,8 @@ DecayDataBank::DecayDataBank(CLASSLogger* log, string DB_index_file):CLASSObject
 	fFastCalculation = true;
 	
 	// Warning
-	INFO 	<< " A EvolutionData has been define :" << endl;
-	INFO	<< "\t His index is : \"" << DB_index_file << "\"" << endl << endl;
+	INFO 	 <<  " A EvolutionData has been define :" << endl;
+	INFO	 <<  "\t His index is : \"" << DB_index_file << "\"" << endl << endl;
 	
 }
 
@@ -122,7 +122,7 @@ DBGL
 		if(!zaifind)
 		{
 			WARNING << " Oups... Can't Find the ZAI : "
-			<< zai.Z() << " " << zai.A() << " "	<< zai.I() << "!!! It will be considered as stable !!" << endl;
+			 <<  zai.Z() << " " << zai.A() << " "	 <<  zai.I() << "!!! It will be considered as stable !!" << endl;
 			
 			EvolutionData evolutionproduct = EvolutionData(GetLog()," " , true, zai);
 			{fDecayDataBank.insert( pair<ZAI, EvolutionData >(zai, evolutionproduct) );}
diff --git a/source/branches/BaM_Dev/src/DynamicalSystem.cxx b/source/branches/BaM_Dev/src/DynamicalSystem.cxx
index 5ec1540526b4dd0bdc994bd0f23268f9c2cc87d1..b999444a5f67d2441b1aefc4904cf24225863508 100644
--- a/source/branches/BaM_Dev/src/DynamicalSystem.cxx
+++ b/source/branches/BaM_Dev/src/DynamicalSystem.cxx
@@ -89,7 +89,7 @@ void  DynamicalSystem::RungeKutta(double *YStart,double t1, double t2, int Equat
 			delete [] dydt;
 			delete [] y;
 			delete [] yscal;
-			//cout << "The maximum step used in RK was "<<fMaxHdid<<" Step NUM in RK was "<<nstp << endl;
+			//cout << "The maximum step used in RK was " << fMaxHdid << " Step NUM in RK was " << nstp << endl;
 			return;
 		}
 		if (fabs(hnext) <= fHmin)
@@ -103,7 +103,7 @@ void  DynamicalSystem::RungeKutta(double *YStart,double t1, double t2, int Equat
 //________________________________________________________________________
 void  DynamicalSystem::RK4(double *y, double *dydx, double x, double h, double *yout)
 {
-	//cout<<"Calling Function RK4"<<endl;
+	//cout << "Calling Function RK4" << endl;
 	double xh,hh,h6;
 	
 	double *dym=new double[fNVar];
@@ -137,9 +137,9 @@ void  DynamicalSystem::RK4(double *y, double *dydx, double x, double h, double *
 		if(!fIsNegativeValueAllowed && yout[i]<0)
 		{
 			//cout << "Material composition is negative "
-			//<<"i="<<i<<" ("/*<<fEvolvingMaterial->GetComposition()[i]->GetZAI()->PrintName()
-			//		*/<<") old proportion="<<y[i]<<" new="<<yout[i]
-			//<<". Setting to 0." << endl;
+			// << "i=" << i << " ("/* << fEvolvingMaterial->GetComposition()[i]->GetZAI()->PrintName()
+			//		*/ << ") old proportion=" << y[i] << " new=" << yout[i]
+			// << ". Setting to 0." << endl;
 			yout[i]=0.;
 		}
 	}
@@ -152,7 +152,7 @@ void  DynamicalSystem::RK4(double *y, double *dydx, double x, double h, double *
 void DynamicalSystem::AdaptStepSize(double *y, double *dydx, double *x, double htry,
 				    double eps, double *yscal, double *hdid, double *hnext)
 {
-	//cout<<"Calling Function AdaptStepSize()"<<endl;
+	//cout << "Calling Function AdaptStepSize()" << endl;
 	double xsav,hh,h,temp,errmax;
 	double *dysav=new double[fNVar];
 	double *ysav=new double[fNVar];
@@ -184,7 +184,7 @@ void DynamicalSystem::AdaptStepSize(double *y, double *dydx, double *x, double h
 		*x=xsav+h;
 		if (*x == xsav )
 		{
-			//cout << "Step size ("<<h<<") too small in routine AdaptStepSize" << endl;
+			//cout << "Step size (" << h << ") too small in routine AdaptStepSize" << endl;
 		}
 		RK4(ysav,dysav,xsav,h,ytemp);
 		errmax=0.0;
diff --git a/source/branches/BaM_Dev/src/EquivalenceModel.cxx b/source/branches/BaM_Dev/src/EquivalenceModel.cxx
index c03c87d843c3170300692cb3155780e88e4b27f6..020645100f093c130aae13583948eeed18dee6b4 100644
--- a/source/branches/BaM_Dev/src/EquivalenceModel.cxx
+++ b/source/branches/BaM_Dev/src/EquivalenceModel.cxx
@@ -82,6 +82,10 @@ void EquivalenceModel::LoadKeyword()
 	fKeyword.insert( pair<string, EQM_MthPtr>( "k_zail",	& EquivalenceModel::ReadZAIlimits));
 	fKeyword.insert( pair<string, EQM_MthPtr>( "k_reactor",	& EquivalenceModel::ReadType)	 );
 	fKeyword.insert( pair<string, EQM_MthPtr>( "k_fuel",	& EquivalenceModel::ReadType)	 );
+	fKeyword.insert( pair<string, EQM_MthPtr>( "k_fissil",	& EquivalenceModel::ReadFissil)	 );
+	fKeyword.insert( pair<string, EQM_MthPtr>( "k_fertil",	& EquivalenceModel::ReadFertil)	 );
+	fKeyword.insert( pair<string, EQM_MthPtr>( "k_fertil",	& EquivalenceModel::ReadSpecificPower));
+	fKeyword.insert( pair<string, EQM_MthPtr>( "k_fertil",	& EquivalenceModel::ReadMaximalContent));
 	DBGL
 }
 
@@ -134,6 +138,86 @@ void EquivalenceModel::ReadZAIlimits(const string &line)
 }
 
 
+//________________________________________________________________________
+void EquivalenceModel::ReadFissil(const string &line)
+{
+	DBGL
+	int pos = 0;
+	string keyword = tlc(StringLine::NextWord(line, pos, ' '));
+	if( keyword != "k_fissil" )	// Check the keyword
+	{
+		ERROR << " Bad keyword : \"k_fissil\" not found !" << endl;
+		exit(1);
+	}
+	
+	int Z = atoi(StringLine::NextWord(line, pos, ' ').c_str());
+	int A = atoi(StringLine::NextWord(line, pos, ' ').c_str());
+	int I = atoi(StringLine::NextWord(line, pos, ' ').c_str());
+	double Q = atof(StringLine::NextWord(line, pos, ' ').c_str());
+	
+	fFertileList.Add(Z, A, I, Q);
+	
+	DBGL
+}
+
+
+//________________________________________________________________________
+void EquivalenceModel::ReadSpecificPower(const string &line)
+{
+	DBGL
+	int pos = 0;
+	string keyword = tlc(StringLine::NextWord(line, pos, ' '));
+	if( keyword != "k_specpower")	// Check the keyword
+	{
+		ERROR << " Bad keyword : \"k_specpower\" Not found !" << endl;
+		exit(1);
+	}
+	
+	fSpecificPower = atof(StringLine::NextWord(line, pos, ' ').c_str());
+	
+	DBGL
+}
+
+//________________________________________________________________________
+void EquivalenceModel::ReadMaximalContent(const string &line)
+{
+	DBGL
+	int pos = 0;
+	string keyword = tlc(StringLine::NextWord(line, pos, ' ').c_str());
+	if( keyword != "k_contentmax")	// Check the keyword
+	{
+		ERROR << " Bad keyword : \"k_contentmax\" Not found !" << endl;
+		exit(1);
+	}
+	
+	fMaximalContent = atof(StringLine::NextWord(line, pos, ' ').c_str());
+	
+	DBGL
+}
+
+
+//________________________________________________________________________
+void EquivalenceModel::ReadFertil(const string &line)
+{
+	DBGL
+	int pos = 0;
+	string keyword = tlc(StringLine::NextWord(line, pos, ' '));
+	if( keyword != "k_fertil" )	// Check the keyword
+	{
+		ERROR << " Bad keyword : \"k_fertil\" not found !" << endl;
+		exit(1);
+	}
+	
+	int Z = atoi(StringLine::NextWord(line, pos, ' ').c_str());
+	int A = atoi(StringLine::NextWord(line, pos, ' ').c_str());
+	int I = atoi(StringLine::NextWord(line, pos, ' ').c_str());
+	
+	fFissileList.Add(Z, A, I, 1.0);
+
+	
+	DBGL
+}
+
 
 
 
@@ -165,8 +249,8 @@ double EquivalenceModel::LAMBDA_TOT_FOR(double MassNeeded, vector<IsotopicVector
 	// If there is not enought matter in stocks construction fails
 	if( MassNeeded > TotalMassInStocks )
 	{
-		WARNING<<"Not enought "<< FisOrFer <<" material to build fuel"<<endl;
-		WARNING<<TotalMassInStocks<<endl;
+		WARNING << "Not enought " <<  FisOrFer  << " material to build fuel" << endl;
+		WARNING << TotalMassInStocks << endl;
 		return -1;
 	}
 	
@@ -287,7 +371,7 @@ vector<double> EquivalenceModel::BuildFuel(double BurnUp, double HMMass, vector<
 		
 		if( MolarPuContent < 0 || MolarPuContent > 1 )
 		{	SetLambdaToErrorCode(lambda);
-			WARNING<<"GetFissileMolarFraction return negative or greater than one value";
+			WARNING << "GetFissileMolarFraction return negative or greater than one value";
 			return lambda;
 		}
 		
@@ -375,8 +459,8 @@ bool EquivalenceModel::isIVInDomain(IsotopicVector IV)
 				
 				WARNING << "Fresh fuel out of model range" << endl;
 				WARNING << "\t AT LEAST this ZAI is accused to be outrange :" << endl;
-				WARNING << "\t\t" << Domain_it->first.Z() << " "<<Domain_it->first.A() << " " << Domain_it->first.I() << endl;
-				WARNING << "\t\t min=" << ThatZAIMin <<" value=" << ThatZAIProp << " max=" << ThatZAIMax << endl;
+				WARNING << "\t\t" << Domain_it->first.Z() << " " << Domain_it->first.A() << " " << Domain_it->first.I() << endl;
+				WARNING << "\t\t min=" << ThatZAIMin  << " value=" << ThatZAIProp << " max=" << ThatZAIMax << endl;
 				WARNING << "\t IV accused :" << endl << endl;
 				WARNING << IVNorm.sPrint() << endl;
 				break;
diff --git a/source/branches/BaM_Dev/src/EvolutionData.cxx b/source/branches/BaM_Dev/src/EvolutionData.cxx
index 8d0b1154e26b35185a792c2f3d259f41c98ccdeb..1cfe82f7b829e159645f184d34d84bd613b773e1 100755
--- a/source/branches/BaM_Dev/src/EvolutionData.cxx
+++ b/source/branches/BaM_Dev/src/EvolutionData.cxx
@@ -975,7 +975,7 @@ void EvolutionData::OldReadDB(string DBfile)
 	if(!DecayDB)
 	{
 		ERROR << " Can't open \"" << DBfile << "\"\n" << endl;
-		ERROR <<"\t-> Hint : If loading .dat files using a .idx file (like for a decay data base)\nmake sure the paths in it are correct";
+		ERROR  << "\t-> Hint : If loading .dat files using a .idx file (like for a decay data base)\nmake sure the paths in it are correct";
 		
 		exit(1);
 	}
diff --git a/source/branches/BaM_Dev/src/FabricationPlant.cxx b/source/branches/BaM_Dev/src/FabricationPlant.cxx
index b76ba2a32db1cbe98dfcc40ee2da47ed03d0094e..5cdebb7872b2154f2ff74b6eb993c5366433a1d3 100644
--- a/source/branches/BaM_Dev/src/FabricationPlant.cxx
+++ b/source/branches/BaM_Dev/src/FabricationPlant.cxx
@@ -57,9 +57,9 @@ DBGL
 	fReUsable = 0;
 	fIsReusable = false;
 
-	INFO	<< " A FabricationPlant has been define :" << endl;
-	INFO	<< "\t Chronological Stock Priority has been set! "<< endl;
-	INFO	<< "\t Fabrication time set to \t " << (double)(GetCycleTime()/cYear) << " year" << endl << endl;
+	INFO	 <<  " A FabricationPlant has been define :" << endl;
+	INFO	 <<  "\t Chronological Stock Priority has been set! " <<  endl;
+	INFO	 <<  "\t Fabrication time set to \t " << (double)(GetCycleTime()/cYear) << " year" << endl << endl;
 DBGL
 }
 
@@ -126,7 +126,7 @@ DBGL
 		cSecond R_CycleTime = cSecond (R_BU / R_Power * R_HMMass * 1e9 *3600*24);
 		if( R_CycleTime < GetCycleTime())
 		{
-			ERROR << "Reactor Cycle Time is shorter than Fabrication Time of the fuel, we cannot deal it upto now!!!"<< endl;
+			ERROR << "Reactor Cycle Time is shorter than Fabrication Time of the fuel, we cannot deal it upto now!!!" <<  endl;
 			exit(1);
 		}
 
@@ -211,7 +211,7 @@ void FabricationPlant::BuildFuelForReactor(int ReactorId, cSecond t)
 	else						// if their is not stock and the fertile come from outside of the park
 	{
 		fFertileArray.push_back( fFertileList / fFertileList.GetTotalMass() * R_HM_Mass );
-		DBGV("Fertile Array size : "<<fFertileArray.size())
+		DBGV("Fertile Array size : " << fFertileArray.size())
 	}
 
 	
diff --git a/source/branches/BaM_Dev/src/IrradiationModel.cxx b/source/branches/BaM_Dev/src/IrradiationModel.cxx
index 89f077c92ca02f9fc90b3b4351ca8f0e63578c24..6f8f099a69210fef9b9a1bc7b81d9e3dc1c68de8 100644
--- a/source/branches/BaM_Dev/src/IrradiationModel.cxx
+++ b/source/branches/BaM_Dev/src/IrradiationModel.cxx
@@ -106,7 +106,7 @@ void IrradiationModel::LoadDecay()
 	ifstream infile(DataFullPathName.c_str());
 	
 	if(!infile)
-		WARNING << " Can't open \"" << DataFullPathName<< "\"" << endl;
+		WARNING << " Can't open \"" << DataFullPathName <<  "\"" << endl;
 	
 	
 	do
@@ -353,7 +353,7 @@ CLASSNucleiFiliation IrradiationModel::ReadFPYield(string Yield)
 	
 	ifstream infile(Yield.c_str());
 	if(!infile)
-		WARNING << " Can't open \"" << Yield<< "\" File !!!" << endl;
+		WARNING << " Can't open \"" << Yield <<  "\" File !!!" << endl;
 	
 	
 	string line;
@@ -666,8 +666,8 @@ void IrradiationModel::SetSpectrumType(string type)
 {
 	if(type !="fast" && type != "thermal")
 	{	
-		ERROR<<type<<" is not a valid spectrum type"<<endl;
-		ERROR<<"\tSpectrum type must be either fast or thermal"<<endl;
+		ERROR << type << " is not a valid spectrum type" << endl;
+		ERROR << "\tSpectrum type must be either fast or thermal" << endl;
 		exit(0);
 	}
 	else
diff --git a/source/branches/BaM_Dev/src/IsotopicVector.cxx b/source/branches/BaM_Dev/src/IsotopicVector.cxx
index 0bb2626688363f7f0cc87ebad3f35017499757d0..ec4a5cd6deb01be873e4509fe1dcab272d86f8e8 100755
--- a/source/branches/BaM_Dev/src/IsotopicVector.cxx
+++ b/source/branches/BaM_Dev/src/IsotopicVector.cxx
@@ -464,7 +464,7 @@ void IsotopicVector::Need(const ZAI& zai, double quantity)
 
 	pair<map<ZAI, double>::iterator, bool> IResult;
 	if(quantity > 0)
-	{	cout << "Negative quantity : "<<quantity <<" for ZAI " << zai.Z() << " " << zai.A() << " " << zai.I() << " in this IsotopicVector" << endl;
+	{	cout << "Negative quantity : " << quantity  << " for ZAI " << zai.Z() << " " << zai.A() << " " << zai.I() << " in this IsotopicVector" << endl;
 		exit(0);
 		IResult = fIsotopicQuantityNeeded.insert( pair<ZAI ,double>(zai, quantity));
 		if(!IResult.second)
@@ -617,7 +617,7 @@ void IsotopicVector::Write(string filename, cSecond time) const
 	cout << "!!Warning!! !!!IsotopicVector!!! \n Can't open \"" << filename << "\"\n" << endl;
 
 	if(time != -1)
-	IVfile << "Time "<< time/cYear << endl;
+	IVfile << "Time " <<  time/cYear << endl;
 
 	map<ZAI ,double> IsotopicQuantity = GetIsotopicQuantity();
 	map<ZAI ,double >::iterator it;
@@ -634,7 +634,7 @@ void IsotopicVector::Write(string filename, cSecond time) const
 void IsotopicVector::Print(string option) const
 {
 
-	cout<<sPrint();
+	cout << sPrint();
 
 }
 //________________________________________________________________________
diff --git a/source/branches/BaM_Dev/src/Pool.cxx b/source/branches/BaM_Dev/src/Pool.cxx
index ed9844e44a205325ff4674edb701969a8c394074..40aa2a15fd4741f73cc4babe9d6917661b28dca8 100755
--- a/source/branches/BaM_Dev/src/Pool.cxx
+++ b/source/branches/BaM_Dev/src/Pool.cxx
@@ -42,9 +42,9 @@ Pool::Pool(CLASSLogger* log, cSecond coolingtime):CLASSBackEnd(log, coolingtime,
 	SetName("P_Pool.");
 
 	
-	INFO	<< " A new Pool has been define :" << endl;
-	INFO	<< "\t The Cooling Time set at\t " << (double)(fCycleTime/cYear) << " year" << endl;
-	WARNING	<< " All Cooled Fuel goes directly to WASTE after cooling !! " << endl;
+	INFO	 <<  " A new Pool has been define :" << endl;
+	INFO	 <<  "\t The Cooling Time set at\t " << (double)(fCycleTime/cYear) << " year" << endl;
+	WARNING	 <<  " All Cooled Fuel goes directly to WASTE after cooling !! " << endl;
 
 	DBGL
 
@@ -64,8 +64,8 @@ Pool::Pool(CLASSLogger* log, CLASSBackEnd* storage, cSecond coolingtime):CLASSBa
 
 	
 
-	INFO	<< " A new Pool has been define :" << endl;
-	INFO	<< "\t The Cooling Time set at\t " << (double)(fCycleTime/cYear) << " year" << endl;
+	INFO	 <<  " A new Pool has been define :" << endl;
+	INFO	 <<  "\t The Cooling Time set at\t " << (double)(fCycleTime/cYear) << " year" << endl;
 
 	DBGL
 
@@ -83,7 +83,7 @@ Pool::~Pool()
 void Pool::SetIVArray(vector<IsotopicVector> ivarray)
 {
 	INFO << "This method as no effect !!!" << endl;
-	INFO << "Use SetIVArray(vector<IsotopicVector> ivarray, vector<cSecond>n timearray) unstead!!!!"<<endl;
+	INFO << "Use SetIVArray(vector<IsotopicVector> ivarray, vector<cSecond>n timearray) unstead!!!!" << endl;
 }
 
 
@@ -153,7 +153,7 @@ DBGL
 		{
 			if (t -  fIVArrayArrivalTime[i] > fCycleTime) // Warning & Quit
 			{
-				ERROR << " Cooling Step : " << t/cYear<< " :" << " an evolution Step is probably missing ! " << " " << endl;
+				ERROR << " Cooling Step : " << t/cYear <<  " :" << " an evolution Step is probably missing ! " << " " << endl;
 				exit (1);
 			}
    
@@ -217,7 +217,7 @@ DBGL
 	
 	if((int)fCoolingEndOfCycle.size() != 0 )// Control
 	{
-		ERROR << "Problem while Dumping Cooling"<< endl;
+		ERROR << "Problem while Dumping Cooling" <<  endl;
 		exit (1);
 	}
 DBGL
diff --git a/source/branches/BaM_Dev/src/Reactor.cxx b/source/branches/BaM_Dev/src/Reactor.cxx
index 5e21dee9430628bef5a99e2da6a2df4a3d35c8b6..8f62b4a99133aa24d7816af3c281875aaad8f177 100755
--- a/source/branches/BaM_Dev/src/Reactor.cxx
+++ b/source/branches/BaM_Dev/src/Reactor.cxx
@@ -91,10 +91,10 @@ Reactor::Reactor(CLASSLogger* log,
 	fFuelPlan = 0;
 	
 	INFO << " A Reactor has been define :" << endl;
-	INFO << "\t Fuel Composition is fixed (for now)! "<< endl;
+	INFO << "\t Fuel Composition is fixed (for now)! " <<  endl;
 	INFO << "\t Creation time set at \t " << ((double)GetCreationTime())/((double)cYear) << " year" << endl;
 	INFO << "\t Life time (Operating's Duration) set at \t " << ((double)GetLifeTime())/((double)cYear) << " year" << endl;
-	INFO << "\t The Effective Thermal Power is \t " << (double)(fPower *1e-6) << " MW (with Full Power " << power << " and " << CapacityFactor << " capacity factor)"<< endl;
+	INFO << "\t The Effective Thermal Power is \t " << (double)(fPower *1e-6) << " MW (with Full Power " << power << " and " << CapacityFactor << " capacity factor)" <<  endl;
 	INFO << "\t The Heavy Metal Mass in the Core set at " << (double)(fHeavyMetalMass) << " tons" << endl << endl;
 	
 	DBGL
@@ -133,10 +133,10 @@ Reactor::Reactor(CLASSLogger* log,
 	
 	
 	INFO << " A Reactor has been define :" << endl;
-	INFO << "\t Fuel Composition is not fixed (for now)! "<< endl;
+	INFO << "\t Fuel Composition is not fixed (for now)! " <<  endl;
 	INFO << "\t Creation time set at \t " << ((double)GetCreationTime())/((double)cYear) << " year" << endl;
 	INFO << "\t Life time (Operating's Duration) set at \t " << ((double)GetLifeTime())/((double)cYear) << " year" << endl;
-	INFO << "\t The Effective Thermal Power is \t " << (double)(fPower *1e-6) << " MW (with Full Power " << Power << " and " << CapacityFactor << " capacity factor)"<< endl;
+	INFO << "\t The Effective Thermal Power is \t " << (double)(fPower *1e-6) << " MW (with Full Power " << Power << " and " << CapacityFactor << " capacity factor)" <<  endl;
 	INFO << "\t The Heavy Metal Mass in the Core set at " << (double)(fHeavyMetalMass) << " tons" << endl << endl;
 	
 	
@@ -177,10 +177,10 @@ Reactor::Reactor(CLASSLogger* log, PhysicsModels* fueltypeDB, FabricationPlant*
 	
 	
 	INFO << " A Reactor has been define :" << endl;
-	INFO << "\t Fuel Composition is not fixed ! "<< endl;
+	INFO << "\t Fuel Composition is not fixed ! " <<  endl;
 	INFO << "\t Creation time set at \t " << (double)(GetCreationTime()/cYear) << " year" << endl;
 	INFO << "\t Life time (Operating's Duration) set at \t " << ((double)GetLifeTime())/((double)cYear) << " year" << endl;
-	INFO << "\t The Effective Thermal Power is \t " << (double)(fPower *1e-6) << " MW (with Full Power " << Power << " and " << CapacityFactor << " capacity factor)"<< endl;
+	INFO << "\t The Effective Thermal Power is \t " << (double)(fPower *1e-6) << " MW (with Full Power " << Power << " and " << CapacityFactor << " capacity factor)" <<  endl;
 	INFO << "\t Burn-Up at end of Cycle set at \t " << (double)(fBurnUp) << " GWj/t" << endl;
 	INFO << "\t The corresponding Cycle Time is\t " << ((double)fCycleTime)/((double)cYear) << " year" << endl;
 	INFO << "\t The Heavy Metal Mass in the Core set at " << (double)(fHeavyMetalMass) << " tons" << endl << endl;
@@ -221,7 +221,7 @@ Reactor::Reactor(CLASSLogger* log, PhysicsModels* 	fueltypeDB,
 	
 	
 	INFO << " A Reactor has been define :" << endl;
-	INFO << "\t Fuel Composition is not fixed ! "<< endl;
+	INFO << "\t Fuel Composition is not fixed ! " <<  endl;
 	INFO << "\t Creation time set at \t " << ((double)GetCreationTime())/((double)cYear) << " year" << endl;
 	INFO << "\t Life time (Operating's Duration) set at \t " << ((double)GetCreationTime())/((double)cYear) << " year" << endl;
 	INFO << "\t The Cycle Time set at\t " << ((double)fCycleTime)/((double)cYear) << " year" << endl;
@@ -278,11 +278,11 @@ Reactor::Reactor(CLASSLogger* log, EvolutionData* evolutivedb,
 	fFuelPlan->AddFuel(creationtime, CLASSFuel(evolutivedb), fBurnUp);
 	
 	INFO << " A Reactor has been define :" << endl;
-	INFO << "\t Fuel Composition is fixed ! "<< endl;
+	INFO << "\t Fuel Composition is fixed ! " <<  endl;
 	INFO << "\t Creation time set at \t " << (double)(GetCreationTime()/cYear) << " year" << endl;
 	INFO << "\t Life time (Operating's Duration) set at \t " << ((double)GetLifeTime())/((double)cYear) << " year" << endl;
 	INFO << "\t The Cycle Time set at\t " << ((double)fCycleTime)/((double)cYear) << " year" << endl;
-	INFO << "\t The Effective Thermal Power is \t " << (double)(fPower *1e-6) << " MW (with Full Power " << power << " and " << CapacityFactor << " capacity factor)"<< endl;
+	INFO << "\t The Effective Thermal Power is \t " << (double)(fPower *1e-6) << " MW (with Full Power " << power << " and " << CapacityFactor << " capacity factor)" <<  endl;
 	INFO << "\t The Heavy Metal Mass in the Core set at " << (double)(fHeavyMetalMass) << " tons" << endl << endl;
 		
 	DBGL
@@ -330,7 +330,7 @@ Reactor::Reactor(CLASSLogger* log, EvolutionData* evolutivedb,
 	fFuelPlan->AddFuel(creationtime, CLASSFuel(evolutivedb), fBurnUp);
 	
 	INFO << " A Reactor has been define :" << endl;
-	INFO << "\t Fuel Composition is fixed ! "<< endl;
+	INFO << "\t Fuel Composition is fixed ! " <<  endl;
 	INFO << "\t Creation time set at \t " << ((double)GetCreationTime())/((double)cYear) << " year" << endl;
 	INFO << "\t Life time (Operating's Duration) set at \t " << ((double)GetLifeTime())/((double)cYear) << " year" << endl;
 	INFO << "\t The Cycle Time set at\t " << ((double)fCycleTime)/((double)cYear) << " year" << endl;
@@ -435,7 +435,7 @@ void Reactor::Evolution(cSecond t)
 	else if(fIsStarted)
 	{
 		WARNING << " Reactor should be working but have no Heavy Nucleus Inside. It's not working so have a zero power..."
-		<< " Time : "<< t/cYear << " years" << endl;
+		 <<  " Time : " <<  t/cYear << " years" << endl;
 	}
 	
 	
diff --git a/source/branches/BaM_Dev/src/Scenario.cxx b/source/branches/BaM_Dev/src/Scenario.cxx
index 1ef14f5d8a4b399ac923951398692922bccfda6e..d4e8ef55dfd90429d9476126f7f2c69909515bb1 100755
--- a/source/branches/BaM_Dev/src/Scenario.cxx
+++ b/source/branches/BaM_Dev/src/Scenario.cxx
@@ -57,11 +57,11 @@ Scenario::Scenario(CLASSLogger* log, cSecond abstime):CLASSObject(log)
 	// Warning
 
 
-	INFO 	<< " Parc has been define :" << endl;
-	INFO	<< " Print  set at : " << (double)(fPrintStep/cYear) << " year" << endl;
-	INFO	<< " StockManagement set at : true" << endl;
-	INFO	<< " OutPut will be in \"" << fOutputFileName << "\" File and \"" << fOutputTreeName << "\" TTree" << endl;
-	INFO	<< " Log will be in " << GetLog()->GetCLASSLoggerName() << endl;
+	INFO 	 <<  " Parc has been define :" << endl;
+	INFO	 <<  " Print  set at : " << (double)(fPrintStep/cYear) << " year" << endl;
+	INFO	 <<  " StockManagement set at : true" << endl;
+	INFO	 <<  " OutPut will be in \"" << fOutputFileName << "\" File and \"" << fOutputTreeName << "\" TTree" << endl;
+	INFO	 <<  " Log will be in " << GetLog()->GetCLASSLoggerName() << endl;
 
 
 
@@ -93,11 +93,11 @@ Scenario::Scenario( cSecond abstime, CLASSLogger* log):CLASSObject(log)
 	// Warning
 	
 	
-	INFO 	<< " Parc has been define :" << endl;
-	INFO	<< " Print  set at : " << (double)(fPrintStep/cYear) << " year" << endl;
-	INFO	<< " StockManagement set at : true" << endl;
-	INFO	<< " OutPut will be in \"" << fOutputFileName << "\" File and \"" << fOutputTreeName << "\" TTree" << endl;
-	INFO	<< " Log will be in " << GetLog()->GetCLASSLoggerName() << endl;
+	INFO 	 <<  " Parc has been define :" << endl;
+	INFO	 <<  " Print  set at : " << (double)(fPrintStep/cYear) << " year" << endl;
+	INFO	 <<  " StockManagement set at : true" << endl;
+	INFO	 <<  " OutPut will be in \"" << fOutputFileName << "\" File and \"" << fOutputTreeName << "\" TTree" << endl;
+	INFO	 <<  " Log will be in " << GetLog()->GetCLASSLoggerName() << endl;
 	
 	
 	
@@ -128,11 +128,11 @@ Scenario::Scenario( cSecond abstime ):CLASSObject(new CLASSLogger("CLASS_OUTPUT.
 	// Warning
 	
 	
-	INFO 	<< " Parc has been define :" << endl;
-	INFO	<< " Print  set at : " << (double)(fPrintStep/cYear) << " year" << endl;
-	INFO	<< " StockManagement set at : true" << endl;
-	INFO	<< " OutPut will be in \"" << fOutputFileName << "\" File and \"" << fOutputTreeName << "\" TTree" << endl;
-	INFO	<< " Log will be in " << GetLog()->GetCLASSLoggerName() << endl;
+	INFO 	 <<  " Parc has been define :" << endl;
+	INFO	 <<  " Print  set at : " << (double)(fPrintStep/cYear) << " year" << endl;
+	INFO	 <<  " StockManagement set at : true" << endl;
+	INFO	 <<  " OutPut will be in \"" << fOutputFileName << "\" File and \"" << fOutputTreeName << "\" TTree" << endl;
+	INFO	 <<  " Log will be in " << GetLog()->GetCLASSLoggerName() << endl;
 	
 	
 	
@@ -542,7 +542,7 @@ void Scenario::BuildTimeVector(cSecond t)
 	ofstream TimeStepfile("CLASS_TimeStep", ios_base::app);		// Open the File
 
 	if(!TimeStepfile)
-		WARNING	<< " Can't open \" CLASS_TimeStep \"\n" << endl;
+		WARNING	 <<  " Can't open \" CLASS_TimeStep \"\n" << endl;
 
 	map<cSecond ,int >::iterator it;
 	for( it = fTimeStep.begin(); it != fTimeStep.end(); it++)
@@ -774,7 +774,7 @@ void Scenario::OpenOutputTree()
 
 	if(!fOutFile)
 	{
-		ERROR << "\nCould not open " << fOutputFileName <<endl;
+		ERROR << "\nCould not open " << fOutputFileName  << endl;
 		exit(-1);
 	}
 	INFO << "\t ...OK!" << endl;
@@ -802,7 +802,7 @@ void Scenario::CloseOutputTree()
 	if(fOutFile->IsOpen()) {
 		INFO << "Deleting outTree : " << endl;
 		delete fOutT;
-		INFO << "Closing file : " << fOutputFileName <<endl;
+		INFO << "Closing file : " << fOutputFileName  << endl;
 		fOutFile-> Close();
 		delete fOutFile;
 	} else {
@@ -872,7 +872,7 @@ void Scenario::Print()
 		INFO << "!!!!!!!!!STEP : " << fAbsoluteTime/(int)(cYear) << endl;
 		INFO << "Pool : " << endl;
 		INFO << "Cooling ";
-		INFO << fPool[i]->GetIVArray().size()<< endl;
+		INFO << fPool[i]->GetIVArray().size() <<  endl;
 	}
 	
 	for(int i = 0; i < (int)fReactor.size(); i++)
diff --git a/source/branches/BaM_Dev/src/SeparationPlant.cxx b/source/branches/BaM_Dev/src/SeparationPlant.cxx
index 9ae24ea8231959cc09813a554a2312ab6588bb28..2a33cf80537163a2703ae4b28dc6ea89ff22bd76 100644
--- a/source/branches/BaM_Dev/src/SeparationPlant.cxx
+++ b/source/branches/BaM_Dev/src/SeparationPlant.cxx
@@ -41,9 +41,9 @@ SeparationPlant::SeparationPlant(CLASSLogger* log):CLASSBackEnd(log, -2)
 
 	SetIsStorageType();
 	
-	INFO	<< " A new SeparationPlant has been define :" << endl;
-	INFO	<< "\t The Separation Time set at\t " << (double)(fCycleTime/cYear) << " year" << endl;
-	WARNING	<< " All Separated Fuel go directly to WASTE after cooling !! " << endl;
+	INFO	 <<  " A new SeparationPlant has been define :" << endl;
+	INFO	 <<  "\t The Separation Time set at\t " << (double)(fCycleTime/cYear) << " year" << endl;
+	WARNING	 <<  " All Separated Fuel go directly to WASTE after cooling !! " << endl;
 
 
 }
@@ -68,7 +68,7 @@ void SeparationPlant::SetBackEndDestination(CLASSBackEnd* storagedestination, Is
 	fDestinationStorageIV.push_back(isotopicvector);
 
 	if (fDestinationStorage.size() != fDestinationStorageIV.size())
-	ERROR	<< " fDestinationStorage.size() != fDestinationStorageIV.size() !! " << endl;
+	ERROR	 <<  " fDestinationStorage.size() != fDestinationStorageIV.size() !! " << endl;
 
 	DBGL
 
@@ -83,9 +83,9 @@ DBGL
 	{
 		cSecond CurrentTime = GetParc()->GetAbsoluteTime();
 
-		DBGV( "Separation..." <<endl);
-		DBGV( "Current Time : " << CurrentTime <<endl);
-		DBGV( "IV Separation Time : " << fDestinationStorageStartingTime[fds] <<endl);
+		DBGV( "Separation..."  << endl);
+		DBGV( "Current Time : " << CurrentTime  << endl);
+		DBGV( "IV Separation Time : " << fDestinationStorageStartingTime[fds]  << endl);
 
 		if(CurrentTime >= fDestinationStorageStartingTime[fds])
 		{
diff --git a/source/branches/BaM_Dev/src/XSModel.cxx b/source/branches/BaM_Dev/src/XSModel.cxx
index dd601be77d42373da0a009478cd60f9e339f7d6e..aac8c02a15e13daf4259035a66aedc0c9c95453e 100644
--- a/source/branches/BaM_Dev/src/XSModel.cxx
+++ b/source/branches/BaM_Dev/src/XSModel.cxx
@@ -184,12 +184,12 @@ bool XSModel::isIVInDomain(IsotopicVector IV)
 			{
 				IsInDomain = false;
 				
-				WARNING<<"Fresh fuel out of model range"<<endl;
-				WARNING<<"\t AT LEAST this ZAI is accused to be outrange :"<<endl;
-				WARNING<<"\t\t"<<Domain_it->first.Z()<<" "<<Domain_it->first.A()<<" "<<Domain_it->first.I()<<endl;
-				WARNING<<"\t\t min="<<ThatZAIMin<<" value="<<ThatZAIProp<<" max="<<ThatZAIMax<<endl;
-				WARNING<<"\t IV accused :"<<endl<<endl;
-				WARNING<<IVNorm.sPrint()<<endl;
+				WARNING << "Fresh fuel out of model range" << endl;
+				WARNING << "\t AT LEAST this ZAI is accused to be outrange :" << endl;
+				WARNING << "\t\t" << Domain_it->first.Z() << " " << Domain_it->first.A() << " " << Domain_it->first.I() << endl;
+				WARNING << "\t\t min=" << ThatZAIMin << " value=" << ThatZAIProp << " max=" << ThatZAIMax << endl;
+				WARNING << "\t IV accused :" << endl << endl;
+				WARNING << IVNorm.sPrint() << endl;
 				break;
 			}
 		}
diff --git a/source/branches/BaM_Dev/src/ZAIHeat.cxx b/source/branches/BaM_Dev/src/ZAIHeat.cxx
index 72b1ea6636e801a4b2edaefecf239c02308466f1..c51335af127fd79f011022693c5151e53d8a8369 100644
--- a/source/branches/BaM_Dev/src/ZAIHeat.cxx
+++ b/source/branches/BaM_Dev/src/ZAIHeat.cxx
@@ -48,7 +48,7 @@ ZAIHeat::ZAIHeat()
 		string line;
 		stringstream ossline;
 		getline(infile, line);
-		ossline<<line;
+		ossline << line;
 		
 		if(StringLine::IsDouble(line.substr(0,1))) //else is a comment
 		{	ossline>>Z>>A>>I>>WperBq>>SvperBq;
diff --git a/source/branches/BaM_Dev/src/ZAITox.cxx b/source/branches/BaM_Dev/src/ZAITox.cxx
index 05dcba41e44cf110d33a1a6bd12a93cce796bdac..dc90c1f2191203d1acc9365e811ab0d48d948d11 100644
--- a/source/branches/BaM_Dev/src/ZAITox.cxx
+++ b/source/branches/BaM_Dev/src/ZAITox.cxx
@@ -48,7 +48,7 @@ ZAITox::ZAITox()
 		string line;
 		stringstream ossline;
 		getline(infile, line);
-		ossline<<line;
+		ossline << line;
 		
 		if(StringLine::IsDouble(line.substr(0,1))) //else is a comment
 		{	ossline>>Z>>A>>I>>WperBq>>SvperBq;