19 std::string nameh =
"none";
20 std::string notationh =
"none";
30 AtomDef(
const std::string& fnameh,
const std::string& fnotationh,
int fZh,
35 const std::string&
name()
const {
return nameh; }
36 const std::string&
notation()
const {
return notationh; }
37 int Z()
const {
return Zh; }
38 double A()
const {
return Ah; }
40 void print(std::ostream& file,
int l = 0)
const;
43std::ostream&
operator<<(std::ostream& file,
const AtomDef& f);
50 static void addAtom(
const std::string& name,
const std::string& notation,
51 const int z,
const double a);
52 static const std::list<AtomDef>&
getAtoms();
59 static double getA(
int fZ);
67 static std::list<AtomDef> atoms;
77 std::vector<const AtomDef*> atomh;
78 std::vector<double> weight_quanh;
79 std::vector<double> weight_massh;
86 double inv_A_meanh = 0.;
88 double mean_ratio_Z_to_Ah = 0.;
89 double NumberOfElectronsInGramh = 0.;
95 AtomMixDef(
unsigned long fqatom,
const std::vector<std::string>& fatom_not,
96 const std::vector<double>& fweight_quan);
98 AtomMixDef(
unsigned long fqatom,
const std::vector<std::string>& fatom_not,
99 const std::vector<long>& fweight_quan);
100 void print(std::ostream& file,
int l)
const;
101 long qatom()
const {
return qatomh; }
102 const std::vector<const AtomDef*>&
atom()
const {
return atomh; }
104 const std::vector<double>&
weight_quan()
const {
return weight_quanh; }
105 const std::vector<double>&
weight_mass()
const {
return weight_massh; }
108 double Z_mean()
const {
return Z_meanh; }
109 double A_mean()
const {
return A_meanh; }
113 return NumberOfElectronsInGramh;
116std::ostream&
operator<<(std::ostream& file,
const AtomMixDef& f);
AtomDef()=default
Default constructor.
const std::string & name() const
void print(std::ostream &file, int l=0) const
~AtomDef()=default
Destructor.
const std::string & notation() const
static const AtomDef * getAtom(const std::string &fnotation)
static void addAtom(const std::string &name, const std::string ¬ation, const int z, const double a)
static double getA(int fZ)
static void printAtoms(std::ostream &file)
Print all registered atoms.
static const std::list< AtomDef > & getAtoms()
const std::vector< double > & weight_quan() const
AtomMixDef()=default
Default constructor.
void print(std::ostream &file, int l) const
const std::vector< double > & weight_mass() const
double mean_ratio_Z_to_A() const
const std::vector< const AtomDef * > & atom() const
const AtomDef * atom(long n) const
double weight_quan(long n) const
double NumberOfElectronsInGram() const
double inv_A_mean() const
double weight_mass(long n) const
std::ostream & operator<<(std::ostream &file, const BGMesh &bgm)