Creation of a Physics Model » EQM_CANDU2.hxx
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 |
|