# Exotic Physics¶

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).

## Physics¶

For a more complete description and understanding the user is referred to the extended examples category “exoticphysics” and the references therein.

## Material¶

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.

## Geometry¶

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.