From efba70903d04971c861f187732e4b4f6faf81e38 Mon Sep 17 00:00:00 2001
From: Baptiste Mouginot <mouginot.baptiste@gmail.com>
Date: Wed, 17 Sep 2014 13:25:20 +0000
Subject: [PATCH] del THU/PU

git-svn-id: svn+ssh://svn.in2p3.fr/class@385 0e7d625b-0364-4367-a6be-d5be4a48d228
---
 .../include/PWR_THPU_FabricationPlant.hxx     |  45 ------
 .../include/PWR_THU_FabricationPlant.hxx      |  46 ------
 source/branches/CLASSV3/include/Scenario.hxx  |   7 +-
 .../CLASSV3/include/SeparationPlant.hxx       | 152 ++++++++++++++++++
 4 files changed, 158 insertions(+), 92 deletions(-)
 delete mode 100644 source/branches/CLASSV3/include/PWR_THPU_FabricationPlant.hxx
 delete mode 100644 source/branches/CLASSV3/include/PWR_THU_FabricationPlant.hxx
 create mode 100644 source/branches/CLASSV3/include/SeparationPlant.hxx

diff --git a/source/branches/CLASSV3/include/PWR_THPU_FabricationPlant.hxx b/source/branches/CLASSV3/include/PWR_THPU_FabricationPlant.hxx
deleted file mode 100644
index 428e367a2..000000000
--- a/source/branches/CLASSV3/include/PWR_THPU_FabricationPlant.hxx
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef __PWR_THPU_FabricationPlant_HXX__
-#define __PWR_THPU_FabricationPlant_HXX__
-
-/*!
- \file 
- \brief Header file for FabricationPlant class.
-
- The aim of the Class is to manage evolution of FabricationPlant
-
- 
- @author BaM, Marc
- @version 2.0
- */
-
-
-
-#include <vector>
-#include <map>
-
-#include "FabricationPlant.hxx"
-
-using namespace std;
-typedef long long int cSecond;
-
-class PWR_THPU_FabricationPlant : public FabricationPlant
-{
-	//on utilise les constructeur de la classe FabricationPlant
-	// dans le code :MyFabricationPlant *FP_MOX = new FabricationPlant(gCLASS.GetLog(),Stock, ReUsable);
-	//on a besoin de surcherger le constructeur que si
-public :
-	PWR_THPU_FabricationPlant();
-	PWR_THPU_FabricationPlant(CLASSLogger* log);
-	
-	PWR_THPU_FabricationPlant(CLASSLogger* log, Storage* storage, Storage* reusable, double fabricationtime = 365.25*24*3600*2);
-	///< Normal Destructor.
-	~PWR_THPU_FabricationPlant();
-	
-	void	BuildFuelForReactor(int ReactorId);			//obligatoire, c'est un peu la base
-protected :
-//********* Private Method *********//
-// mettre ici les méthodes dont on a besoin dans sa fonction BuildFuelForReactor perso
-
-};
-
-#endif
diff --git a/source/branches/CLASSV3/include/PWR_THU_FabricationPlant.hxx b/source/branches/CLASSV3/include/PWR_THU_FabricationPlant.hxx
deleted file mode 100644
index 2698854ab..000000000
--- a/source/branches/CLASSV3/include/PWR_THU_FabricationPlant.hxx
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef __PWR_THU_FabricationPlant_HXX__
-#define __PWR_THU_FabricationPlant_HXX__
-
-/*!
- \file 
- \brief Header file for FabricationPlant class.
-
- The aim of the Class is to manage evolution of FabricationPlant
-
- 
- @author BaM, Marc
- @version 2.0
- */
-
-
-
-#include <vector>
-#include <map>
-
-#include "FabricationPlant.hxx"
-
-
-using namespace std;
-typedef long long int cSecond;
-
-class PWR_THU_FabricationPlant : public FabricationPlant
-{
-	//on utilise les constructeur de la classe FabricationPlant
-	// dans le code :MyFabricationPlant *FP_MOX = new FabricationPlant(gCLASS.GetLog(),Stock, ReUsable);
-	//on a besoin de surcherger le constructeur que si
-public :
-	PWR_THU_FabricationPlant();
-	PWR_THU_FabricationPlant(CLASSLogger* log);
-	
-	PWR_THU_FabricationPlant(CLASSLogger* log, Storage* storage, Storage* reusable, double fabricationtime = 365.25*24*3600*2);
-	///< Normal Destructor.
-	~PWR_THU_FabricationPlant();
-	
-	void	BuildFuelForReactor(int ReactorId);			//obligatoire, c'est un peu la base
-protected :
-//********* Private Method *********//
-// mettre ici les méthodes dont on a besoin dans sa fonction BuildFuelForReactor perso
-
-};
-
-#endif
diff --git a/source/branches/CLASSV3/include/Scenario.hxx b/source/branches/CLASSV3/include/Scenario.hxx
index a90bfcfd6..bd7511f43 100755
--- a/source/branches/CLASSV3/include/Scenario.hxx
+++ b/source/branches/CLASSV3/include/Scenario.hxx
@@ -156,11 +156,15 @@ public :
 	 */
 	//@{
 
-	void	AddPool(Pool* Pool);						///< Add A TF to the Park
+	void	AddPool(Pool* Pool);						///< Add a Pool to the Park
 	void	AddReactor(Reactor* reactor);					///< Add a Reactor to the Park 
 	void 	AddStorage(Storage* storage);					///< Add a Storage to the Park
 	void 	AddFabricationPlant(FabricationPlant* fabricationplant);	///< Add a Storage to the Park
 	
