source: molecuilder/src/element.hpp@ c20eac

Last change on this file since c20eac was 5dba7a, checked in by Tillmann Crueger <crueger@…>, 15 years ago

Made the periodentafel use STL-containers instead of custom llists

  • Property mode set to 100644
File size: 2.0 KB
Line 
1/*
2 * element.hpp
3 *
4 * Created on: Aug 3, 2009
5 * Author: heber
6 */
7
8#ifndef ELEMENT_HPP_
9#define ELEMENT_HPP_
10
11/*********************************************** includes ***********************************/
12
13// include config.h
14#ifdef HAVE_CONFIG_H
15#include <config.h>
16#endif
17
18#include <iostream>
19#include <string>
20
21#include "defs.hpp"
22#include "types.hpp"
23
24/********************************************** declarations *******************************/
25
26/** Chemical element.
27 * Class incorporates data for a certain chemical element to be referenced from atom class.
28 */
29class element {
30 public:
31 double mass; //!< mass in g/mol
32 double CovalentRadius; //!< covalent radius
33 double VanDerWaalsRadius; //!< can-der-Waals radius
34 int Z; //!< atomic number
35 char name[64]; //!< atom name, i.e. "Hydrogren"
36 char symbol[3]; //!< short form of the atom, i.e. "H"
37 char period[8]; //!< period: n quantum number
38 char group[8]; //!< group: l quantum number
39 char block[8]; //!< block: l quantum number
40 element *previous; //!< previous item in list
41 element *next; //!< next element in list
42 int *sort; //!< sorc criteria
43 int No; //!< number of element set on periodentafel::Output()
44 double Valence; //!< number of valence electrons for this element
45 int NoValenceOrbitals; //!< number of valence orbitals, used for determining bond degree in molecule::CreateConnectmatrix()
46 double HBondDistance[NDIM]; //!< distance in Angstrom of this element to hydrogen (for single, double and triple bonds)
47 double HBondAngle[NDIM]; //!< typical angle for one, two, three bonded hydrogen (in degrees)
48
49 element();
50 ~element();
51
52 // accessor functions
53 atomicNumber_t getNumber() const;
54 std::string getSymbol() const;
55
56 //> print element entries to screen
57 bool Output(std::ostream * const out) const;
58 bool Checkout(std::ostream * const out, const int No, const int NoOfAtoms) const;
59
60 private:
61};
62
63
64#endif /* ELEMENT_HPP_ */
Note: See TracBrowser for help on using the repository browser.