15 #ifndef QMCPLUSPLUS_DYNAMICCOORDINATES_H 16 #define QMCPLUSPLUS_DYNAMICCOORDINATES_H 25 class ResourceCollection;
54 virtual std::unique_ptr<DynamicCoordinates>
makeClone() = 0;
59 virtual void resize(
size_t n) = 0;
61 virtual size_t size()
const = 0;
74 const std::vector<PosType>& new_positions)
const 87 const std::vector<PosType>& new_positions,
88 const std::vector<bool>& isAccepted)
const = 0;
virtual void createResource(ResourceCollection &collection) const
initialize a shared resource and hand it to a collection
DynamicCoordinateKind
enumerator for DynamicCoordinates kinds
helper functions for EinsplineSetBuilder
virtual void setOneParticlePos(const PosType &pos, size_t iat)=0
overwrite the position of one the particle.
QTBase::RealType RealType
PtclOnLatticeTraits::ParticlePos ParticlePos
virtual void mw_copyActivePos(const RefVectorWithLeader< DynamicCoordinates > &coords_list, size_t iat, const std::vector< PosType > &new_positions) const
copy the active positions of particles with a uniform id in all the walkers to a single internal buff...
virtual const PosVectorSoa & getAllParticlePos() const =0
all particle position accessor
quantum variables of all the particles
virtual void donePbyP()
secure internal data consistency after p-by-p moves
Soa Container for D-dim vectors.
virtual void acquireResource(ResourceCollection &collection, const RefVectorWithLeader< DynamicCoordinates > &coords_list) const
acquire a shared resource from a collection
SoA adaptor class for Vector<TinyVector<T,D> >
virtual std::unique_ptr< DynamicCoordinates > makeClone()=0
virtual void setAllParticlePos(const ParticlePos &R)=0
overwrite the positions of all the particles.
Attaches a unit to a Vector for IO.
virtual ~DynamicCoordinates()=default
virtual void resize(size_t n)=0
resize internal storages based on the number of particles
DynamicCoordinateKind getKind() const
DynamicCoordinates & operator=(const DynamicCoordinates &)=delete
virtual size_t size() const =0
return the number of particles
QMCTraits::RealType RealType
const DynamicCoordinateKind variable_kind_
type of dynamic coordinates
DynamicCoordinates(const DynamicCoordinateKind kind_in)
virtual void releaseResource(ResourceCollection &collection, const RefVectorWithLeader< DynamicCoordinates > &coords_list) const
return a shared resource to a collection
ParticleAttrib< SingleParticlePos > ParticlePos
VectorSoaContainer< RealType, QMCTraits::DIM > PosVectorSoa
virtual PosType getOneParticlePos(size_t iat) const =0
one particle position accessor
virtual void mw_acceptParticlePos(const RefVectorWithLeader< DynamicCoordinates > &coords_list, size_t iat, const std::vector< PosType > &new_positions, const std::vector< bool > &isAccepted) const =0
overwrite the positions of particles with a uniform id in all the walkers upon acceptance.