<commit_before>// $Id: numericalSAS.h,v 1.5 2000/06/06 13:18:58 oliver Exp $

#ifndef BALL_STRUCTURE_NUMERICALSAS_H
#define BALL_STRUCTURE_NUMERICALSAS_H

#ifndef BALL_COMMON_H
#	include <BALL/common.h>
#endif

namespace BALL 
{

	class Atom;
	class Surface;
	class BaseFragment;
	template <typename Key, typename T>
  class HashMap;

	/**	@name	Fast Numerical Calculation of Solvent Accessible Surface Area.
			These functions use the algorithm by Eisenhaber, Lijnzaad, Argos, Sander,
			and Scharf ("The Double Cubic Lattice Method: Efficient Approaches to 
			numerical Integration of Surface Area and Volume and to Dot
			Surface Contouring of Molecular Assemblies", J. Comput. Chem. (1995),
			{\underline 15}, 273-284).
	*/
	
	/** Calculate the solvent accessible surface area numerically.
			This method returns the total 
			Solvent Accessible Surface (SAS) of a BALL kernel object. 
			Atoms with a radius of 0 are ignored.

			@param  fragment the kernel object containing the atoms
			@param  probe_radius the probe radius used for the SAS
			@param  number_of_dots the number of dots used per atom
			@return the total SAS area in $\AA^2$
	*/
	float calculateSASArea
					(const BaseFragment& fragment, float probe_radius = 1.5,
					 Size number_of_dots = 400); 
<commit_msg>added: function ofr volume calculation<commit_after>// $Id: numericalSAS.h,v 1.6 2000/06/15 17:12:24 oliver Exp $

#ifndef BALL_STRUCTURE_NUMERICALSAS_H
#define BALL_STRUCTURE_NUMERICALSAS_H

#ifndef BALL_COMMON_H
#	include <BALL/common.h>
#endif

namespace BALL 
{

	class Atom;
	class Surface;
	class BaseFragment;
	template <typename Key, typename T>
  class HashMap;

	/**	@name	Fast Numerical Calculation of Solvent Accessible Surface Area.
			These functions use the algorithm by Eisenhaber, Lijnzaad, Argos, Sander,
			and Scharf ("The Double Cubic Lattice Method: Efficient Approaches to 
			numerical Integration of Surface Area and Volume and to Dot
			Surface Contouring of Molecular Assemblies", J. Comput. Chem. (1995),
			{\underline 15}, 273-284).
	*/
	
	/** Calculate the solvent accessible surface area numerically.
			This method returns the total 
			Solvent Accessible Surface (SAS) of a BALL kernel object. 
			Atoms with a radius of 0 are ignored.

			@param  fragment the kernel object containing the atoms
			@param  probe_radius the probe radius used for the SAS
			@param  number_of_dots the number of dots used per atom
			@return the total SAS area in $\AA^2$
	*/
	float calculateSASArea
					(const BaseFragment& fragment, float probe_radius = 1.5,
					 Size number_of_dots = 400); 

	/** Calculate the solvent accessible volume numerically.
			This method returns the total volume enclosd by the 
			Solvent Accessible Surface (SAS) of a BALL kernel object. 
			Atoms with a radius of 0 are ignored

			@param  fragment the kernel object containing the atoms
			@param  probe_radius the probe radius used for the SAS
			@param  number_of_dots the number of dots used per atom
			@return the volume in $\AA^3$
	*/
	float calculateSASVolume
					(const BaseFragment& fragment, float probe_radius = 1.5,
					 Size number_of_dots = 400); 

{'fraction_non_alphanumeric': 0.06434231378763867, 'fraction_numerical': 0.02440570522979398, 'mean_word_length': 3.7963525835866263, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2122098', 'n_tokens_mistral': 1145, 'n_tokens_neox': 943, 'n_words': 390}