18#ifndef VOTCA_CSG_RDF_CALCULATOR_H 
   19#define VOTCA_CSG_RDF_CALCULATOR_H 
   26#include <boost/numeric/ublas/io.hpp> 
   27#include <boost/numeric/ublas/matrix.hpp> 
   28#include <boost/numeric/ublas/matrix_proxy.hpp> 
   29#include <boost/numeric/ublas/symmetric.hpp> 
   30#include <boost/numeric/ublas/vector.hpp> 
   31#include <boost/numeric/ublas/vector_proxy.hpp> 
   43using namespace votca::tools;
 
   75    std::cout << 
"DBG " << t << 
" " 
   77                     (16.0 * t * t - 12.0 * t * t * t + t * t * t * t * t)
 
   79    return 1.0 / 24.0 * (16.0 * t * t - 12.0 * t * t * t + t * t * t * t * t);
 
 
  139  std::map<std::string, std::unique_ptr<group_t>> 
groups_;
 
  147  void WriteDist(
const std::string &suffix = 
"");
 
  173  std::unique_ptr<CsgApplication::Worker> 
ForkWorker();
 
 
Worker, derived from Thread, does the work.
 
std::vector< Histogram > current_hists_
 
double cur_beadlist_2_count_
 
void DoNonbonded(Topology *top)
process non-bonded interactions for given frame
 
void DoBonded(Topology *top)
process bonded interactions for given frame
 
void EvalConfiguration(Topology *top, Topology *top_atom) override
evaluate current conformation
 
double cur_beadlist_1_count_
 
RDFCalculator * rdfcalculator_
 
Eigen::Block< group_matrix > pair_matrix
 
std::unique_ptr< CsgApplication::Worker > ForkWorker()
 
double AnalyticVolumeCorrection(double t)
 
std::vector< Property * > nonbonded_
list of non-bonded interactions
 
Average< double > avg_vol_
 
interaction_t * AddInteraction(Property *p)
create a new interaction entry based on given options
 
void SetSubvolRadius(double r)
 
void DoVolumeCorrection(bool do_vol_corr)
 
void DoBlocks(bool do_blocks)
 
std::vector< Property * > bonded_
list of bonded interactions
 
Eigen::MatrixXd group_matrix
 
void BeginEvaluate(Topology *top, Topology *top_atom)
begin coarse graining a trajectory
 
void EndEvaluate()
end coarse graining a trajectory
 
void WriteEvery(Index write_every)
 
std::map< std::string, std::unique_ptr< interaction_t > > interactions_
std::map ineteractionm-name to interaction
 
void WriteDist(const std::string &suffix="")
 
Property options_
the options parsed from cg definition file
 
std::map< std::string, std::unique_ptr< group_t > > groups_
std::map group-name to group
 
void DoCorrelations(RDFCalculator::Worker *worker)
update the correlations after interations were processed
 
bool processed_some_frames_
 
void LoadOptions(const std::string &file)
load cg definitions file
 
void MergeWorker(CsgApplication::Worker *worker_)
 
group_t * getGroup(const std::string &name)
get group by name, creates one if it doesn't exist
 
topology of the whole system
 
Provides a means for comparing floating point numbers.
 
struct to store collected information for groups (e.g. crosscorrelations)
 
std::list< interaction_t * > interactions_
 
std::vector< pair_t > pairs_
 
struct to store collected information for interactions
 
Average< double > avg_beadlist_2_count_
 
Average< double > avg_beadlist_1_count_
 
pair_t(interaction_t *i1, interaction_t *i2, Index offset_i, Index offset_j, const pair_matrix &corr)