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
RevLine 
[5f697c]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
[6acc8e4]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
[ac86192]25#define HBRIDGEDISTANCE 3.5 //!< HBridge distance from PCCP Vol 10. 4802-4813
[6acc8e4]26
[5f697c]27/****************************************** forward declarations *****************************/
28
29class molecule;
[ac86192]30class MoleculeListClass;
[08b88b]31class periodentafel;
[5f697c]32class MatrixContainer;
33
34/********************************************** definitions *********************************/
35
36/********************************************** declarations *******************************/
37
38
39class BondGraph {
40public:
41 BondGraph(bool IsA);
42 ~BondGraph();
[543ce4]43 bool LoadBondLengthTable(const string &filename);
44 bool ConstructBondGraph(molecule * const mol);
[5f697c]45 double GetBondLength(int firstelement, int secondelement);
[543ce4]46 double SetMaxDistanceToMaxOfCovalentRadii(const molecule * const mol);
[5f697c]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
[ac86192]57int CountHydrogenBridgeBonds(MoleculeListClass * const molecules, element * InterfaceElement);
[7e4dc3f]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);
[ac86192]60
[5f697c]61#endif /* BONDGRAPH_HPP_ */
Note: See TracBrowser for help on using the repository browser.