42 inline int beadOn(
int,
int)
const;
50 double factor(
const beadState state1)
const {
return 1.0 - 0.5*(state1 != NONE);};
84 const Array <unsigned int, 2> &
getBeads()
const {
return beads; }
100 Array <unsigned int,2> beads;
111 if (all(beadIndex==
head) || all(beadIndex==
tail))
124 beads(slice,ptcl) = 0;
130 beads(beadIndex) = 0;
137 beads(slice,ptcl) = 1;
143 beads(beadIndex) = 1;
150 return beads(slice,ptcl);
155 return beads(beadIndex);
The main driver class for the entire path integral monte carlo program.
The space-time trajectories.
Contains information on the worm.
bool isConfigDiagonal
Stores the diagonality of the configuration.
int gap
numTimeSlices - length
beadLocator tail
The coordinates of the worm tail.
dVec sep
The spatial separation between head and tail.
beadLocator head
The coordinates of the worm head.
beadLocator special2
Special bead, used in move updates.
void delBead(int, int)
Safely delete a bead (int indexed)
bool tooCostly(const dVec &_sep, int _gap)
Return true if the worm is too costly.
double maxWormCost
The maximum 'cost' of inserting a worm.
void update(Path &, const beadLocator &, const beadLocator &)
We update all worm properties for a new head and tail.
int beadOn(int, int) const
Safely get a bead (int indexed)
void incNumBeadsOn()
Increment the number of active beads.
bool tooCostly()
Return true if the worm is too costly.
beadState getState(const beadLocator &) const
Get the state of the supplied bead?
bool foundBead(const Path &, const beadLocator &)
Test to see if a supplied bead is located on a worm.
void resetNumBeadsOn()
Reset the number of active beads.
void decNumBeadsOn()
Decrement the number of active beads.
double factor(const beadState, const beadLocator &) const
Compute the value of the potential action trajectory factor.
void reset()
Reset the worm to a null state.
int getNumBeadsOn() const
Return the number of active beads.
const Array< unsigned int, 2 > & getBeads() const
Return the bead list.
void addBead(int, int)
Safely add a bead (int indexed)
beadLocator special1
Special bead, used in move updates.
int length
The length of the worm.
Global common header with shared dependencies and methods.
TinyVector< int, 2 > beadLocator
time-slice,bead-number world line index
beadState
Each bead can have three possible states.
TinyVector< double, NDIM > dVec
A NDIM-vector of type double.
#define PIMC_ASSERT(X)
Rename assert method.
ConstantParameters class definition.
ConstantParameters * constants()
Global public access to the constants.