![]() |
QMCPACK
|
define ObservableHelper More...
Public Member Functions | |
ObservableHelper (hdf_path title) | |
Favored constructor. More... | |
ObservableHelper (const ObservableHelper &)=delete | |
delete copy constructor as hdf5 handlers must have unique owners More... | |
ObservableHelper & | operator= (const ObservableHelper &)=delete |
ObservableHelper (ObservableHelper &&) noexcept=default | |
Move constructor. More... | |
ObservableHelper & | operator= (ObservableHelper &&) noexcept=default |
~ObservableHelper () | |
Destructor closes hdf5 remaining resources. More... | |
void | set_dimensions (const std::vector< int > &dims, int first) |
set the shape of this observable More... | |
template<typename T > | |
void | addProperty (T &p, const std::string &pname, hdf_archive &file) |
add named property to describe the collectable this helper class handles More... | |
void | addProperty (float &p, const std::string &pname, hdf_archive &file) |
void | addProperty (Tensor< float, OHMMS_DIM > &p, const std::string &pname, hdf_archive &file) |
void | addProperty (Matrix< float > &p, const std::string &pname, hdf_archive &file) |
void | addProperty (TinyVector< float, OHMMS_DIM > &p, const std::string &pname, hdf_archive &file) |
void | addProperty (std::vector< float > &p, const std::string &pname, hdf_archive &file) |
void | addProperty (std::vector< TinyVector< float, OHMMS_DIM >> &p, const std::string &pname, hdf_archive &file) |
void | write (const value_type *const first_v, hdf_archive &file) |
Public Attributes | |
hsize_t | lower_bound = 0 |
starting index More... | |
Private Attributes | |
hsize_t | current = 0 |
"file pointer" for h5d_append More... | |
hdf_path | group_name |
Path of this observable. More... | |
std::vector< hsize_t > | mydims |
my dimensions More... | |
std::vector< hsize_t > | offsets |
offsets More... | |
define ObservableHelper
This is a helper class to manage a hdf5 dagroup for each collectable. The data handled by an Estimator should be presented by dense N-dim array in C. /observables/title/value
Definition at line 36 of file ObservableHelper.h.
ObservableHelper | ( | hdf_path | title | ) |
Favored constructor.
[in] | title | is the ordered hdf5 group path elements of the observable |
Definition at line 23 of file ObservableHelper.cpp.
|
delete |
delete copy constructor as hdf5 handlers must have unique owners
|
defaultnoexcept |
Move constructor.
in | input object to be moved to this |
|
default |
Destructor closes hdf5 remaining resources.
|
inline |
add named property to describe the collectable this helper class handles
p | any intrinsic datatype including vector, basic containers |
pname | property |
Definition at line 75 of file ObservableHelper.h.
References ObservableHelper::group_name, hdf_archive::pop(), hdf_archive::push(), and hdf_archive::write().
Referenced by EnergyDensityEstimator::registerCollectables(), StaticStructureFactor::registerCollectables(), SpaceGrid::registerCollectables(), NESpaceGrid< REAL >::registerGrid(), and ReferencePoints::save().
void addProperty | ( | float & | p, |
const std::string & | pname, | ||
hdf_archive & | file | ||
) |
Definition at line 37 of file ObservableHelper.cpp.
References ObservableHelper::group_name, hdf_archive::pop(), hdf_archive::push(), and hdf_archive::write().
void addProperty | ( | Tensor< float, OHMMS_DIM > & | p, |
const std::string & | pname, | ||
hdf_archive & | file | ||
) |
Definition at line 45 of file ObservableHelper.cpp.
References ObservableHelper::group_name, hdf_archive::pop(), hdf_archive::push(), and hdf_archive::write().
void addProperty | ( | Matrix< float > & | p, |
const std::string & | pname, | ||
hdf_archive & | file | ||
) |
Definition at line 53 of file ObservableHelper.cpp.
References ObservableHelper::group_name, hdf_archive::pop(), hdf_archive::push(), and hdf_archive::write().
void addProperty | ( | TinyVector< float, OHMMS_DIM > & | p, |
const std::string & | pname, | ||
hdf_archive & | file | ||
) |
Definition at line 62 of file ObservableHelper.cpp.
References ObservableHelper::group_name, hdf_archive::pop(), hdf_archive::push(), and hdf_archive::write().
void addProperty | ( | std::vector< float > & | p, |
const std::string & | pname, | ||
hdf_archive & | file | ||
) |
Definition at line 70 of file ObservableHelper.cpp.
References ObservableHelper::group_name, hdf_archive::pop(), hdf_archive::push(), and hdf_archive::write().
void addProperty | ( | std::vector< TinyVector< float, OHMMS_DIM >> & | p, |
const std::string & | pname, | ||
hdf_archive & | file | ||
) |
Definition at line 79 of file ObservableHelper.cpp.
References ObservableHelper::group_name, hdf_archive::pop(), hdf_archive::push(), and hdf_archive::write().
|
delete |
|
defaultnoexcept |
void set_dimensions | ( | const std::vector< int > & | dims, |
int | first | ||
) |
set the shape of this observable
dims | dimensions |
first | starting index |
Definition at line 27 of file ObservableHelper.cpp.
References copy(), qmcplusplus::dims, ObservableHelper::lower_bound, ObservableHelper::mydims, ObservableHelper::offsets, and qmcplusplus::rank.
Referenced by SpaceGrid::registerCollectables(), SpinDensity::registerCollectables(), DensityMatrices1B::registerCollectables(), NESpaceGrid< REAL >::registerGrid(), OperatorBase::registerObservables(), MagnetizationDensity::registerOperatorEstimator(), SpinDensityNew::registerOperatorEstimator(), OneBodyDensityMatrices::registerOperatorEstimator(), and qmcplusplus::TEST_CASE().
void write | ( | const value_type *const | first_v, |
hdf_archive & | file | ||
) |
Definition at line 90 of file ObservableHelper.cpp.
References ObservableHelper::current, ObservableHelper::group_name, qmcplusplus::h5d_append(), ObservableHelper::lower_bound, ObservableHelper::mydims, hdf_archive::pop(), hdf_archive::push(), qmcplusplus::rank, and hdf_archive::top().
|
private |
"file pointer" for h5d_append
Definition at line 96 of file ObservableHelper.h.
Referenced by ObservableHelper::write().
|
private |
Path of this observable.
Definition at line 98 of file ObservableHelper.h.
Referenced by ObservableHelper::addProperty(), and ObservableHelper::write().
hsize_t lower_bound = 0 |
starting index
Definition at line 92 of file ObservableHelper.h.
Referenced by ObservableHelper::set_dimensions(), qmcplusplus::TEST_CASE(), and ObservableHelper::write().
|
private |
my dimensions
Definition at line 100 of file ObservableHelper.h.
Referenced by ObservableHelper::set_dimensions(), and ObservableHelper::write().
|
private |
offsets
Definition at line 102 of file ObservableHelper.h.
Referenced by ObservableHelper::set_dimensions().