2#ifndef INTARNA_OUTPUTHANDLER_H_
3#define INTARNA_OUTPUTHANDLER_H_
69 reverse(
const std::string & str );
133 : outConstraint(outConstraint)
134 , reportedInteractions(0)
150reverse(
const std::string & str )
152 return std::string(str.rbegin(), str.rend());
192#if INTARNA_IN_DEBUG_MODE
193 if (std::numeric_limits<Z_type>::max() - subZ <=
Z) {
194 LOG(WARNING) <<
"OutputHandler::incrementZ() : partition function overflow! Recompile with larger partition function data type!";
198 std::exception_ptr failure;
199#if INTARNA_MULITHREADING
200 #pragma omp critical(intarna_omp_outputHandlerIncrementZ)
204 catch (...) { failure=std::current_exception(); }
206 if (failure) std::rethrow_exception(failure);
Definition Interaction.h:28
Definition OutputConstraint.h:19
Definition OutputHandler.h:22
static std::string reverse(const std::string &str)
Definition OutputHandler.h:150
OutputHandler(const OutputConstraint &outConstraint)
Definition OutputHandler.h:132
const OutputConstraint outConstraint
the output constraints to be applied
Definition OutputHandler.h:116
bool usesExactPartition() const
Definition OutputHandler.h:212
const OutputConstraint & getOutputConstraint() const
Definition OutputHandler.h:180
virtual void incrementZ(const Z_type subZ)
Definition OutputHandler.h:190
virtual Z_type getZ() const
Definition OutputHandler.h:170
virtual ~OutputHandler()
Definition OutputHandler.h:142
bool exactPartition
scoped to a supported sequence-pair ensemble, legacy outputs default false
Definition OutputHandler.h:113
bool hasNonzeroZ() const
Definition OutputHandler.h:213
Z_type Z
overall partition function for the sequences provided in Z_energy
Definition OutputHandler.h:122
virtual void setExactPartition(bool exact)
Definition OutputHandler.h:211
virtual void add(const Interaction &interaction)=0
size_t reportedInteractions
number of reported interactions
Definition OutputHandler.h:119
virtual size_t reported() const
Definition OutputHandler.h:160
static Z_type add(const Z_type a, const Z_type b)
Definition PartitionArithmetic.h:30
#define Z_equal(e1, e2)
check if two energies are equal according to some epsilon
Definition general.h:154
Definition Accessibility.h:13
double Z_type
type for probabilities, RT and Boltzmann values
Definition general.h:88