27 beads.resize(numTimeSlices,numParticles);
89 beadIndex = path.
next(beadIndex);
91 }
while (!all(beadIndex==
head));
113 if ((state1 == NONE) && (state2 == NONE))
115 else if ((state1 == HEADTAIL) && (state2 == HEADTAIL))
130 while ( (!all(beadID==beadIndex)) && (!all(beadID==path.
next(
head))) ) {
131 beadID = path.
next(beadID);
133 return all(beadID==beadIndex);
int numTimeSlices()
Get number of time slices.
The space-time trajectories.
dVec getSeparation(const beadLocator &, const beadLocator &) const
Return the separation vector between two particles in the same timeslice.
const int numTimeSlices
A local constant copy of the number of time slices.
beadLocator & next(int slice, int ptcl)
Move one link forward in imaginary time.
beadLocator & prev(int slice, int ptcl)
Move one link backward in imaginary time.
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.
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.
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.
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.
beadLocator special1
Special bead, used in move updates.
int length
The length of the worm.
TinyVector< int, 2 > beadLocator
time-slice,bead-number world line index
beadState
Each bead can have three possible states.
#define PIMC_ASSERT(X)
Rename assert method.
#define XXX
Used to refer to a nonsense beadIndex.
ConstantParameters * constants()
Global public access to the constants.