8 #include "TensorAverage.h" 9 #include <util/space/Tensor.h> 10 #include <util/format/Dbl.h> 11 #include <util/format/Int.h> 31 accumulators_[k].setBlockFactor(blockFactor);
48 if (nSamplePerBlock < 0) {
49 UTIL_THROW(
"Attempt to set nSamplePerBlock < 0");
56 accumulators_[k].setNSamplePerBlock(nSamplePerBlock);
67 read<int>(in,
"nSamplePerBlock", nSamplePerBlock_);
68 if (nSamplePerBlock_ < 0) {
69 UTIL_THROW(
"Invalid input: nSamplePerBlock < 0");
75 accumulators_[k].setNSamplePerBlock(nSamplePerBlock_);
86 loadParameter<int>(ar,
"nSamplePerBlock", nSamplePerBlock_);
87 if (nSamplePerBlock_ < 0) {
88 UTIL_THROW(
"Loading value nSamplePerBlock < 0");
95 ar & accumulators_[k];
117 accumulators_[k].clear();
132 accumulators_[k].sample(value(i,j));
136 if (nSamplePerBlock_) {
137 if (iBlock_ == nSamplePerBlock_) {
150 return accumulators_[k];
const Average & operator()(int i, int j)
Access the Average object for one tensor component.
const int Dimension
Dimensionality of space.
Calculates the average and variance of a sampled property.
virtual void save(Serializable::OArchive &ar)
Save internal state to an archive.
A Tensor represents a Cartesian tensor.
void setNSamplePerBlock(int nSamplePerBlock)
Set nSamplePerBlock.
Saving / output archive for binary ostream.
TensorAverage(int blockFactor=2)
Constructor.
#define UTIL_THROW(msg)
Macro for throwing an Exception, reporting function, file and line number.
void readParameters(std::istream &in)
Read parameter nSamplePerBlock from file and initialize.
void clear()
Clear all accumulators, set to empty initial state.
Utility classes for scientific computation.
int nSamplePerBlock() const
Get number of samples per block average.
void sample(const Tensor &value)
Add a sampled value to the ensemble.
Saving archive for binary istream.
virtual ~TensorAverage()
Destructor.
void setClassName(const char *className)
Set class name string.
An object that can read multiple parameters from file.
virtual void loadParameters(Serializable::IArchive &ar)
Load internal state from an archive.