18#ifndef VOTCA_CSG_CSG_STAT_IMC_H
19#define VOTCA_CSG_CSG_STAT_IMC_H
118 std::map<std::string, std::unique_ptr<group_t> >
groups_;
129 void WriteDist(
const std::string &suffix =
"");
134 Eigen::VectorBlock<Eigen::VectorXd> &dS);
158 std::unique_ptr<CsgApplication::Worker>
ForkWorker();
165 : i1_(i1), i2_(i2), offset_i_(offset_i), offset_j_(offset_j), corr_(corr) {}
Worker, derived from Thread, does the work.
void EvalConfiguration(Topology *top, Topology *top_atom) override
evaluate current conformation
std::vector< tools::HistogramNew > current_hists_
void DoNonbonded(Topology *top)
process non-bonded interactions for given frame
std::vector< tools::HistogramNew > current_hists_force_
void DoBonded(Topology *top)
process bonded interactions for given frame
class to calculate distribution functions and cross correlations for inverse monte carlo
Eigen::MatrixXd group_matrix
void BlockLength(votca::Index length)
interaction_t * AddInteraction(tools::Property *p, bool is_bonded)
create a new interaction entry based on given options
votca::Index block_length_
std::unique_ptr< CsgApplication::Worker > ForkWorker()
void WriteIMCData(const std::string &suffix="")
void EndEvaluate()
end coarse graining a trajectory
tools::Average< double > avg_vol_
tools::Property options_
the options parsed from cg definition file
void Extension(std::string ext)
void InitializeGroups()
initializes the group structs after interactions were added
std::map< std::string, std::unique_ptr< group_t > > groups_
map group-name to group
void IncludeIntra(bool include_intra)
std::vector< tools::Property * > nonbonded_
list of non-bonded interactions
std::map< std::string, std::unique_ptr< interaction_t > > interactions_
map interaction-name to interaction
void MergeWorker(CsgApplication::Worker *worker_)
void DoCorrelations(Imc::Worker *worker)
update the correlations after interations were processed
bool processed_some_frames_
std::vector< tools::Property * > bonded_
list of bonded interactions
void WriteDist(const std::string &suffix="")
void BeginEvaluate(Topology *top, Topology *top_atom)
begin coarse graining a trajectory
void CalcDeltaS(interaction_t *interaction, Eigen::VectorBlock< Eigen::VectorXd > &dS)
void WriteIMCBlock(const std::string &suffix)
void LoadOptions(const std::string &file)
load cg definitions file
Eigen::Block< group_matrix > pair_matrix
group_t * getGroup(const std::string &name)
get group by name, creates one if it doesn't exist
topology of the whole system
base class for all analysis tools
struct to store collected information for groups (e.g. crosscorrelations)
std::vector< pair_t > pairs_
std::vector< interaction_t * > interactions_
struct to store collected information for interactions
tools::HistogramNew average_
tools::HistogramNew average_force_
pair_t(interaction_t *i1, interaction_t *i2, votca::Index offset_i, votca::Index offset_j, const pair_matrix &corr)