BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
surfaceProcessor.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 #ifndef BALL_STRUCTURE_SURFACE_PROCESSOR_H
6 #define BALL_STRUCTURE_SURFACE_PROCESSOR_H
7 
8 #ifndef BALL_COMMON_EXCEPTION_H
9 # include <BALL/COMMON/exception.h>
10 #endif
11 #ifndef BALL_STRUCTURE_REDUCEDSURFACE_H
13 #endif
14 #ifndef BALL_STRUCTURE_SOLVENTEXCLUDEDSURFACE_H
16 #endif
17 #ifndef BALL_STRUCTURE_TRIANGULATEDSES_H
19 #endif
20 #ifndef BALL_STRUCTURE_SOLVENTACCESSIBLESURFACE_H
22 #endif
23 #ifndef BALL_STRUCTURE_TRIANGULATEDSAS_H
25 #endif
26 #ifndef BALL_STRUCTURE_TRIANGULATEDSURFACE_H
28 #endif
29 #ifndef BALL_MATHS_SURFACE_H
30 # include <BALL/MATHS/surface.h>
31 #endif
32 #ifndef BALL_CONCEPT_PROCESSOR_H
33 # include <BALL/CONCEPT/processor.h>
34 #endif
35 #ifndef BALL_KERNEL_ATOM_H
36 # include <BALL/KERNEL/atom.h>
37 #endif
38 #ifndef BALL_KERNEL_PTE_H
39 # include <BALL/KERNEL/PTE.h>
40 #endif
41 
42 namespace BALL
43 {
44 
49  : public UnaryProcessor<Atom>
50  {
51  public:
52 
56  enum SurfaceType
58  {
60  SOLVENT_ACCESSIBLE_SURFACE
61  };
63 
67 
70 
72 
76 
78  virtual bool start();
79 
81  virtual bool finish();
82 
84  virtual Processor::Result operator () (Atom& atom);
86 
89 
91  const Surface& getSurface() const { return surface_; }
92 
94  Surface& getSurface() { return surface_; }
95 
101  void setProbeRadius(double radius) throw(Exception::OutOfRange){
102  if(radius <= 0.0) {
103  throw Exception::OutOfRange(__FILE__, __LINE__);
104  }
105 
106  probe_radius_ = radius;
107  }
108 
110  double getProbeRadius() const { return probe_radius_; }
111 
113  void setDensity(double density) { density_ = density; }
114 
116  double getDensity() const { return density_; }
117 
119  std::vector<TSphere3<double> >& getSpheres() { return spheres_; }
120 
124  void setType(SurfaceType type) { surface_type_ = type; }
125 
127  SurfaceType getType() const { return surface_type_; }
129 
130  protected:
131 
134 
136  double vdw_factor_;
137 
138  //_
140 
141  //_
143 
144  //_
145  std::vector<TSphere3<double> > spheres_;
146 
147  //_
148  double density_;
149 
150  //_
152  };
153 
154 }
155 
156 #endif // BALL_STRUCTURE_SURFACE_PROCESSOR_H
void setDensity(double density)
std::vector< TSphere3< double > > spheres_
SurfaceType getType() const
Get the surface type to be computed.
void setProbeRadius(double radius)
const Surface & getSurface() const
double getProbeRadius() const
std::vector< TSphere3< double > > & getSpheres()
void setType(SurfaceType type)
#define BALL_EXPORT
Definition: COMMON/global.h:50
double getDensity() const