Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
T_Molecular_potential_energy_gradient_contribution< Visitor, Term, Terms > Class Template Reference

Contribution of an energy gradient term to the potential energy gradient function. More...

#include <Molecular_potential_energy_gradient.hpp>

Public Types

typedef T_Molecular_potential_energy_gradient_contribution< Visitor, Term, Terms... > Self
 
typedef Term::Conformation Conformation
 
typedef Visitor::Covalent_structure Covalent_structure
 
typedef Term::Molar_energy_gradient_quantity Molar_energy_gradient_quantity
 
typedef Term::FT FT
 

Public Member Functions

void operator() (const Conformation &C, const Covalent_structure &S, std::vector< Molar_energy_gradient_quantity > &gradient) const
 

Detailed Description

template<class Visitor, class Term, typename... Terms>
class SBL::CSB::T_Molecular_potential_energy_gradient_contribution< Visitor, Term, Terms >

Contribution of an energy gradient term to the potential energy gradient function.

It uses the Visitor for iterating over all interesting tuples of particles for computing the term given by Term.

Template Parameters
Visitor: model of a class defining the Iterator type, the begin() and end() static methods for iterating over all interesting tuples of particles
Termmodel of functor taking a tuple of particles as input and returning their contribution to the energy function for the given term.
TermsWith C++11, it is possible to add different terms using the same visitor through the variadic template feature.

Member Typedef Documentation

◆ Conformation

typedef Term::Conformation Conformation

◆ Covalent_structure

typedef Visitor::Covalent_structure Covalent_structure

◆ FT

typedef Term::FT FT

◆ Molar_energy_gradient_quantity

typedef Term::Molar_energy_gradient_quantity Molar_energy_gradient_quantity

◆ Self

typedef T_Molecular_potential_energy_gradient_contribution<Visitor, Term, Terms...> Self

Member Function Documentation

◆ operator()()

void operator() ( const Conformation C,
const Covalent_structure S,
std::vector< Molar_energy_gradient_quantity > &  gradient 
) const
inline