QMCPACK
WalkerQuantityInfo Struct Reference

Record for an individual walker quantity being logd. More...

+ Collaboration diagram for WalkerQuantityInfo:

Public Types

enum  {
  D0 = 0, D1, D2, D3,
  DMAX
}
 support up to 4D array quantity More...
 

Public Member Functions

 WalkerQuantityInfo (const std::string &name_, size_t unit_size_, size_t buffer_start_, size_t n1=1, size_t n2=0, size_t n3=0, size_t n4=0)
 

Public Attributes

std::string name
 quantity name More...
 
size_t dimension
 array dimension More...
 
size_t size
 total size More...
 
size_t unit_size
 size of 1 unit of data More...
 
TinyVector< size_t, DMAXshape
 array shape More...
 
size_t buffer_start
 starting row index in buffer More...
 
size_t buffer_end
 end range in buffer row More...
 

Detailed Description

Record for an individual walker quantity being logd.

Helper struct for WalkerLogBuffer.

Definition at line 46 of file WalkerLogBuffer.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

support up to 4D array quantity

Enumerator
D0 
D1 
D2 
D3 
DMAX 

Definition at line 51 of file WalkerLogBuffer.h.

Constructor & Destructor Documentation

◆ WalkerQuantityInfo()

WalkerQuantityInfo ( const std::string &  name_,
size_t  unit_size_,
size_t  buffer_start_,
size_t  n1 = 1,
size_t  n2 = 0,
size_t  n3 = 0,
size_t  n4 = 0 
)
inline

Definition at line 72 of file WalkerLogBuffer.h.

References WalkerQuantityInfo::buffer_end, WalkerQuantityInfo::buffer_start, WalkerQuantityInfo::D0, WalkerQuantityInfo::D1, WalkerQuantityInfo::D2, WalkerQuantityInfo::D3, WalkerQuantityInfo::dimension, WalkerQuantityInfo::DMAX, WalkerQuantityInfo::name, WalkerQuantityInfo::shape, WalkerQuantityInfo::size, and WalkerQuantityInfo::unit_size.

79  {
80  name = name_;
81  unit_size = unit_size_;
82  buffer_start = buffer_start_;
83  shape[D0] = n1;
84  shape[D1] = n2;
85  shape[D2] = n3;
86  shape[D3] = n4;
87 
88  dimension = 0;
89  size = 1;
90  for (size_t d = 0; d < DMAX; ++d)
91  if (shape[d] > 0)
92  {
93  dimension++;
94  size *= shape[d];
95  }
97  }
TinyVector< size_t, DMAX > shape
array shape
size_t unit_size
size of 1 unit of data
std::string name
quantity name
size_t buffer_end
end range in buffer row
size_t dimension
array dimension
size_t buffer_start
starting row index in buffer

Member Data Documentation

◆ buffer_end

size_t buffer_end

end range in buffer row

Definition at line 70 of file WalkerLogBuffer.h.

Referenced by WalkerLogBuffer< WLog::Real >::collect(), and WalkerQuantityInfo::WalkerQuantityInfo().

◆ buffer_start

size_t buffer_start

starting row index in buffer

Definition at line 68 of file WalkerLogBuffer.h.

Referenced by WalkerQuantityInfo::WalkerQuantityInfo().

◆ dimension

size_t dimension

array dimension

Definition at line 60 of file WalkerLogBuffer.h.

Referenced by WalkerQuantityInfo::WalkerQuantityInfo().

◆ name

std::string name

quantity name

Definition at line 49 of file WalkerLogBuffer.h.

Referenced by WalkerQuantityInfo::WalkerQuantityInfo().

◆ shape

TinyVector<size_t, DMAX> shape

array shape

Definition at line 66 of file WalkerLogBuffer.h.

Referenced by WalkerQuantityInfo::WalkerQuantityInfo().

◆ size

size_t size

total size

Definition at line 62 of file WalkerLogBuffer.h.

Referenced by WalkerQuantityInfo::WalkerQuantityInfo().

◆ unit_size

size_t unit_size

size of 1 unit of data

Definition at line 64 of file WalkerLogBuffer.h.

Referenced by WalkerQuantityInfo::WalkerQuantityInfo().


The documentation for this struct was generated from the following file: