MURE
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
FPDistribution.hxx
Go to the documentation of this file.
1 #ifndef _FPDistribution_
2 #define _FPDistribution_
3 #include<fstream>
4 #include<string>
5 #include<vector>
6 #include<map>
7 #include "MureHeaders.hxx"
8 
14 using namespace std;
15 
17 
25 class FPRecord
26 {
27  public:
29 
33  FPRecord(unsigned Rec,short NE);
35 
39  void Add(double E, unsigned Rec);
40 
41  int GetNE(){return fNE;}
42  double GetE(int i){return fE[i];}
43  unsigned GetERecord(int i){return fEStartRec[i];}
44  unsigned GetStartRecord(){return fStartRecord;}
45 
46  private:
47  unsigned fStartRecord;
48  short int fNE;
49  vector<double> fE;
50  vector<unsigned> fEStartRec;
51 };
52 
53 
55 
69 {
70  public:
72 
76  FPDistribution(int Z, int A);
77  ~FPDistribution();
78 
85  void Add(int Z,int A,int I, double Yield);
86  void Add(FissionProduct FP);
87  double Yield(int i){return fYield[i];}
88  ZAI* GetZAI(int i){return fZAI[i];}
89  int GetNFP(){return fNFP;}
90  void ReadYield(double E);
91  void FindClosestZA();
92  bool FindZA(int Z,int A,int SF);
93  void SetSpontaneousFission(int SF){fSF=SF;}
94  void SetASCIIFileName(string name="FPavailable.dat"){fASCIIFileName=name;}
95  void SetBinaryFileName(string name="FPyield.bin"){fBinaryFileName=name;}
96 
97  private:
98  void BuildMap();
99  int fZ;
100  int fA;
101  vector<ZAI*> fZAI;
102  vector<double> fYield;
103  int fSF;
104  int fNFP;
105  string fASCIIFileName;
107  map<int,map<int,map<int,FPRecord*> > > fAvaillableFP;
108 
109 };
110 #endif
void SetASCIIFileName(string name="FPavailable.dat")
set ASCII file
Definition: FPDistribution.hxx:94
void SetBinaryFileName(string name="FPyield.bin")
set Binary file
Definition: FPDistribution.hxx:95
vector< double > fYield
vector of yield for each FP
Definition: FPDistribution.hxx:102
A &quot;vector&quot; of FPDistribution.
Definition: FPDistribution.hxx:68
vector< double > fE
Energy array for FP yields for the fissile.
Definition: FPDistribution.hxx:49
int fA
Nucleon number of the fissile.
Definition: FPDistribution.hxx:100
int GetNFP()
returns the number of FP
Definition: FPDistribution.hxx:89
unsigned GetERecord(int i)
starting record in binary file of FP yields for Energy i
Definition: FPDistribution.hxx:43
unsigned fStartRecord
starting record in binary file of FP yields
Definition: FPDistribution.hxx:47
int fZ
Proton number of the fissile.
Definition: FPDistribution.hxx:99
string fBinaryFileName
binary file where data (FP and yields) are stored
Definition: FPDistribution.hxx:106
ZAI * GetZAI(int i)
returns the ith FP&#39;s ZAI
Definition: FPDistribution.hxx:88
File including all headers.
short int fNE
Number of available Energy for FP yields for the fissile.
Definition: FPDistribution.hxx:48
string fASCIIFileName
ASCII file where access data to binary file are stored.
Definition: FPDistribution.hxx:105
int fNFP
Number of FP (fZAI.size())
Definition: FPDistribution.hxx:104
A ZAI defined a (Z,A,Isomere) for a Nucleus.
Definition: ZAI.hxx:62
int fSF
1 for Spontaneous Fission, 0 else
Definition: FPDistribution.hxx:103
double Yield(int i)
returns the yield for the ith FP
Definition: FPDistribution.hxx:87
vector< unsigned > fEStartRec
starting record in binary file of FP yields
Definition: FPDistribution.hxx:50
unsigned GetStartRecord()
starting record in binary file of FP yields
Definition: FPDistribution.hxx:44
A record in the data file where Fission Product are define.
Definition: FPDistribution.hxx:25
double GetE(int i)
Energy array for FP yields for the fissile.
Definition: FPDistribution.hxx:42
vector< ZAI * > fZAI
vector of FP
Definition: FPDistribution.hxx:101
void SetSpontaneousFission(int SF)
Say that the Spontaneous fission is requiered.
Definition: FPDistribution.hxx:93
int GetNE()
Number of available Energy for FP yields for the fissile.
Definition: FPDistribution.hxx:41
map< int, map< int, map< int, FPRecord * > > > fAvaillableFP
map of availlable fissionable species
Definition: FPDistribution.hxx:107
A FissionProduct Nucleus.
Definition: FissionProduct.hxx:21

MURE Project, documentation generated by Doxygen 1.8.5 - Mon Nov 17 2014