private void updatePhotonQ() {
		if (subatomicEnabled) {
			int c = movie.getCapacity();
			for (int i = 0; i < numberOfAtoms; i++) {
				if (atom[i].getElectrons().isEmpty())
					continue;
				try {
					atom[i].updateExcitationQ();
				} catch (Exception e) {
					atom[i].initializeExcitationQ(c);
					atom[i].updateExcitationQ();
				}
			}
		}
		if (photonQueue == null)
			photonQueue = new ObjectQueue(movie.getCapacity());
		if (photons != null && !photons.isEmpty()) {
			ArrayList<Photon.Delegate> list = new ArrayList<Photon.Delegate>();
			for (Photon p : photons) {
				list.add(new Photon.Delegate(p));
			}
			photonQueue.update(list);
		} else {
			photonQueue.update(null);
		}
	}