Orthography

Corrected some orthography - in the comments of course, not in the
functional code. :P

Orthography in Particles.kernel
Last changes for ionization plugins - then abort

These most recent changes to the non-functional plugins for "touching the
particles" will only be committed to be used for writing a guide as to how
plugins are witten. Then they will be removed because ionization will not
be implemented in the form of plugins anymore but directly into the code.
Delete plugin approach, modify Particles.*

The new approach is to implement ionization directly into the code.
Therefore the old plugins have been deleted and files like Particles.*
and respective configuration files have been modified. This was done in
analogy to how pushers are implemented. The progress so far:
 - there is an empty ionization framesolver in the right structure
 - it produces output and says "Hello!"
Remove GetAttributes plugin

Remove the rest of the plugins that were useless but which I forgot before.
Introduce chargeState particle attribute

The charge state is given in integer numbers and will then be
multiplied with the weighting to get the charge of the macro particle
Add Charge State default attribute

Introduces new default particle attribute chargeState that can be called as chState in the new ionizers. Ionizers are similar to particle pushers.
Add PNG output for charge state modification

Ionization has been implemented rudimentary as Barrier Suppression Ionization (BSI) with still unphysical field strengths. The Visualization plugin plots charge states for ions instead of their density.
Remove 'mustShift' lines in ionization.hpp

In ionization.hpp in lines 227-232 the 'mustShift' flag for particles is set which is not necessary and therefore wrong.
Add electron creation routine

Particles.hpp: Add second argument "electrons" to ionize function
--> Enable two species (electrons and ions) while ionization
MySimulation.hpp: Adapt ionize to taking second argument
ionization.hpp: Add electron creation loop to kernelIonizeParticles
--> TODO: write function to create electron with attributes
Add electron write function

When electrons are created they are cloned from their parent ion and their
attributes are copied. Some attributes are deselected in the copying process
to be set hard later. Those are the multiMask, chargeState and momentum.
Copying the first one would be slow, copying the others would just be wrong.
Correct electron write function

The "deselect" function had to be wrapped with a vector because it takes
multiple arguments now. Flags like "isParticle" had to be defined to
eliminate compiler errors. Now it compiles, it only does not work in that
stage and produces a deadlock.
Start electron creation debugging

The code compiles but deadlocks the nodes, so let's do much out-commenting
and printing.
Creating electrons works - unsure about the number

Several corrections have been made so that now the creation of electrons
works. Still there seems to be a greater amount of electrons in the end
than should be possible with only 1 ionization per macro-ion.

Changes:
 -- correct position of infinite loop (after ionization)
 -- remove on if-statement because of redundance
 -- remove (0 <= electronId < particlesInSuperCell) and replace with valid exp.
 -- rename particlesInSuperCell with maxParticlesInFrame
 -- set maxParticlesInFrame as SuperCellSize::elements
 -- add electrons->fillAllGaps because that was missing
 -- change order of cloning (now 1) and setting momentum (now 2)
 -- move "isParticle" definition into loop over frames
Electron creation works correctly now

Before the number of electrons created was too large to be valid.
This was due to the erratic initialization of particles in MySimulation.hpp
in the Init() section.  Therefore in particlesInit.kernel where attributes
are initialized hard 'chargeState' has been added.
Make notation more transparent

I changed some names of classes, functions and variables to emphasize
the connection to physical objects and processes.
Transfer electron creation to external file

The electron creation mechanism is cloning attributes from the parent ion
into an electron and setting the rest of the attributes hard. This has
now been outsourced to a different file called ionizationMethods.hpp.
Fix includes in ionization.hpp

Includes have been adjusted to current picongpu dev branch.
This is still a preliminary version that has yet to be tested and will
most probably not work, yet!
Non-compiling version of merged branch

This commit is only for reinspection purposes to find the errors causing the
compile failures.
Fix all compile time errors - paramSet w/o ions

For an LWFA paramSet without activating ions there are now no compile time
errors anymore.  The code does not run so far though.  Missing includes
have been added and the strcture has been updated to the current dev.
Remove *.orig files

Removed the backup files created by the git mergetool.