12 #include <util/accumulators/AverageStage.h> 13 #include <util/param/ParamComposite.h> 102 template <
class Archive>
103 void serialize(Archive& ar,
const unsigned int version);
115 void sample(
double value);
123 void sample(
double value, std::ostream& out);
143 void output(std::ostream& out)
const;
176 double blockAverage()
const;
185 virtual void registerDescendant(
AverageStage* descendantPtr);
188 std::vector<AverageStage*> descendants_;
197 int nSamplePerBlock_;
221 {
return nSamplePerBlock_; }
234 return (iBlock_ && (iBlock_ == nSamplePerBlock_));
240 inline double Average::blockAverage()
const 243 UTIL_THROW(
"Attempt to get block average with no data");
245 return blockSum_/double(iBlock_);
251 template <
class Archive>
257 ar & nSamplePerBlock_;
void clear()
Clear all accumulators, set to empty initial state.
bool isBlockComplete() const
Is the current block average complete?
virtual void loadParameters(Serializable::IArchive &ar)
Load internal state from an archive.
void serialize(Archive &ar, const unsigned int version)
Add a sampled value to the ensemble.
Calculates the average and variance of a sampled property.
void serialize(Archive &ar, const unsigned int version)
Serialize this Average to or from an archive.
File containing preprocessor macros for error handling.
double blockingError() const
Return estimated error on average from blocking analysis.
Saving / output archive for binary ostream.
int iBlock() const
Get number of samples in current block average.
#define UTIL_THROW(msg)
Macro for throwing an Exception, reporting function, file and line number.
Average(int blockFactor=2)
Constructor.
void readParameters(std::istream &in)
Read parameter nSamplePerBlock from file and initialize.
Utility classes for scientific computation.
virtual ~Average()
Destructor.
void output(std::ostream &out) const
Output final statistical properties to file.
void setNSamplePerBlock(int nSamplePerBlock)
Set nSamplePerBlock.
Saving archive for binary istream.
void sample(double value)
Add a sampled value to the ensemble.
Evaluate average with hierarchical blocking error analysis.
int nSamplePerBlock() const
Get number of samples per block average.
virtual void save(Serializable::OArchive &ar)
Save internal state to an archive.
An object that can read multiple parameters from file.