source: src/periodentafel.hpp@ fd179f

Action_Thermostats Add_AtomRandomPerturbation Add_FitFragmentPartialChargesAction Add_RotateAroundBondAction Add_SelectAtomByNameAction Added_ParseSaveFragmentResults AddingActions_SaveParseParticleParameters Adding_Graph_to_ChangeBondActions Adding_MD_integration_tests Adding_ParticleName_to_Atom Adding_StructOpt_integration_tests AtomFragments Automaking_mpqc_open AutomationFragmentation_failures Candidate_v1.5.4 Candidate_v1.6.0 Candidate_v1.6.1 ChangeBugEmailaddress ChangingTestPorts ChemicalSpaceEvaluator CombiningParticlePotentialParsing Combining_Subpackages Debian_Package_split Debian_package_split_molecuildergui_only Disabling_MemDebug Docu_Python_wait EmpiricalPotential_contain_HomologyGraph EmpiricalPotential_contain_HomologyGraph_documentation Enable_parallel_make_install Enhance_userguide Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Example_ManyWaysToTranslateAtom Exclude_Hydrogens_annealWithBondGraph FitPartialCharges_GlobalError Fix_BoundInBox_CenterInBox_MoleculeActions Fix_ChargeSampling_PBC Fix_ChronosMutex Fix_FitPartialCharges Fix_FitPotential_needs_atomicnumbers Fix_ForceAnnealing Fix_IndependentFragmentGrids Fix_ParseParticles Fix_ParseParticles_split_forward_backward_Actions Fix_PopActions Fix_QtFragmentList_sorted_selection Fix_Restrictedkeyset_FragmentMolecule Fix_StatusMsg Fix_StepWorldTime_single_argument Fix_Verbose_Codepatterns Fix_fitting_potentials Fixes ForceAnnealing_goodresults ForceAnnealing_oldresults ForceAnnealing_tocheck ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion FragmentAction_writes_AtomFragments FragmentMolecule_checks_bonddegrees GeometryObjects Gui_Fixes Gui_displays_atomic_force_velocity ImplicitCharges IndependentFragmentGrids IndependentFragmentGrids_IndividualZeroInstances IndependentFragmentGrids_IntegrationTest IndependentFragmentGrids_Sole_NN_Calculation JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool JobMarket_unresolvable_hostname_fix MoreRobust_FragmentAutomation ODR_violation_mpqc_open PartialCharges_OrthogonalSummation PdbParser_setsAtomName PythonUI_with_named_parameters QtGui_reactivate_TimeChanged_changes Recreated_GuiChecks Rewrite_FitPartialCharges RotateToPrincipalAxisSystem_UndoRedo SaturateAtoms_findBestMatching SaturateAtoms_singleDegree StoppableMakroAction Subpackage_CodePatterns Subpackage_JobMarket Subpackage_LinearAlgebra Subpackage_levmar Subpackage_mpqc_open Subpackage_vmg Switchable_LogView ThirdParty_MPQC_rebuilt_buildsystem TrajectoryDependenant_MaxOrder TremoloParser_IncreasedPrecision TremoloParser_MultipleTimesteps TremoloParser_setsAtomName Ubuntu_1604_changes stable
Last change on this file since fd179f was fb73b8, checked in by Frederik Heber <heber@…>, 15 years ago

class config, ConfigFileBuffer, periodentafel and Vector are refactored with respect to ticket #38, #4 and #39.

  • <type> * const ptr ... means the pointer itself is const (not its contents that he points at).
  • const <type> * ptr ... means the pointer's content is const.
  • "ofstream *out" ... can be changed to "ofstream * const out" (pointer is constant, not output).

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

  • Property mode set to 100755
File size: 1.4 KB
RevLine 
[68cb0f]1#ifndef PERIODENTAFEL_HPP_
2#define PERIODENTAFEL_HPP_
3
4using namespace std;
5
[f66195]6/*********************************************** includes ***********************************/
7
[68cb0f]8// include config.h
9#ifdef HAVE_CONFIG_H
10#include <config.h>
11#endif
12
[cd4ccc]13#include <iostream>
[68cb0f]14
[cd4ccc]15#include "defs.hpp"
[68cb0f]16
[f66195]17/****************************************** forward declarations *****************************/
18
19class element;
20
21/********************************************** declarations *******************************/
[6ac7ee]22
[68cb0f]23
24/** Periodentafel is a list of all elements sorted by their atomic number.
25 */
26class periodentafel {
[042f82]27 public:
28 element *start; //!< start of element list
29 element *end; //!< end of element list
30 char header1[MAXSTRINGSIZE]; //!< store first header line
31 char header2[MAXSTRINGSIZE]; //!< store second header line
[6ac7ee]32
[042f82]33 periodentafel();
34 ~periodentafel();
[6ac7ee]35
[fb73b8]36 bool AddElement(element * const pointer);
37 bool RemoveElement(element * const pointer);
[042f82]38 bool CleanupPeriodtable();
[fb73b8]39 element * const FindElement(const int Z) const;
40 element * const FindElement(const char * const shorthand) const;
41 element * const AskElement() const;
42 element * const EnterElement();
43 bool Output(ofstream * const output) const;
44 bool Checkout(ofstream * const output, const int * const checkliste) const;
45 bool LoadPeriodentafel(const char * const path);
46 bool StorePeriodentafel(const char * const path) const;
[6ac7ee]47
[042f82]48 private:
[68cb0f]49};
50
51
52#endif /*PERIODENTAFEL_HPP_*/
Note: See TracBrowser for help on using the repository browser.