1#ifndef UTIL_TENSOR_AVERAGE_H
2#define UTIL_TENSOR_AVERAGE_H
12#include <util/param/ParamComposite.h>
13#include <util/accumulators/Average.h>
14#include <util/containers/FArray.h>
91 template <
class Archive>
92 void serialize(Archive& ar,
const unsigned int version);
148 int nSamplePerBlock_;
167 {
return nSamplePerBlock_; }
179 {
return (iBlock_ && (iBlock_ == nSamplePerBlock_)); }
184 template <
class Archive>
187 ar & nSamplePerBlock_;
193 ar & accumulators_[k];
Calculates the average and variance of a sampled property.
Saving archive for binary istream.
Saving / output archive for binary ostream.
A fixed size (static) contiguous array template.
An object that can read multiple parameters from file.
Calculates averages of all components of a Tensor-valued variable.
int nSamplePerBlock() const
Get number of samples per block average.
const Average & operator()(int i, int j)
Access the Average object for one tensor component.
void serialize(Archive &ar, const unsigned int version)
Serialize this to or from an archive.
virtual void loadParameters(Serializable::IArchive &ar)
Load internal state from an archive.
virtual void save(Serializable::OArchive &ar)
Save internal state to an archive.
int iBlock() const
Get number of samples in current block average.
bool isBlockComplete() const
Is the current block average complete?
void setNSamplePerBlock(int nSamplePerBlock)
Set nSamplePerBlock.
void clear()
Clear all accumulators, set to empty initial state.
void readParameters(std::istream &in)
Read parameter nSamplePerBlock from file and initialize.
virtual ~TensorAverage()
Destructor.
void sample(const Tensor &value)
Add a sampled value to the ensemble.
A Tensor represents a Cartesian tensor.
File containing preprocessor macros for error handling.
const int Dimension
Dimensionality of space.
Utility classes for scientific computation.