![]() |
ENSDF++ 1.1
An easy, fast and simple way to run querys towards the ENSDF database, written in C++.
|
InterestingDecay for the DataQueryBetaGamma class. More...
#include <InterestingDecayBetaGamma.h>
Public Member Functions | |
InterestingDecayBetaGamma (vector< vector< double > > finalAdjacencyMatrix, vector< LevelRecord * > Levels, list< BetaRecordWrapper * > Betas, Nukleid nukleid, MassObject parent, MassObject child) | |
Constructor. | |
~InterestingDecayBetaGamma () | |
Destructor. | |
string | toString (double betaFilter=0, double gammaFilter=0) const |
Get a string containing information about all beta decays stronger than betaFilter and all gamma decays stronger than gammaFilter that were found in one iteration in the DataQueryBetaGamma. | |
string | toGammaString (double gammaFilter=0) const |
Get a string containing only the parent nucleid and the gamma energy emitted for all gamma decays stronger than gammaFilter in one iteration of the DataQueryBetaGamma. | |
string | toChartString (double gammaFilter=0) const |
Get a string containing only the parent nucleid and the gamma energy emitted for all gamma decays stronger than gammaFilter in one iteration of the DataQueryBetaGamma. | |
string | toTexString (double gammaFilter=0) const |
Get a string containing only the parent nucleid and the gamma energy emitted for all gamma decays stronger than gammaFilter in one iteration of the DataQueryBetaGamma. | |
list< BetaRecordWrapper * > | getBetaDecays () |
Get the Beta decays associated with the InterestingDecayBetaGamma object. | |
Protected Attributes | |
vector< vector< double > > | myFinalAdjacencyMatrix |
The adjacency matrix for gamma levels. | |
vector< LevelRecord * > | myLevels |
The LevelRecords. | |
list< BetaRecordWrapper * > | myBetas |
The Beta records. | |
MassObject | myParent |
The parent mass object (used for beta Q value computations). | |
MassObject | myChild |
The child mass object (used for beta Q value computations). |
InterestingDecay for the DataQueryBetaGamma class.
Definition at line 46 of file InterestingDecayBetaGamma.h.
InterestingDecayBetaGamma::InterestingDecayBetaGamma | ( | vector< vector< double > > | finalAdjacencyMatrix, |
vector< LevelRecord * > | Levels, | ||
list< BetaRecordWrapper * > | Betas, | ||
Nukleid | nukleid, | ||
MassObject | parent, | ||
MassObject | child | ||
) |
Constructor.
finalAdjacencyMatrix | The adjacency matrix for the gamma levels. |
Levels | The level records corresponding to this adjacency matrix. |
Betas | The beta records for this interesting decay. |
nukleid | The Nukleid object for this interesting decay. |
parent | The parent mass object (used for beta Q value computations). |
child | The child object (used for beta Q value computations). |
Definition at line 3 of file InterestingDecayBetaGamma.cpp.
References myBetas, myChild, myFinalAdjacencyMatrix, myLevels, and myParent.
:InterestingDecay(nukleid) { myBetas = Betas; myLevels = Levels; myFinalAdjacencyMatrix = finalAdjacencyMatrix; myParent = parent; myChild = child; }
list< BetaRecordWrapper * > InterestingDecayBetaGamma::getBetaDecays | ( | ) |
Get the Beta decays associated with the InterestingDecayBetaGamma object.
Definition at line 18 of file InterestingDecayBetaGamma.cpp.
References myBetas.
{ return myBetas; }
string InterestingDecayBetaGamma::toChartString | ( | double | gammaFilter = 0 | ) | const |
Get a string containing only the parent nucleid and the gamma energy emitted for all gamma decays stronger than gammaFilter in one iteration of the DataQueryBetaGamma.
gammaFilter | Sets the filter level for the gamma decays. |
Definition at line 23 of file InterestingDecayBetaGamma.cpp.
References Nukleid::getA(), Nukleid::getElement(), InterestingDecay::getNukleid(), Nukleid::getZ(), myFinalAdjacencyMatrix, myLevels, and NULL.
{ stringstream ss; for(unsigned int i = 1; i<myFinalAdjacencyMatrix.size(); i++) { if(myLevels[i-1]==NULL) throw DataFileException("NULL level detected in string creator function."); for(unsigned int j = i; j<myFinalAdjacencyMatrix.size(); j++) { if(myFinalAdjacencyMatrix[i][j]*100>=gammaFilter) { if(myLevels[i-1]->getEnergy()-myLevels[j-1]->getEnergy()>1E-3) ss << getNukleid().getZ() << " " << getNukleid().getA() << " " << getNukleid().getElement() << endl; } } } return ss.str(); }
string InterestingDecayBetaGamma::toGammaString | ( | double | gammaFilter = 0 | ) | const |
Get a string containing only the parent nucleid and the gamma energy emitted for all gamma decays stronger than gammaFilter in one iteration of the DataQueryBetaGamma.
gammaFilter | Sets the filter level for the gamma decays. |
Definition at line 63 of file InterestingDecayBetaGamma.cpp.
References Nukleid::getA(), InterestingDecay::getNukleid(), Nukleid::getZ(), myFinalAdjacencyMatrix, myLevels, and NULL.
{ stringstream ss; for(unsigned int i = 1; i<myFinalAdjacencyMatrix.size(); i++) { if(myLevels[i-1]==NULL) throw DataFileException("NULL level detected in string creator function."); for(unsigned int j = i; j<myFinalAdjacencyMatrix.size(); j++) { if(myFinalAdjacencyMatrix[i][j]*100>=gammaFilter) { if(myLevels[i-1]->getEnergy()-myLevels[j-1]->getEnergy()>1E-3) ss << getNukleid().getA() << " " << getNukleid().getZ() << " " << myLevels[i-1]->getEnergy()-myLevels[j-1]->getEnergy() << " " << myFinalAdjacencyMatrix[i][j]*100 << endl; } } } return ss.str(); }
string InterestingDecayBetaGamma::toString | ( | double | betaFilter = 0 , |
double | gammaFilter = 0 |
||
) | const |
Get a string containing information about all beta decays stronger than betaFilter and all gamma decays stronger than gammaFilter that were found in one iteration in the DataQueryBetaGamma.
betaFilter | Sets the filter level for the beta decays. |
gammaFilter | Sets the filter level for the gamma decays. |
Definition at line 82 of file InterestingDecayBetaGamma.cpp.
References ELECTRONMASS, MassObject::getMassExcess(), InterestingDecay::getNukleid(), myBetas, myChild, myFinalAdjacencyMatrix, myLevels, myParent, Nukleid::toString(), and ExperimentalValue::value.
{ stringstream ss; double QValue = 0; for(list<BetaRecordWrapper *>::const_iterator it = myBetas.begin(); it!=myBetas.end(); it++) { if((*it)->getIntensityOfBetaDecayBranch()>=betaFilter) { if(dynamic_cast<BetaMinusRecord *>(*it)) { QValue = myParent.getMassExcess().value-myChild.getMassExcess().value; ss << "B-: "; } else { QValue = myParent.getMassExcess().value-myChild.getMassExcess().value-2*ELECTRONMASS; ss << "B+: "; } ss << getNukleid().toString(); ss << " with Q-value: " << QValue << " keV, Half-life: " << (*it)->getParentRecord()->getHalfLife() << " s, Branch-strength: " << (*it)->getIntensityOfBetaDecayBranch() << " %, Ground-state energy : " << (*it)->getLevelRecord()->getEnergy() << " keV" << endl; } } if(myLevels.size()!=myFinalAdjacencyMatrix.size()-1) throw DataFileException("Wrong number of levels."); for(unsigned int i = 1; i<myFinalAdjacencyMatrix.size(); i++) { for(unsigned int j = i; j<myFinalAdjacencyMatrix.size(); j++) { if(myFinalAdjacencyMatrix[i][j]*100>=gammaFilter) { ss << "G: Probability: " << myFinalAdjacencyMatrix[i][j]*100 << "%, Energy: " << myLevels[i-1]->getEnergy()-myLevels[j-1]->getEnergy() << " keV, Energy of start level: " << myLevels[i-1]->getEnergy() << "keV." << endl; } } } return ss.str(); }
string InterestingDecayBetaGamma::toTexString | ( | double | gammaFilter = 0 | ) | const |
Get a string containing only the parent nucleid and the gamma energy emitted for all gamma decays stronger than gammaFilter in one iteration of the DataQueryBetaGamma.
gammaFilter | Sets the filter level for the gamma decays. |
Definition at line 43 of file InterestingDecayBetaGamma.cpp.
References Nukleid::getA(), Nukleid::getElement(), InterestingDecay::getNukleid(), Nukleid::getZ(), myBetas, myFinalAdjacencyMatrix, myLevels, and NULL.
{ stringstream ss; for(unsigned int i = 1; i<myFinalAdjacencyMatrix.size(); i++) { if(myLevels[i-1]==NULL) throw DataFileException("NULL level detected in string creator function."); for(unsigned int j = i; j<myFinalAdjacencyMatrix.size(); j++) { if(myFinalAdjacencyMatrix[i][j]*100>=gammaFilter) { if(myLevels[i-1]->getEnergy()-myLevels[j-1]->getEnergy()>1E-3) ss << getNukleid().getA() << " " << getNukleid().getZ() << " " << getNukleid().getElement() << " " << myLevels[i-1]->getEnergy()-myLevels[j-1]->getEnergy() << " " << myFinalAdjacencyMatrix[i][j]*100 << " " << myBetas.front()->getParentRecord()->getHalfLife()*1000 << endl; } } } return ss.str(); }
vector<vector<double> > InterestingDecayBetaGamma::myFinalAdjacencyMatrix [protected] |
The adjacency matrix for gamma levels.
Definition at line 77 of file InterestingDecayBetaGamma.h.
Referenced by InterestingDecayBetaGamma(), toChartString(), toGammaString(), toString(), and toTexString().