anchor.diff:                  ! Allow one spawning & death attempt for each walker on the
                   ! processor.
                   do iattempt = 1, nparticles(1)
  +
                       ! TODO: select cluster size
  -                    ! TODO: find cluster
  -                    ! TODO: projected estimator.
  -                    ! TODO: evolve.
  +
  +                    ! TODO: select cluster
  +
  +                    ! TODO: collapse cluster (return also excitation_level)
  +
  +                    if (excitation_level <= truncation_level+2) then
  +
  +                        ! TODO: projected estimator.
  +!                        call update_proj_energy_ptr(cdet, amp)
  +
  +                        ! TODO: evolve.
  +!                        call spawner_ccmc(cdet, cluster_amplitude, pcluster, nspawned, connection)
  +
  +                        if (nspawned /= 0) then
  +                            call create_spawned_particle_ptr(cdet, connection, nspawned, spawned_pop)
  +                        end if
  +
  +                        ! Does the cluster collapsed onto D0 produce
  +                        ! a determinant is in the truncation space?  If so, also
  +                        ! need to attempt a death/cloning step.
  +                        if (excitation_level <= truncation_level) call stochastic_ccmc_death(cdet, cluster_amplitude, pcluster)
  +
  +                    end if
  +
                   end do
   
                   ! Add the spawning rate (for the processor) to the running
  
positive.code:         use annihilation, only: direct_annihilation
          use basis, only: basis_length, nbasis
          use determinants, only: det_info, alloc_det_info, dealloc_det_info
          use excitations, only: excit
          use energy_evaluation, only: update_energy_estimators
          use fciqmc_data
          use fciqmc_common
  
negative.code: ! (especially the spawning, death and annihilation).  As a result, the structure
  ! of do_ccmc is remarkably similar to the other do_*mc routines.
  
  use const, only: p
  
  implicit none
  
  contains
  