+	void	Add(Pool* Pool)					{AddPool(Pool);}	///< Add a Pool to the Park
+	void	Add(Reactor* reactor)				{AddReactor(reactor);}	///< Add a Reactor to the Park
+	void 	Add(Storage* storage)				{AddStorage(storage);}	///< Add a Storage to the Park
+	void 	Add(FabricationPlant* fabricationplant)		{AddFabricationPlant(fabricationplant);}///< Add a Storage to the Park
 
 	//@}
 
@@ -250,6 +254,7 @@ protected :
 	vector<Pool*>			fPool;			///< Vector of Pool
 	vector<Reactor*>		fReactor;		///< Vector of Reactor
 	vector<FabricationPlant*>	fFabricationPlant;	///< Vector of FabricationPlant
+	vector<SeparationPlant*>	fSeparationPlant;	///< Vector of FabricationPlant
 	DecayDataBank*			fDecayDataBase;		//!< Pointer to the Decay DataBase
 
 	
diff --git a/source/branches/CLASSV3/include/SeparationPlant.hxx b/source/branches/CLASSV3/include/SeparationPlant.hxx
new file mode 100644
index 000000000..8de81f287
--- /dev/null
+++ b/source/branches/CLASSV3/include/SeparationPlant.hxx
@@ -0,0 +1,152 @@
+#ifndef __SeparationPlant_HXX__
+#define __SeparationPlant_HXX__
+/*!
+ \file
+ \brief Header file for SeparationPlant class.
+ */
+
+#include <string>
+#include <map>
+
+#include "CLASSBackEnd.hxx"
+#include "Storage.hxx"
+#include "IsotopicVector.hxx"
+
+using namespace std;
+typedef long long int cSecond;
+
+class CLASSBackEnd;
+class CLASSLogger;
+class DecayDataBank;
+
+//-----------------------------------------------------------------------------//
+/*!
+ Define a SeparationPlant.
+ The aim of the Class is to separate an IV into several IV (MA, Pu, PF, etc...) and to send it to corresponding storage 
+
+ @author NT
+ @version 1.0
+ */
+//________________________________________________________________________
+
+
+
+class SeparationPlant : public CLASSBackEnd
+{
+public :
+
+
+//********* Constructor/Destructor Method *********//
+
+	/*!
+	 \name Constructor/Desctructor
+	 */
+	//@{
+	
+	SeparationPlant();				///< Normal Constructor.
+
+	//{
+	/// Special Constructor.
+	/*!
+	 Make a new SeparationPlant
+	 \param Log CLASSLogger used for the log...
+	 \param separationtime duration of the SeparationPlant
+	 */
+	SeparationPlant(CLASSLogger* Log, cSecond separationtime = 0. *3600.*24.*365.25); //!<
+	//}
+
+
+
+	~SeparationPlant();	///< Normal Destructor.
+	//@}
+
+
+
+
+//********* Set Method *********//
+
+	/*!
+	 \name Set Method
+	 */
+	//@{
+
+
+	void SetStorageDestination(CLASSBackEnd*  storagedestination, IsotopicVector isotopicvector, cSecond destinationstartingtime);
+
+	void AddIV(IsotopicVector IV);
+
+	void SetPutToWaste(bool val)		{ fPutToWaste = val; }		//!< Set True if IV goes to waste after cooling false instead
+
+
+	using CLASSBackEnd::SetName;
+
+	//@}
+
+
+
+
+//********* Get Method *********//
+
+	/*!
+	 \name Get Method
+	 */
+	//@{
+
+	bool		GetPutToWaste()	const	{ return fPutToWaste; }		//!< Return True if IV goes to waste after cooling false instead
+
+	//@}
+
+
+
+
+//********* IsotopicVector Managment Method *********//
+
+	/*!
+	 \name IsotopicVector Managment Method
+	 */
+	//@{
+
+	vector<cSecond>	GetCoolingStartingTime() const
+						{ return GetIVArrayArrivalTime(); }	//!< Return the vector of Cooling Sstarting Time
+	//@}
+
+
+
+
+//********* Other Method *********//
+
+	//@}
+	/*!
+	 \name Other Method
+	 */
+	//@{
+
+	
+	//@}
+
+protected :
+	
+	
+	
+//********* Internal Parameter *********//
+	bool			fPutToWaste;	//!< True if IV goes to waste after cooling false instead
+	vector<CLASSBackEnd* > 	fDestinationStorage;	//!< Vector containing destination storage of the IV in the Separation Plant
+	vector<IsotopicVector >	fDestinationStorageIV;	//!< Vector containing destination storage of the IV in the Separation Plant
+	vector<cSecond>			fDestinationStorageStartingTime; 	//!< Vector containing destination storage starting time of the IV in the Separation Plant
+
+//********* Isotopic Quantity *********//
+//--------- Cooling ---------//
+	vector<int>		fCoolingIndex;		///< Vector of the Cooling Index
+	int			fCoolingLastIndex;	//!< Number of Cooling IV Treated
+	vector<int>		fCoolingEndOfCycle;	//!< Index of the Cooling IV reaching the End of a Cooling Cycle
+
+
+//********* Private Method *********//
+
+
+
+
+	ClassDef(SeparationPlant,3);
+};
+
+#endif
-- 
GitLab