Cherenkov

Cherenkov radiation appears when a charged particle moves through a material faster than light propagates through that material. In GEMC, this requires three pieces:


Material setup

The material must define photonEnergy and indexOfRefraction with the same number of entries:

radiator = GMaterial("radiatorGas")
radiator.photonEnergy = "2.0*eV 3.0*eV 4.0*eV 5.0*eV"
radiator.indexOfRefraction = "1.0010 1.0011 1.0012 1.0013"
radiator.absorptionLength = "100*m 100*m 100*m 100*m"
radiator.publish(cfg)

The photonEnergy values are the interpolation axis for every optical table. Keep them strictly increasing and use the same number of values in every table attached to the material.


Physics list

Optical photons are produced only when the physics list includes G4OpticalPhysics:

phys_list: FTFP_BERT + G4OpticalPhysics

phys_list

The physics list can be selected using the option

gemc -phys_list <value>

where <value> can be a combination of the Geant4 physics constructors separated by the + sign. For example

gemc -phys_list="FTFP_BERT + G4NeutronCrossSectionXS"

To see a list of the available Geant4 constructors:

gemc -showPhysics


Photon detectors

Use gPhotonDetector on collection panels when the goal is to count optical photons rather than energy deposition:

panel.digitization = "gPhotonDetector"
panel.set_identifier("detector", 1)

gPhotonDetector records optical photons even when their energy deposition is zero, so recordZeroEdep is not required for this workflow.


Example

The Cherenkov example compares three radiator indices. A larger index of refraction produces a wider cone and a different hit pattern on the photon detector.

Left: lowIndexRadiator, center: mediumIndexRadiator, right: highIndexRadiator.