source: molecuilder/src/bondgraph.hpp@ 768125

Last change on this file since 768125 was 7e4dc3f, checked in by Frederik Heber <heber@…>, 16 years ago

Implemented counting of bonds over all atoms.

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

  • Property mode set to 100644
File size: 2.1 KB
Line 
1/*
2 * bondgraph.hpp
3 *
4 * Created on: Oct 29, 2009
5 * Author: heber
6 */
7
8#ifndef BONDGRAPH_HPP_
9#define BONDGRAPH_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/*********************************************** defines ***********************************/
23
24#define BONDTHRESHOLD 0.4 //!< CSD threshold in bond check which is the width of the interval whose center is the sum of the covalent radii
25#define HBRIDGEDISTANCE 3.5 //!< HBridge distance from PCCP Vol 10. 4802-4813
26
27/****************************************** forward declarations *****************************/
28
29class molecule;
30class MoleculeListClass;
31class periodentafel;
32class MatrixContainer;
33
34/********************************************** definitions *********************************/
35
36/********************************************** declarations *******************************/
37
38
39class BondGraph {
40public:
41 BondGraph(bool IsA);
42 ~BondGraph();
43 bool LoadBondLengthTable(const string &filename);
44 bool ConstructBondGraph(molecule * const mol);
45 double GetBondLength(int firstelement, int secondelement);
46 double SetMaxDistanceToMaxOfCovalentRadii(const molecule * const mol);
47
48 void BondLengthMatrixMinMaxDistance(BondedParticle * const Walker, BondedParticle * const OtherWalker, double &MinDistance, double &MaxDistance, bool IsAngstroem);
49 void CovalentMinMaxDistance(BondedParticle * const Walker, BondedParticle * const OtherWalker, double &MinDistance, double &MaxDistance, bool IsAngstroem);
50
51private:
52 MatrixContainer *BondLengthMatrix;
53 double max_distance;
54 bool IsAngstroem;
55};
56
57int CountHydrogenBridgeBonds(MoleculeListClass * const molecules, element * InterfaceElement);
58int CountBondsOfTwo(MoleculeListClass * const molecules, const element * const first, const element * const second);
59int CountBondsOfThree(MoleculeListClass * const molecules, const element * const first, const element * const second, const element * const third);
60
61#endif /* BONDGRAPH_HPP_ */
Note: See TracBrowser for help on using the repository browser.