1 #ifndef _ISOTOPICVECTOR_ 2 #define _ISOTOPICVECTOR_ 41 typedef std::map<ZAI,double>::iterator
iterator;
78 {
return fIsotopicQuantity; }
80 {
return fIsotopicQuantityNeeded; }
84 vector<ZAI> GetZAIList ()
const;
87 double GetZAIIsotopicQuantity (
const ZAI& zai )
const;
88 double GetZAIIsotopicQuantity (
const int z,
const int a,
const int i)
const;
89 double GetQuantity (
const int z,
const int a,
const int i )
const {
return GetZAIIsotopicQuantity(z,a,i); }
90 double GetQuantity (
const ZAI& zai )
const {
return GetZAIIsotopicQuantity(zai); }
92 void Initiatlize (
double val );
95 double GetTotalMass ()
const;
96 double GetMeanMolarMass ()
const;
98 vector<int> GetChemicalSpecies ()
const;
100 {
return fIsotopicQuantity.size(); }
102 double GetSumOfAll ()
const;
105 {
return fIsotopicQuantity.begin(); }
107 {
return fIsotopicQuantity.begin(); }
109 {
return fIsotopicQuantity.end(); }
111 {
return fIsotopicQuantity.end(); }
131 void Add(
const ZAI& zai,
double quantity);
133 void Add(
const map<ZAI ,double>& quantity);
134 void Add(
int Z,
int A,
int I,
double quantity)
135 { (*this).Add(
ZAI(Z,A,I), quantity); }
136 void Add (
const pair<ZAI,double> & zaiQ ) {
Add( zaiQ.first , zaiQ.second ); }
139 void Need(
const ZAI& zai,
double quantity);
141 void Need(
const map<ZAI ,double>& quantityneeded) { fIsotopicQuantityNeeded = quantityneeded; }
144 void Remove(
const ZAI& zai,
double quantity);
146 void Remove (
const pair<ZAI,double> & zaiQ ) {
Remove( zaiQ.first , zaiQ.second ); }
150 void ApplyZAIThreshold(
int z = 90);
162 void Write(
string filename,
cSecond time = -1 )
const;
164 void Print(
string o =
" ")
const ;
165 string sPrint()
const ;
167 void PrintList(
string o =
" ")
const ;
IsotopicVector operator*(IsotopicVector const &IVA, double F)
Definition: IsotopicVector.cxx:598
double Norme(const IsotopicVector &, int DistanceType=0, const IsotopicVector &DistanceParameter=IsotopicVector())
return the norm of an IV
Definition: IsotopicVector.cxx:705
long long int cSecond
Definition: IsotopicVector.hxx:18
EvolutionData Multiply(EvolutionData const &evol, double F)
Definition: EvolutionData.cxx:119
double Distance(const IsotopicVector &, const IsotopicVector &, int DistanceType=0, const IsotopicVector &DistanceParameter=IsotopicVector())
return weighted euclidean distance between two IV
Definition: IsotopicVector.cxx:657
map< ZAI, double > GetIsotopicQuantity() const
Return the IsotopicVector as a map.
Definition: IsotopicVector.hxx:77
double RelativDistance(const IsotopicVector &, const IsotopicVector &)
return the euclidean distance between two IV. The two IV are normalize to unity
Definition: IsotopicVector.cxx:633
IsotopicVector operator/(IsotopicVector const &IVA, double F)
Definition: IsotopicVector.cxx:622
map< ZAI, double > GetIsotopicQuantityNeeded() const
Return the needed IsotopicVector as a map.
Definition: IsotopicVector.hxx:79
iterator find(const ZAI &zai)
Definition: IsotopicVector.hxx:113
Allows to store & operate on radioactive sample.
Definition: IsotopicVector.hxx:37
double GetQuantity(const int z, const int a, const int i) const
Definition: IsotopicVector.hxx:89
double DistanceAdjusted(const IsotopicVector &, const IsotopicVector &, const IsotopicVector &)
return the weighted euclidean distance between two IV
Definition: IsotopicVector.cxx:688
const_iterator begin() const
Return a constant iterator on the begin of fIsotopicQuantity.
Definition: IsotopicVector.hxx:106
Definition: CLASSBackEndDict.cxx:37
Header file for ZAI classes.
IsotopicVector operator-(IsotopicVector const &IVa, IsotopicVector const &IVb)
Definition: IsotopicVector.cxx:537
std::map< ZAI, double >::const_iterator const_iterator
Definition: IsotopicVector.hxx:40
Defines a nucleus.
Definition: ZAI.hxx:33
iterator end()
Return an iterator on the end of fIsotopicQuantity.
Definition: IsotopicVector.hxx:108
void Add(int Z, int A, int I, double quantity)
Add Quantity gramme of the ZAI Element.
Definition: IsotopicVector.hxx:134
const_iterator end() const
Return a constant iterator on the end of fIsotopicQuantity.
Definition: IsotopicVector.hxx:110
map< ZAI,double > fIsotopicQuantity
Isotopic vector composition in atomes Number.
Definition: IsotopicVector.hxx:177
map< ZAI,double > fIsotopicQuantityNeeded
map where negative value are saved
Definition: IsotopicVector.hxx:178
double DistanceStandard(const IsotopicVector &, const IsotopicVector &)
return the euclidean distance between two IV
Definition: IsotopicVector.cxx:674
iterator begin()
Return an iterator on the begin of fIsotopicQuantity.
Definition: IsotopicVector.hxx:104
void Add(const pair< ZAI, double > &zaiQ)
Definition: IsotopicVector.hxx:136
IsotopicVector operator+(IsotopicVector const &IVa, IsotopicVector const &IVb)
Definition: IsotopicVector.cxx:530
long long int cSecond
Definition: CLASSConstante.hxx:10
const_iterator find(const ZAI &zai) const
Definition: IsotopicVector.hxx:114
void Remove(const pair< ZAI, double > &zaiQ)
Definition: IsotopicVector.hxx:146
std::map< ZAI, double >::iterator iterator
Definition: IsotopicVector.hxx:41
double GetQuantity(const ZAI &zai) const
Definition: IsotopicVector.hxx:90
int GetZAIQuantity() const
Return the number of different ZAI in the IsotopicVector.
Definition: IsotopicVector.hxx:99
void Need(const map< ZAI, double > &quantityneeded)
Fill the fIsotopicQuantityNeeded.
Definition: IsotopicVector.hxx:141