Back to home page

EIC code displayed by LXR

 
 

    


Warning, /geant4/examples/extended/exoticphysics/phonon/README.md is written in an unsupported language. File is not indexed.

0001 \page Examplephonon Example phonon
0002 
0003 \author Daniel Brandt - SLAC \n
0004  dbrandt@slac.stanford.edu
0005 
0006 This example demonstrates how phonon propagation in cryogenic crystals
0007 can be simulated in Geant4.
0008 
0009 ## INTRODUCTION
0010 
0011 Phonon propagation is different from most other Geant4 propagation
0012 simulations in a number of respects:
0013 
0014 - Phonons are massless particles moving slower than the speed of light
0015 
0016 - Phonon propagation and momentum vectors are not parallel
0017 
0018 - Events isotropic in phonon-momentum space are not isotropic in real
0019  space.
0020 
0021 This example will simulate the propagation of acoustic phonons through
0022 a Germanium crystal, providing processes to simulate phonon scattering
0023 of isotopic impurities, mode mixing between polarization states and
0024 anharmonic downconversion (phonon splitting). As such it provides all
0025 the physics required to realistically simulate phonon propagation in
0026 cryogenically cold semiconductor crystals.
0027 
0028 ## GEOMETRY
0029 
0030 In this example the geometry is a cylindrical Germanium crystal
0031 centered at (0,0,0) with Almuninium end caps. Phonons absorbed in the
0032 Al end caps are counted by the sensitive detector.
0033 
0034 ## PRIMARY EVENT
0035 
0036 The primary event is a single phonon of energy 7.5 meV at the center of
0037 the Ge crystal. The polarization type (fast transvere, slow transverse or
0038 longitudinal) is determined randomly according to the density of states
0039 in Germanium. The direction of propagation is than determined by by the
0040 User Stacking Action class XPhononStackingAction.
0041 
0042 ## EXECUTION & OUTPUT
0043 
0044 The executable must be run from within the source directory of the example
0045 to ensure that it can find the path for crystal data files.
0046 Alternatively the search path for the crystal maps can be set in the
0047 setting the G4LATTICEDATA environment variable. If this variable does not
0048 exist, it defaults to ./CrystalMaps.
0049 
0050 Data files for each crystal material are stored in a named subdirectory
0051 under $G4LATTICEDATA/, along with a config.txt file which specifies the
0052 numerical constants for the lattice.  This example includes germanium [111]
0053 in CrystalMaps/Ge/.
0054 
0055 Upon execution, the vis.mac visualization macro will automatically be
0056 executed. For the visualization to work, OpenGL support must be installed.
0057 The macro will automatically generate a single Primary Event (7.5 meV phonon)
0058 at the center of the crystal.
0059 
0060 The trajectory colour will indicate the polarization state of the phonon:
0061 - Longitudinal:    blue
0062 - Fast Transverse: green
0063 - Slow Transverse: red
0064 
0065 A small circle will be drawn wherever a phonon is absorbed into the 
0066 Aluminium. All events within the Aluminium are written into plain-text
0067 space-sparated-value (ssv) files:
0068 
0069 ### timing.ssv
0070 
0071 - COLUMN 1: Time phonon was absorbed in ns since start of run
0072 - COLUMN 2: Energy of phonon absorbed
0073 
0074 ### tcaustic.ssv
0075 
0076 - COLUMN 1: x-position of absobrtion in mm
0077 - COLUMN 2: y-position of absobrtion in mm
0078 - COLUMN 3: z-position of absobrtion in mm
0079 
0080 Every time a phonon is simulated, the information is appended to timing.ssv
0081 and caustic.ssv. If the files do not exist they will be created.
0082 
0083 ## TESTING
0084 
0085 In order to test the example, it can be run as
0086 ```
0087 ./XGeBox run.in > test.out
0088 ```
0089 
0090 This will create a single primary event and then cause the example to
0091 terminate automatically, with all screen output redirected to test.out.
0092 
0093 If all went well, test.out should be identical to run.out provided with
0094 this example. Also, the files caustic.ssv and timing.ssv should have been 
0095 created and be identical to caustic.out and timing.out respectively.
0096 
0097 After the first time the example runs, it will append to caustic.ssv and
0098 timing.ssv. If the testing should be re-run, then caustic.ssv and timing.ssv
0099 will have to be deleted.