Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
|
#include <G4BaierKatkov.hh>
Definition at line 47 of file G4BaierKatkov.hh.
G4BaierKatkov::G4BaierKatkov | ( | ) |
Definition at line 35 of file G4BaierKatkov.cc.
|
default |
void G4BaierKatkov::AddStatisticsInPhotonEnergyRegion | ( | G4double | emin, |
G4double | emax, | ||
G4int | timesPhotonStatistics ) |
Increase the statistic of virtual photons in a certain energy region CAUTION! : don't do it before SetSpectrumEnergyRange or SetMinPhotonEnergy
Definition at line 148 of file G4BaierKatkov.cc.
G4bool G4BaierKatkov::DoRadiation | ( | G4double | etotal, |
G4double | mass, | ||
G4double | angleX, | ||
G4double | angleY, | ||
G4double | angleScatteringX, | ||
G4double | angleScatteringY, | ||
G4double | step, | ||
G4double | globalTime, | ||
G4ThreeVector | coordinateXYZ, | ||
G4bool | flagEndTrajectory = false ) |
add the new elements of the trajectory, calculate radiation in a crystal see complete description in G4BaierKatkov::DoRadiation calls RadIntegral and all the necessary functions sets the parameters of a photon produced (if any) using SetPhotonProductionParameters() returns true in the case of photon generation, false if not
DoRadiation description
The real trajectory is divided onto parts. Every part is accumulated until the radiation cannot be considered as single photon, i.e. the radiation probability exceeds some threshold fSinglePhotonRadiationProbabilityLimit. Typically fSinglePhotonRadiationProbabilityLimit should be between 0.01 and 0.1. Then the photon generation as well as its parameters are simulated in SetPhotonProductionParameters()
Finally if radiation took place, this function sets the new particle parameters (the parameters at the point of radiation emission) fNewParticleEnergy; fNewParticleAngleX; fNewParticleAngleY; NewStep; fNewGlobalTime; fNewParticleCoordinateXYZ;
In order to control if the trajectory part reaches this limit, one needs to divide it into smaller pieces (consisting of fNSmallTrajectorySteps elements, typically several hundred) and to calculate the total radiation probability along the trajectory part after each small piece accomplished. If it exceeds the fSinglePhotonRadiationProbabilityLimit, the trajectory part is over and the radiation can be generated.
In order to calculate the radiation probability the Baier-Katkov integral is called after each small piece of the trajectory. It is summarized with the integral along the previous small pieces for this part of the trajectory.
To speed-up the simulations, the photon angles are generated only once at the start of the trajectory part.
Definition at line 648 of file G4BaierKatkov.cc.
Referenced by G4ChannelingFastSimModel::DoIt().
void G4BaierKatkov::GeneratePhoton | ( | G4FastStep & | fastStep | ) |
generates secondary photon belonging to fastStep with variables photon energy, momentum direction, coordinates and global time CALCULATED IN DoRadiation => USE IT ONLY AFTER DoRadiation returns true
Definition at line 756 of file G4BaierKatkov.cc.
Referenced by G4ChannelingFastSimModel::DoIt().
|
inline |
Definition at line 98 of file G4BaierKatkov.hh.
Referenced by G4ChannelingFastSimModel::DoIt().
|
inline |
Definition at line 96 of file G4BaierKatkov.hh.
Referenced by G4ChannelingFastSimModel::DoIt().
|
inline |
Definition at line 97 of file G4BaierKatkov.hh.
Referenced by G4ChannelingFastSimModel::DoIt().
|
inline |
Definition at line 99 of file G4BaierKatkov.hh.
Referenced by G4ChannelingFastSimModel::DoIt().
|
inline |
get new parameters of the particle (the parameters at the point of radiation emission) needs calculation of DoRadiation first
Definition at line 95 of file G4BaierKatkov.hh.
Referenced by G4ChannelingFastSimModel::DoIt().
|
inline |
get photon energies (x-value in spectrum)
Definition at line 102 of file G4BaierKatkov.hh.
|
inline |
get functions
You may call DoRadiation at each step of your trajectory CAUTION: please ensure that your steps are physically small enough for calculation of the radiation type you are interested in CAUTION: do ResetRadIntegral() before the start of a new trajectory
1) change some model defaults if necessary (SetSinglePhotonRadiationProbabilityLimit, SetNSmallTrajectorySteps, SetSpectrumEnergyRange) 2) call DoRadiation at each step of your trajectory 3) if DoRadiation returns TRUE, this means that a photon is produced (not added as a secondary yet) and its parameters are calculated. 4) You may generate a new photon using GeneratePhoton either with the parameters calculated in DoRadiation or your own parameters. CAUTION: By now GeneratePhoton works only for a FastSim model 5) Use GetPhotonEnergyInSpectrum() and GetTotalSpectrum() to return calculated total spectrum (all the photons altogether) Caution: is not normalized on the event number 6) Get the charged particle parameters in the radiation point: GetParticleNewTotalEnergy(), GetParticleNewAngleX(), GetParticleNewAngleY(), GetNewGlobalTime(), GetParticleNewCoordinateXYZ() get maximal radiation probability to preserve single photon radiation
Definition at line 84 of file G4BaierKatkov.hh.
|
inline |
total probability of radiation: needs calculation of DoRadiation first
CAUTION! : use the get functions below ONLY AFTER the call of DoRadiation and ONLY IF IT RETURNS true
Definition at line 91 of file G4BaierKatkov.hh.
|
inline |
get fTotalSpectrum after finishing the trajectory part with DoRadiation
Definition at line 106 of file G4BaierKatkov.hh.
void G4BaierKatkov::ResetRadIntegral | ( | ) |
reinitialize intermediate integrals fFa, fSs, fSc, fSsx, fSsy, fScx, fScy; reset radiation integral internal variables to defaults; reset the trajectory and radiation probability along the trajectory
Definition at line 52 of file G4BaierKatkov.cc.
Referenced by G4ChannelingFastSimModel::DoIt(), DoRadiation(), and SetSpectrumEnergyRange().
|
inline |
Definition at line 145 of file G4BaierKatkov.hh.
|
inline |
SetSpectrumEnergyRange also calls ResetRadIntegral()
Definition at line 142 of file G4BaierKatkov.hh.
|
inline |
Definition at line 148 of file G4BaierKatkov.hh.
|
inline |
number of steps in a trajectory small piece before the next call of the radiation integral
Definition at line 116 of file G4BaierKatkov.hh.
|
inline |
setting the number of radiation angles 1/gamma, defining the width of the angular distribution of photon sampling in the Baier-Katkov Integral
Definition at line 130 of file G4BaierKatkov.hh.
|
inline |
setting the number of photons in sampling of Baier-Katkov Integral (MC integration by photon energy and angles <=> photon momentum)
Definition at line 126 of file G4BaierKatkov.hh.
|
inline |
set functions
set maximal radiation probability to preserve single photon radiation
Definition at line 111 of file G4BaierKatkov.hh.
CAUTION, the bins width is logarithmic Do not worry if the maximal energy > particle energy. This elements of spectrum with non-physical energies will not be processed (they will be 0).
Definition at line 106 of file G4BaierKatkov.cc.
Referenced by G4BaierKatkov(), SetMaxPhotonEnergy(), SetMinPhotonEnergy(), and SetNBinsSpectrum().
|
inline |
Virtual collimator masks the selection of photon angles in fTotalSpectrum Virtual collimator doesn't influence on Geant4 simulations.
Definition at line 159 of file G4BaierKatkov.hh.