Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/element.hpp

    re345e3 r83f176  
    2222#include "types.hpp"
    2323
     24class periodentafel;
     25
    2426/********************************************** declarations *******************************/
    2527
     
    2830 */
    2931class element {
     32  friend class periodentafel;
    3033  public:
     34    element();
     35    element(const element&);
     36    ~element();
     37
     38    element &operator=(const element&);
     39
     40    // accessor functions
     41    atomicNumber_t getNumber() const;
     42    double getMass() const;
     43    double getCovalentRadius() const;
     44    double getVanDerWaalsRadius() const;
     45    int getAtomicNumber() const;
     46    double getValence() const;
     47    int getNoValenceOrbitals() const;
     48    double getHBondDistance(const int i) const;
     49    double getHBondAngle(const int i) const;
     50
     51    std::string &getSymbol();
     52    const std::string &getSymbol() const;
     53    void setSymbol(const std::string &temp);
     54
     55    std::string &getName();
     56    const std::string &getName() const;
     57    void setName(const std::string &temp);
     58
     59    //> print element entries to screen
     60    bool Output(std::ostream * const out) const;
     61    bool Checkout(std::ostream * const out, const int No, const int NoOfAtoms) const;
     62
     63  private:
    3164    double mass;    //!< mass in g/mol
    3265    double CovalentRadius;  //!< covalent radius
    3366    double VanDerWaalsRadius;  //!< can-der-Waals radius
    3467    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
     68    std::string period;    //!< period: n quantum number
     69    std::string group;    //!< group: l quantum number
     70    std::string block;    //!< block: l quantum number
    4371    double Valence;   //!< number of valence electrons for this element
    4472    int NoValenceOrbitals;  //!< number of valence orbitals, used for determining bond degree in molecule::CreateConnectmatrix()
     
    4674    double HBondAngle[NDIM];     //!< typical angle for one, two, three bonded hydrogen (in degrees)
    4775
    48   element();
    49   ~element();
    50 
    51   // accessor functions
    52   atomicNumber_t getNumber() const;
    53   std::string getSymbol() const;
    54   std::string getName() 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:
     76    std::string name;  //!< atom name, i.e. "Hydrogen"
     77    std::string symbol; //!< short form of the atom, i.e. "H"
    6178};
    6279
Note: See TracChangeset for help on using the changeset viewer.