36#ifndef G4SynchrotronRadiationInMat_h
37#define G4SynchrotronRadiationInMat_h 1
59 const G4String& processName =
"SynchrotronRadiation",
72 const G4Step& Step)
override;
106 static constexpr G4double fLambdaConst =
107 1.73205080756887729352 * CLHEP::electron_mass_c2 /
108 (2.5 * CLHEP::fine_structure_const * CLHEP::eplus * ::CLHEP::c_light);
111 static constexpr G4double fEnergyConst =
112 1.5 * CLHEP::c_light * CLHEP::c_light * CLHEP::eplus * CLHEP::hbar_Planck /
113 CLHEP::electron_mass_c2;
117 static const G4double fIntegralProbabilityOfSR[200];
129 G4double GammaCutInKineticEnergyNow;
130 G4double ElectronCutInKineticEnergyNow;
131 G4double PositronCutInKineticEnergyNow;
132 G4double ParticleCutInKineticEnergyNow;
G4double condition(const G4ErrorSymMatrix &m)
G4double GetEnergyProbSR(G4double)
G4VParticleChange * PostStepDoIt(const G4Track &track, const G4Step &Step) override
static G4double GetEnergyConst()
G4double GetMeanFreePath(const G4Track &track, G4double previousStepSize, G4ForceCondition *condition) override
void SetKsi(G4double ksi)
static G4double GetLambdaConst()
void SetRootNumber(G4int rn)
G4double GetAngleNumberAtGammaKsi(G4double)
G4SynchrotronRadiationInMat(const G4String &processName="SynchrotronRadiation", G4ProcessType type=fElectromagnetic)
void SetVerboseLevel(G4int v)
G4double GetRandomEnergySR(G4double, G4double)
G4SynchrotronRadiationInMat(const G4SynchrotronRadiationInMat &)=delete
G4double GetProbSpectrumSRforEnergy(G4double)
void SetPsiGamma(G4double psg)
G4double GetIntProbSR(G4double)
G4double GetIntegrandForAngleK(G4double)
G4double GetPhotonEnergy(const G4Track &trackData, const G4Step &stepData)
G4bool IsApplicable(const G4ParticleDefinition &) override
void SetOrderAngleK(G4double ord)
G4double GetAngleK(G4double)
~G4SynchrotronRadiationInMat()
G4SynchrotronRadiationInMat & operator=(const G4SynchrotronRadiationInMat &right)=delete
G4double GetProbSpectrumSRforInt(G4double)
void SetEta(G4double eta)