Project

General

Profile

Creation of a Physics Model » EQM_CANDU2.hxx

The include file for the equivalence model - Alderete Tommasi Francisco Martin, 01/22/2016 11:21 AM

 
1
#ifndef _EQM_CANDU2_HXX
2
#define _EQM_CANDU2_HXX
3

    
4
#include "EquivalenceModel.hxx"
5
#include "TTree.h"
6

    
7
using namespace std;
8

    
9
//-----------------------------------------------------------------------------//
10
//! Defines an EquivalenceModel based on neural network
11

    
12
/*!
13
 The aim of these class is to constuct a fuel from an equivalence model
14
 based on a  Multi layer perceptron
15

    
16
 @author BLG
17
 @version 3.0
18
 */
19
//________________________________________________________________________
20

    
21
class EQM_CANDU2 : public EquivalenceModel
22
{
23
	public :
24
	/*!
25
	 \name Constructor
26
	 */
27
	//@{
28
	
29
	//{
30
	/// normal constructor
31
	/*!
32
	 Create a EQM_PWR_MLP_MOX 
33
	 \param  TMVAWeightPath :  PAth to the .xml file containing neural network informations : PATH/TMVAWeight.xml (total path to tmva weight)
34
	 */
35
	EQM_CANDU2(string TMVAWeightPath);
36
	//}
37
	
38
	//{
39
	/// Logger constructor
40
	/*!
41
	 Create a EQM_PWR_MLP_MOX
42
	 \param log : use for log
43
	 \param  TMVAWeightPath :  PAth to the .xml file containing neural network informations : PATH/TMVAWeight.xml (total path to tmva weight)
44
	 */
45
	EQM_CANDU2(CLASSLogger* log, string TMVAWeightPath);
46
	//}
47
	//@}
48
	
49
	//{
50
	/// Return the molar fissile fraction according fissile & ferile content using a Multi Layer Peceptron (MLP)
51
	/*!
52
	 \param Fissil : The composition of the fissile matter
53
	 \param Fertil : The composition of the Fertil matter
54
	 \param BurnUp : Maximum achievable burn up envisaged
55
	 */
56
	virtual double GetFissileMolarFraction(IsotopicVector Fissil,IsotopicVector Fertil,double BurnUp);
57
	//}
58
	
59
	/*!
60
	 \name TMVA related methods
61
	 */
62
	//@{
63

    
64
		TTree* CreateTMVAInputTree(IsotopicVector Fissil,IsotopicVector Fertil,double BurnUp);//!<Create input tmva tree to be read by ExecuteTMVA
65
		double ExecuteTMVA(TTree* theTree);//!<Execute the MLP according to the input tree created by CreateTMVAInputTree
66
		
67
	//@}	
68

    
69
	private :
70

    
71

    
72
	string fTMVAWeightPath;;//!<The weight needed by TMVA to construct and execute the multilayer perceptron
73

    
74
};
75

    
76
#endif
77

    
(4-4/6)