8 #include "SymmTensorAverage.h" 9 #include <util/space/Tensor.h> 28 for (j = 0; j <= i; ++j) {
29 accumulators_[k].setBlockFactor(blockFactor);
46 if (nSamplePerBlock < 0) {
47 UTIL_THROW(
"Attempt to set nSamplePerBlock < 0");
53 for (j = 0; j <= i; ++j) {
54 accumulators_[k].setNSamplePerBlock(nSamplePerBlock);
65 read<int>(in,
"nSamplePerBlock", nSamplePerBlock_);
66 if (nSamplePerBlock_ < 0) {
67 UTIL_THROW(
"Invalid input: nSamplePerBlock < 0");
72 for (j = 0; j <= i; ++j) {
73 accumulators_[k].setNSamplePerBlock(nSamplePerBlock_);
84 loadParameter<int>(ar,
"nSamplePerBlock", nSamplePerBlock_);
85 if (nSamplePerBlock_ < 0) {
86 UTIL_THROW(
"Loading value nSamplePerBlock < 0");
92 for (j = 0; j <= i; ++j) {
93 ar & accumulators_[k];
114 for (j = 0; j <= i; ++j) {
115 accumulators_[k].clear();
129 for (j = 0; j <= i; ++j) {
130 accumulators_[k].sample(value(i,j));
134 if (nSamplePerBlock_) {
135 if (iBlock_ == nSamplePerBlock_) {
154 return accumulators_[k];
const int Dimension
Dimensionality of space.
void clear()
Clear all accumulators, set to empty initial state.
Calculates the average and variance of a sampled property.
void setNSamplePerBlock(int nSamplePerBlock)
Set nSamplePerBlock.
const Average & operator()(int i, int j)
Access the Average object for one tensor component.
void sample(const Tensor &value)
Add a sampled value to the ensemble.
A Tensor represents a Cartesian tensor.
virtual void save(Serializable::OArchive &ar)
Save internal state to an archive.
Saving / output archive for binary ostream.
#define UTIL_THROW(msg)
Macro for throwing an Exception, reporting function, file and line number.
virtual ~SymmTensorAverage()
Destructor.
Utility classes for scientific computation.
void readParameters(std::istream &in)
Read parameter nSamplePerBlock from file and initialize.
virtual void loadParameters(Serializable::IArchive &ar)
Load internal state from an archive.
Saving archive for binary istream.
void setClassName(const char *className)
Set class name string.
int nSamplePerBlock() const
Get number of samples per block average.
SymmTensorAverage(int blockFactor=2)
Constructor.
An object that can read multiple parameters from file.