|
| | SASACellList (const Space &spc, double probe_radius, int slices_per_atom) |
| |
|
| SASACellList (const json &j, const Space &spc) |
| |
| void | init (const Space &spc) override |
| | constructs cell_list with appropriate cell_length and fills it with particles from space More...
|
| |
| SASABase::Neighbours | calcNeighbourDataOfParticle (const Space &spc, index_type target_index) const override |
| | calculates neighbourData object of a target particle More...
|
| |
| std::vector< SASABase::Neighbours > | calcNeighbourData (const Space &spc, const std::vector< index_type > &target_indices) const override |
| | calculates neighbourData objects of particles More...
|
| |
| void | update (const Space &spc, const Change &change) override |
| | updates cell_list according to change, if the volume changes the cell_list gets rebuilt More...
|
| |
|
double | calcSASAOfParticle (const Space &spc, const Particle &particle) const |
| |
| template<typename TBegin , typename TEnd > |
| double | calcSASA (const Space &spc, TBegin begin, TEnd end) const |
| | calculates total sasa of either particles or groups between given iterators More...
|
| |
|
template<typename TSpecies > |
| double | calcSASAOf (const Space &spc, const TSpecies &species) const |
| |
| void | updateSASA (const std::vector< SASABase::Neighbours > &neighbours_data, const std::vector< index_type > &target_indices) |
| | updates sasa of target particles More...
|
| |
|
const std::vector< double > & | getAreas () const |
| |
| | SASABase (const Space &spc, double probe_radius, int slices_per_atom) |
| |
| template<> |
| double | calcSASAOf (const Space &spc, const Group &group) const |
| | calculates total sasa of a group More...
|
| |
| template<> |
| double | calcSASAOf (const Space &spc, const Particle &particle) const |
| | calculates total sasa of a particle More...
|
| |
|
|
bool | needs_syncing = false |
| | flag indicating if syncing of cell_lists is needed this is important in case there is a particle insertion which is rejected due to containerOverlap, because the sasa->update is not called
|
| |
| index_type | indexOf (const Particle &particle) const |
| | first particle in ParticleVector More...
|
| |
| double | calcSASAOfParticle (const Neighbours &neighbour) const |
| | Calcuates SASA of a single particle defined by NeighbourData object. More...
|
| |
| double | exposedArcLength (std::vector< std::pair< double, double >> &arcs) const |
| | Calcuates total arc length in radians of overlapping arcs defined by two angles. More...
|
| |
|
double | probe_radius = 1.4 |
| | radius of the probe sphere
|
| |
|
std::vector< double > | areas |
| | vector holding SASA area of each atom
|
| |
|
std::vector< double > | sasa_radii |
| | Radii buffer for all particles.
|
| |
|
int | slices_per_atom = 20 |
| | number of slices of each sphere in SASA calculation
|
| |
|
const double | two_pi = 2.0 * std::numbers::pi |
| |
|
const Particle * | first_particle |
| |
template<typename CellList>
class Faunus::SASA::SASACellList< CellList >
derived class of SASABase which uses cell lists for neighbour search currently can be used only for geometries with either 3 or 0 periodic boundaries
- Todo:
update function does perhaps unnecessary containsMember(Member&) checks
create a wrapper class for cell_list so that the Space dependence is in there and not here