MURE
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
FPDistribution Class Reference

A distributio of Fission Products. More...

#include <FPDistribution.hxx>

Public Member Functions

 FPDistribution (int Z, int A, int I=0)
 Normal Constructor.
 
 ~FPDistribution ()
 Add a new FP to the FPs list with given yield.
 
void Add (int Z, int A, int I, double Yield)
 
void Add (FissionProduct FP)
 Add a new FP to the FPs list.
 
vector< double > GetEnergyGroups ()
 
double Yield (int i)
 
ZAIGetZAI (int i)
 
int GetNFP ()
 
int GetNZAI ()
 
void ReadYield (double E)
 read the FP Yield for the (closest of) E fission energy
 
void ReadYield (int Ebin)
 
void FindClosestZA ()
 Find the closest fissile available.
 
bool FindZA (int Z, int A, int I, int SF)
 returns true if the fissionable species Z,A is availlable
 
void SetSpontaneousFission (int SF)
 
void SetASCIIFileName (string name="FPavailable.dat")
 
void SetBinaryFileName (string name="FPyield.bin")
 
void BuildMap ()
 Fill a map of availlable fissionable species.
 

Private Member Functions

void ReadYieldFromRecord (unsigned rec)
 
int FindZAIinVector (int aZ, int aA, int aI)
 
void DeleteYields ()
 

Private Attributes

int fZ
 Proton number of the fissile.
 
int fA
 Nucleon number of the fissile.
 
int fI
 isomeric state of the fissile
 
vector< ZAI * > fZAI
 vector of FP
 
vector< double > fYield
 vector of yield for each FP
 
vector< double > fE
 vector of energy groups
 
int fSF
 1 for Spontaneous Fission, 0 else
 
int fNFP
 Number of FP (fZAI.size())
 
string fASCIIFileName
 ASCII file where access data to binary file are stored.
 
string fBinaryFileName
 binary file where data (FP and yields) are stored
 
map< int, map< int, map< int, map< int, FPRecord * > > > > fAvaillableFP
 map of availlable fissionable species
 
bool fIsMapBuild
 

Detailed Description

A distributio of Fission Products.

It contains a vector of ZAI* and the one to one correspondant vector yield for each ZAI. The data are extracted from ENDF file (endfb6-y.asc for the default data of MURE) and stored in binary in a file (the name of this file is set by SetBinaryFileName() method, default being FPYield.bin). In order to find quickly the wanted yield in this file, an ascii file (the name of this file is set by SetASCIIFileName() method, default being FPavailable.dat) stores for each fissionable species (either induced fission or spontaneous fission) the position of record in the binary file. The MURE/Evo/FP/GenerateFPYield.C create these 2 files (FPavailable.dat and FPYield.bin) providing the ENDF file (endfb6-y.asc has been used for MURE default).

Author
PTO
Version
0.1

Constructor & Destructor Documentation

◆ FPDistribution()

FPDistribution::FPDistribution ( int  Z,
int  A,
int  I = 0 
)

Normal Constructor.

Parameters
Z: number of protons of the fissile nucleus
A: number of nucleons of the fissile nucleus
I: isomeric state of the fissile nucleus

◆ ~FPDistribution()

FPDistribution::~FPDistribution ( )

Add a new FP to the FPs list with given yield.

normal destructor

Member Function Documentation

◆ Add() [1/2]

void FPDistribution::Add ( FissionProduct  FP)

Add a new FP to the FPs list.

◆ Add() [2/2]

void FPDistribution::Add ( int  Z,
int  A,
int  I,
double  Yield 
)
Parameters
Z: number of protons of FP
A: number of nucleons (A=0 means natural isotopes) of FP
I: Isomeric state (0=ground state, 1 =first excited, ...)
Yield: production of this FP for a given fissil isotope

◆ BuildMap()

void FPDistribution::BuildMap ( )

Fill a map of availlable fissionable species.

◆ DeleteYields()

void FPDistribution::DeleteYields ( )
private

◆ FindClosestZA()

void FPDistribution::FindClosestZA ( )

Find the closest fissile available.

◆ FindZA()

bool FPDistribution::FindZA ( int  Z,
int  A,
int  I,
int  SF 
)

returns true if the fissionable species Z,A is availlable

◆ FindZAIinVector()

int FPDistribution::FindZAIinVector ( int  aZ,
int  aA,
int  aI 
)
private

◆ GetEnergyGroups()

vector< double > FPDistribution::GetEnergyGroups ( )

◆ GetNFP()

int FPDistribution::GetNFP ( )
inline

< returns the number of FP

◆ GetNZAI()

int FPDistribution::GetNZAI ( )
inline

< returns the number of FP if some of them have been removed

◆ GetZAI()

ZAI * FPDistribution::GetZAI ( int  i)
inline

< returns the ith FP's ZAI

◆ ReadYield() [1/2]

void FPDistribution::ReadYield ( double  E)

read the FP Yield for the (closest of) E fission energy

◆ ReadYield() [2/2]

void FPDistribution::ReadYield ( int  Ebin)

◆ ReadYieldFromRecord()

void FPDistribution::ReadYieldFromRecord ( unsigned  rec)
private

◆ SetASCIIFileName()

void FPDistribution::SetASCIIFileName ( string  name = "FPavailable.dat")
inline

< set ASCII file

◆ SetBinaryFileName()

void FPDistribution::SetBinaryFileName ( string  name = "FPyield.bin")
inline

< set Binary file

◆ SetSpontaneousFission()

void FPDistribution::SetSpontaneousFission ( int  SF)
inline

< Say that the Spontaneous fission is requiered

◆ Yield()

double FPDistribution::Yield ( int  i)
inline

< returns the yield for the ith FP

Member Data Documentation

◆ fA

int FPDistribution::fA
private

Nucleon number of the fissile.

◆ fASCIIFileName

string FPDistribution::fASCIIFileName
private

ASCII file where access data to binary file are stored.

◆ fAvaillableFP

map<int, map<int, map<int, map<int, FPRecord *> > > > FPDistribution::fAvaillableFP
private

map of availlable fissionable species

◆ fBinaryFileName

string FPDistribution::fBinaryFileName
private

binary file where data (FP and yields) are stored

◆ fE

vector<double> FPDistribution::fE
private

vector of energy groups

◆ fI

int FPDistribution::fI
private

isomeric state of the fissile

◆ fIsMapBuild

bool FPDistribution::fIsMapBuild
private

◆ fNFP

int FPDistribution::fNFP
private

Number of FP (fZAI.size())

◆ fSF

int FPDistribution::fSF
private

1 for Spontaneous Fission, 0 else

◆ fYield

vector<double> FPDistribution::fYield
private

vector of yield for each FP

◆ fZ

int FPDistribution::fZ
private

Proton number of the fissile.

◆ fZAI

vector<ZAI *> FPDistribution::fZAI
private

vector of FP


The documentation for this class was generated from the following files:

MURE Project, documentation generated by Doxygen 1.9.7 - Fri Jan 19 2024