~sfiorucci/ptools/test_seb

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// $Id$
#include <iostream>
#include <fstream>
#include <string>

#include "rigidbody.h"

#ifndef SURFACE_H
#define SURFACE_H


namespace PTools
{

class Surface
{

public:

    Surface(int nphi, int ncosth, std::string file) /// Constructor (initialize private data)
    {
        m_nphi=nphi;
        m_ncosth=ncosth;
        setUp(nphi, ncosth);
        m_init=false;
        readsolvparam(file);
    };

    Rigidbody surfpoint(const Rigidbody & rigid, dbl srad); /// generate a grid of point around the protein
    void surfpointParams(int max, dbl shift); /// initialize some parameters of the grid generation
    Rigidbody outergrid(const Rigidbody & rigid1, const Rigidbody & rigid2, dbl srad); /// remove overlap between rigid1 and rigid2
    Rigidbody removeclosest(const Rigidbody & rigid1, dbl srad); /// fix the density of the grid (remove points that are too close to eachother)
    void readsolvparam(const std::string& file); /// read solvation parameters
    
private:

    //private functions
    void setUp(int nphi, int ncosth);

    //private data
    int m_nphi, m_ncosth;
    int m_numneh;
    bool m_init;
    dbl m_sradshift;
    std::vector<dbl>  csth , snth, cos_phgh , sin_phgh;
    std::vector<dbl>  radi, radius;
    std::vector<int> m_atomtypenumber;

};

}//namespace PTools


#endif //SURFACE_H