source: molecuilder/src/element.hpp@ edbe74

Last change on this file since edbe74 was 543ce4, checked in by Frederik Heber <heber@…>, 16 years ago

Huge change from ofstream * (const) out --> Log().

  • first shift was done via regular expressions
  • then via error messages from the code
  • note that class atom, class element and class molecule kept in parts their output stream, was they print to file.
  • make check runs fine
  • MISSING: Verbosity is not fixed for everything (i.e. if no endl; is present and next has Verbose(0) ...)

Signed-off-by: Frederik Heber <heber@…>

  • Property mode set to 100644
File size: 1.9 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
11using namespace std;
12
13/*********************************************** includes ***********************************/
14
15// include config.h
16#ifdef HAVE_CONFIG_H
17#include <config.h>
18#endif
19
20#include <iostream>
21
22#include "defs.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 //> print element entries to screen
53 bool Output(ofstream * const out) const;
54 bool Checkout(ofstream * const out, const int No, const int NoOfAtoms) const;
55
56 private:
57};
58
59
60#endif /* ELEMENT_HPP_ */
Note: See TracBrowser for help on using the repository browser.