The Geant4 toolkit has recently been extended to include "exotic physics". This covers the area of phonon propagation and crystal channelling. These two domains are applicable for Dark Matter experiments (phonon excitation) and beam extraction and collimation (crystal channelling). The framework within Geant4 is similar in that a macroscopic periodic crystal lattice is required for both and wave functions are propagated within the medium (rather than discrete particles as in the case of conventional Geant4). Contained here is a brief description of how to modify a Geant4 application to include the crystal as both a material and a geometry (plane orientations).
For a more complete description and understanding the user is referred to the extended examples category "exoticphysics" and the references therein.
The implementation of solid-state processes in Geant4 requires the addition of two important features, the crystal unit cell
with all its parameters and the support for other data required by the processes. The extended data for a material is stored
in a class derived from the virtual class G4VMaterialExtension
. The G4ExtenededMaterial
class collects the
pointers to concrete instances of G4VMaterialExtension
.
The G4CrystalExtension
class is a derived class of G4VMaterialExtension
and collects information on the
physics properties of a perfect crystal. In particular, the class contains a pointer to a G4CrystalUnitCell
object,
the elasticity tensor, a map of G4CrystalAtomBase
objects associated with a G4Element
and a vector of
G4AtomicBond
.
The G4CrystalUnitCell
class collects information on the mathematical description of the crystal unit cell, i.e. the
sizes and the angles of the unit cell, the space group, the Bravais lattice and the lattice system, and methods for the
calculation of the volume in the direct and reciprocal space, the spacing between two planes, the angle between two planes,
and for the filling of the reduced elasticity tensor. The G4CrystalExtension
constructor takes as argument a pointer
to a G4Material
object and has to be registered to the G4ExtendedMaterial
to which it is attached.
The G4CrystalAtomBase
class stores the position of atoms in the crystal unit cell. Since the
G4CrystalAtomBase
class is mapped to a G4Element
in the G4CrystalMaterial
, each G4Element
should have an associated G4CrystalAtomBase
.
The G4AtomicBond
class contains information on the atomic bond in the crystal. For each instance of the class two
G4Elements
have to be specified as well as the atom number in the G4CrystalAtomBase
associated to the
G4Element
.
The G4LogicalCrystalVolume
accepts only a pointer to a G4CrystalExtension
in its constructor and stores the
definition of the orientation of the crystalline structure with respect to the solid to which it is attached. By convention,
the crystal < 100 > direction is by default set parallel to the ${[1,0,0]}$ direction in the Geant4 reference
system, and the < 010 > axis lays on the plane which contains the [1,0,0] and [0,1,0] directions in
the Geant4 reference system.